diff --git a/404.html b/404.html index ff9cca3..5661a8f 100644 --- a/404.html +++ b/404.html @@ -3,9 +3,15 @@ -Status Network Documentation - - +Status Network Documentation + + + + + + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/js/079c9a32.3b8099f6.js b/assets/js/079c9a32.3b8099f6.js deleted file mode 100644 index 9e3e2db..0000000 --- a/assets/js/079c9a32.3b8099f6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[13],{264:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>k});var o=n(4848),r=n(8453);const s={},a="KARMA token",i={id:"tokenomics/karma-token",title:"KARMA token",description:"",source:"@site/docs/tokenomics/karma-token.md",sourceDirName:"tokenomics",slug:"/tokenomics/karma-token",permalink:"/tokenomics/karma-token",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tokenomics/karma-token.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc8e SNT Token",permalink:"/tokenomics/snt-token"},next:{title:"\ud83c\udf10 Network Details",permalink:"/general-info/network-details"}},c={},k=[];function u(t){const e={h1:"h1",header:"header",...(0,r.R)(),...t.components};return(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"karma-token",children:"KARMA token"})})}function m(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>a,x:()=>i});var o=n(6540);const r={},s=o.createContext(r);function a(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:a(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/079c9a32.c2a58b39.js b/assets/js/079c9a32.c2a58b39.js new file mode 100644 index 0000000..a3f0996 --- /dev/null +++ b/assets/js/079c9a32.c2a58b39.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[13],{264:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>k});var o=n(4848),s=n(8453);const r={},a="KARMA token",c={id:"tokenomics/karma-token",title:"KARMA token",description:"",source:"@site/docs/tokenomics/karma-token.md",sourceDirName:"tokenomics",slug:"/tokenomics/karma-token",permalink:"/tokenomics/karma-token",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tokenomics/karma-token.md",tags:[],version:"current",lastUpdatedAt:1738953496e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc8e SNT Token",permalink:"/tokenomics/snt-token"},next:{title:"\ud83c\udf10 Network Details",permalink:"/general-info/network-details"}},i={},k=[];function u(t){const e={h1:"h1",header:"header",...(0,s.R)(),...t.components};return(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"karma-token",children:"KARMA token"})})}function d(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>a,x:()=>c});var o=n(6540);const s={},r=o.createContext(s);function a(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:a(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f8cca8e.e4aea885.js b/assets/js/0f8cca8e.e4aea885.js new file mode 100644 index 0000000..23a239f --- /dev/null +++ b/assets/js/0f8cca8e.e4aea885.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[219],{4204:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var n=i(4848),s=i(8453);const o={},r="Status Network - Website Terms of Use",a={id:"terms-of-use",title:"Status Network - Website Terms of Use",description:"Last updated: 29 January 2025",source:"@site/docs/terms-of-use.md",sourceDirName:".",slug:"/terms-of-use",permalink:"/terms-of-use",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/terms-of-use.md",tags:[],version:"current",lastUpdatedAt:1738999679e3,frontMatter:{}},l={},d=[{value:"Who we are",id:"who-we-are",level:2},{value:"Disclaimers",id:"disclaimers",level:2},{value:"Forward looking statements",id:"forward-looking-statements",level:2},{value:"Intellectual property rights",id:"intellectual-property-rights",level:2},{value:"Third party website links",id:"third-party-website-links",level:2},{value:"Limitation of liability",id:"limitation-of-liability",level:2},{value:"Indemnity",id:"indemnity",level:2},{value:"Modifications",id:"modifications",level:2},{value:"Governing law",id:"governing-law",level:2},{value:"Disputes",id:"disputes",level:2},{value:"About these Website Terms of Use",id:"about-these-website-terms-of-use",level:2}];function h(e){const t={a:"a",em:"em",h1:"h1",h2:"h2",header:"header",hr:"hr",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"status-network---website-terms-of-use",children:"Status Network - Website Terms of Use"})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"Last updated: 29 January 2025"})}),"\n",(0,n.jsx)(t.p,{children:'These website terms of use ("Website Terms of Use") are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website.'}),"\n",(0,n.jsx)(t.p,{children:"It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use."}),"\n",(0,n.jsx)(t.p,{children:"If you do not agree with these Website Terms of Use, you must not access or use the Website."}),"\n",(0,n.jsx)(t.h2,{id:"who-we-are",children:"Who we are"}),"\n",(0,n.jsx)(t.p,{children:'For the purposes of these Website Terms of Use, the relevant entity is the Status Research & Development GmbH, a Swiss company with its registered office at Baarerstrasse 10, Zug, Switzerland, and includes its "representatives", which means Status\' affiliates, directors, officers, employees, agents and any other representatives of Status.'}),"\n",(0,n.jsx)(t.p,{children:'For the purposes of these terms, "representatives" also includes Status core contributors without prejudice to the other legal categories mentioned. Our contact information can be found at the end of the Website Terms of Use.'}),"\n",(0,n.jsx)(t.p,{children:'Whenever we refer to "Status", "we", "us" or any other similar references, we are referring to Status Research & Development GmbH.'}),"\n",(0,n.jsx)(t.h2,{id:"disclaimers",children:"Disclaimers"}),"\n",(0,n.jsx)(t.p,{children:"The Website is provided by us on an 'as is' basis and you use the Website at your own sole discretion and risk."}),"\n",(0,n.jsx)(t.p,{children:"We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site. These disclaimers will apply to the maximum extent permitted by applicable law."}),"\n",(0,n.jsx)(t.p,{children:"We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws."}),"\n",(0,n.jsx)(t.p,{children:"The content herein or as accessible through the Website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein."}),"\n",(0,n.jsx)(t.p,{children:"The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such."}),"\n",(0,n.jsx)(t.h2,{id:"forward-looking-statements",children:"Forward looking statements"}),"\n",(0,n.jsx)(t.p,{children:"The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general."}),"\n",(0,n.jsx)(t.p,{children:"The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what's presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website."}),"\n",(0,n.jsx)(t.p,{children:"To the extent tokens are referenced on this Website, we note that they have not been registered under any securities laws and must not be offered or sold in any jurisdiction where such offer or sale would be prohibited. The information contained on this Website does not constitute a prospectus, nor an offer to buy, a solicitation or an invitation to buy, or a recommendation for any token or any security."}),"\n",(0,n.jsx)(t.p,{children:"While we aim to update the Website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion."}),"\n",(0,n.jsx)(t.h2,{id:"intellectual-property-rights",children:"Intellectual property rights"}),"\n",(0,n.jsx)(t.p,{children:"Unless indicated otherwise, the Website, its materials and functionality (including but not limited to information, text, images, the design, selection and arrangement thereof) are owned by Status, its licensors or other providers of such materials and are protected by copyright, trademark or any other intellectual property or proprietary rights laws."}),"\n",(0,n.jsx)(t.h2,{id:"third-party-website-links",children:"Third party website links"}),"\n",(0,n.jsx)(t.p,{children:"To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, we do not represent or imply that we endorse or support such third party websites or content therein, or that we believe such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites."}),"\n",(0,n.jsx)(t.h2,{id:"limitation-of-liability",children:"Limitation of liability"}),"\n",(0,n.jsx)(t.p,{children:"We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law."}),"\n",(0,n.jsx)(t.h2,{id:"indemnity",children:"Indemnity"}),"\n",(0,n.jsx)(t.p,{children:"You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys' fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use."}),"\n",(0,n.jsx)(t.h2,{id:"modifications",children:"Modifications"}),"\n",(0,n.jsx)(t.p,{children:"We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website."}),"\n",(0,n.jsx)(t.h2,{id:"governing-law",children:"Governing law"}),"\n",(0,n.jsx)(t.p,{children:"Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions."}),"\n",(0,n.jsx)(t.h2,{id:"disputes",children:"Disputes"}),"\n",(0,n.jsx)(t.p,{children:'In these terms, "dispute" has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website.'}),"\n",(0,n.jsx)(t.p,{children:"We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions."}),"\n",(0,n.jsx)(t.p,{children:"If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking."}),"\n",(0,n.jsx)(t.p,{children:"If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers' Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration."}),"\n",(0,n.jsx)(t.p,{children:"Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us."}),"\n",(0,n.jsx)(t.h2,{id:"about-these-website-terms-of-use",children:"About these Website Terms of Use"}),"\n",(0,n.jsx)(t.p,{children:"These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website."}),"\n",(0,n.jsx)(t.p,{children:"The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use."}),"\n",(0,n.jsx)(t.p,{children:"If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them."}),"\n",(0,n.jsxs)(t.p,{children:["If you have any specific questions about these Website Terms of Use, please contact us at ",(0,n.jsx)(t.a,{href:"mailto:legal@status.im",children:"legal@status.im"}),"."]}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"This document is licensed under CC-BY-SA."})})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>a});var n=i(6540);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f8cca8e.f5a09508.js b/assets/js/0f8cca8e.f5a09508.js deleted file mode 100644 index 93a2b14..0000000 --- a/assets/js/0f8cca8e.f5a09508.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[219],{4204:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>a,toc:()=>h});var n=i(4848),s=i(8453);const o={},r="Status Network - Website Terms of Use",a={id:"terms-of-use",title:"Status Network - Website Terms of Use",description:"Last updated: 29 January 2025",source:"@site/docs/terms-of-use.md",sourceDirName:".",slug:"/terms-of-use",permalink:"/terms-of-use",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/terms-of-use.md",tags:[],version:"current",frontMatter:{}},l={},h=[{value:"Who we are",id:"who-we-are",level:2},{value:"Disclaimers",id:"disclaimers",level:2},{value:"Forward looking statements",id:"forward-looking-statements",level:2},{value:"Intellectual property rights",id:"intellectual-property-rights",level:2},{value:"Third party website links",id:"third-party-website-links",level:2},{value:"Limitation of liability",id:"limitation-of-liability",level:2},{value:"Indemnity",id:"indemnity",level:2},{value:"Modifications",id:"modifications",level:2},{value:"Governing law",id:"governing-law",level:2},{value:"Disputes",id:"disputes",level:2},{value:"About these Website Terms of Use",id:"about-these-website-terms-of-use",level:2}];function d(e){const t={a:"a",em:"em",h1:"h1",h2:"h2",header:"header",hr:"hr",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"status-network---website-terms-of-use",children:"Status Network - Website Terms of Use"})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"Last updated: 29 January 2025"})}),"\n",(0,n.jsx)(t.p,{children:'These website terms of use ("Website Terms of Use") are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website.'}),"\n",(0,n.jsx)(t.p,{children:"It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use."}),"\n",(0,n.jsx)(t.p,{children:"If you do not agree with these Website Terms of Use, you must not access or use the Website."}),"\n",(0,n.jsx)(t.h2,{id:"who-we-are",children:"Who we are"}),"\n",(0,n.jsx)(t.p,{children:'For the purposes of these Website Terms of Use, the relevant entity is the Status Research & Development GmbH, a Swiss company with its registered office at Baarerstrasse 10, Zug, Switzerland, and includes its "representatives", which means Status\' affiliates, directors, officers, employees, agents and any other representatives of Status.'}),"\n",(0,n.jsx)(t.p,{children:'For the purposes of these terms, "representatives" also includes Status core contributors without prejudice to the other legal categories mentioned. Our contact information can be found at the end of the Website Terms of Use.'}),"\n",(0,n.jsx)(t.p,{children:'Whenever we refer to "Status", "we", "us" or any other similar references, we are referring to Status Research & Development GmbH.'}),"\n",(0,n.jsx)(t.h2,{id:"disclaimers",children:"Disclaimers"}),"\n",(0,n.jsx)(t.p,{children:"The Website is provided by us on an 'as is' basis and you use the Website at your own sole discretion and risk."}),"\n",(0,n.jsx)(t.p,{children:"We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site. These disclaimers will apply to the maximum extent permitted by applicable law."}),"\n",(0,n.jsx)(t.p,{children:"We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws."}),"\n",(0,n.jsx)(t.p,{children:"The content herein or as accessible through the Website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein."}),"\n",(0,n.jsx)(t.p,{children:"The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such."}),"\n",(0,n.jsx)(t.h2,{id:"forward-looking-statements",children:"Forward looking statements"}),"\n",(0,n.jsx)(t.p,{children:"The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general."}),"\n",(0,n.jsx)(t.p,{children:"The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what's presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website."}),"\n",(0,n.jsx)(t.p,{children:"To the extent tokens are referenced on this Website, we note that they have not been registered under any securities laws and must not be offered or sold in any jurisdiction where such offer or sale would be prohibited. The information contained on this Website does not constitute a prospectus, nor an offer to buy, a solicitation or an invitation to buy, or a recommendation for any token or any security."}),"\n",(0,n.jsx)(t.p,{children:"While we aim to update the Website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion."}),"\n",(0,n.jsx)(t.h2,{id:"intellectual-property-rights",children:"Intellectual property rights"}),"\n",(0,n.jsx)(t.p,{children:"Unless indicated otherwise, the Website, its materials and functionality (including but not limited to information, text, images, the design, selection and arrangement thereof) are owned by Status, its licensors or other providers of such materials and are protected by copyright, trademark or any other intellectual property or proprietary rights laws."}),"\n",(0,n.jsx)(t.h2,{id:"third-party-website-links",children:"Third party website links"}),"\n",(0,n.jsx)(t.p,{children:"To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, we do not represent or imply that we endorse or support such third party websites or content therein, or that we believe such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites."}),"\n",(0,n.jsx)(t.h2,{id:"limitation-of-liability",children:"Limitation of liability"}),"\n",(0,n.jsx)(t.p,{children:"We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law."}),"\n",(0,n.jsx)(t.h2,{id:"indemnity",children:"Indemnity"}),"\n",(0,n.jsx)(t.p,{children:"You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys' fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use."}),"\n",(0,n.jsx)(t.h2,{id:"modifications",children:"Modifications"}),"\n",(0,n.jsx)(t.p,{children:"We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website."}),"\n",(0,n.jsx)(t.h2,{id:"governing-law",children:"Governing law"}),"\n",(0,n.jsx)(t.p,{children:"Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions."}),"\n",(0,n.jsx)(t.h2,{id:"disputes",children:"Disputes"}),"\n",(0,n.jsx)(t.p,{children:'In these terms, "dispute" has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website.'}),"\n",(0,n.jsx)(t.p,{children:"We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions."}),"\n",(0,n.jsx)(t.p,{children:"If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking."}),"\n",(0,n.jsx)(t.p,{children:"If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers' Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration."}),"\n",(0,n.jsx)(t.p,{children:"Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us."}),"\n",(0,n.jsx)(t.h2,{id:"about-these-website-terms-of-use",children:"About these Website Terms of Use"}),"\n",(0,n.jsx)(t.p,{children:"These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website."}),"\n",(0,n.jsx)(t.p,{children:"The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use."}),"\n",(0,n.jsx)(t.p,{children:"If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them."}),"\n",(0,n.jsxs)(t.p,{children:["If you have any specific questions about these Website Terms of Use, please contact us at ",(0,n.jsx)(t.a,{href:"mailto:legal@status.im",children:"legal@status.im"}),"."]}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"This document is licensed under CC-BY-SA."})})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>a});var n=i(6540);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1d080eba.825d954d.js b/assets/js/1d080eba.825d954d.js deleted file mode 100644 index bc6e734..0000000 --- a/assets/js/1d080eba.825d954d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[30],{3370:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>a,frontMatter:()=>l,metadata:()=>o,toc:()=>h});var s=t(4848),r=t(8453);const l={},i="Add Status Network",o={id:"general-info/add-status-network",title:"Add Status Network",description:"This guide shows how to add the Status Network to your wallet.",source:"@site/docs/general-info/add-status-network.md",sourceDirName:"general-info",slug:"/general-info/add-status-network",permalink:"/general-info/add-status-network",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/general-info/add-status-network.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udf10 Network Details",permalink:"/general-info/network-details"},next:{title:"\ud83d\udcb0 Tokens",permalink:"/general-info/contract-addresses/tokens"}},d={},h=[{value:"Testnet",id:"testnet",level:2},{value:"Mobile Wallets",id:"mobile-wallets",level:2},{value:"Adding Status Network to MetaMask Mobile",id:"adding-status-network-to-metamask-mobile",level:3},{value:"Additional Information",id:"additional-information",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"add-status-network",children:"Add Status Network"})}),"\n",(0,s.jsxs)(n.p,{children:["This guide shows how to add the ",(0,s.jsx)(n.strong,{children:"Status Network"})," to your wallet."]}),"\n",(0,s.jsx)(n.h2,{id:"testnet",children:"Testnet"}),"\n",(0,s.jsxs)(n.p,{children:["To add ",(0,s.jsx)(n.strong,{children:"Status Network Testnet"})," as a custom network to MetaMask:"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Open MetaMask"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Click on the MetaMask extension icon in your browser to open it."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Access the Network Settings"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Click on the network selection dropdown at the top of the MetaMask window."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Add a New Network"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Click on ",(0,s.jsx)(n.strong,{children:'"Add network"'}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["In the new window, click on ",(0,s.jsx)(n.strong,{children:'"Add a network manually"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Enter Network Details"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Fill in the following information:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Value"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Network Name"})}),(0,s.jsx)(n.td,{children:"Status Network Testnet"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"RPC URL"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"https://public.sepolia.rpc.status.network",children:"https://public.sepolia.rpc.status.network"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Chain ID"})}),(0,s.jsx)(n.td,{children:"1660990954"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Currency Symbol"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"ETH"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Block Explorer URL"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"https://sepoliascan.status.network",children:"https://sepoliascan.status.network"})})]})]})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Save the Network"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:'"Save"'})," to add the Status Network Testnet to your MetaMask wallet."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"You should now be able to connect to the Status Network Testnet by selecting it from the network dropdown menu."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h2,{id:"mobile-wallets",children:"Mobile Wallets"}),"\n",(0,s.jsx)(n.h3,{id:"adding-status-network-to-metamask-mobile",children:"Adding Status Network to MetaMask Mobile"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Open MetaMask Mobile App"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Launch the MetaMask app on your mobile device."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Access Settings"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Tap on the hamburger menu (three horizontal lines) in the top left corner."}),"\n",(0,s.jsxs)(n.li,{children:["Select ",(0,s.jsx)(n.strong,{children:'"Settings"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Add a New Network"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Tap on ",(0,s.jsx)(n.strong,{children:'"Networks"'}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Tap on ",(0,s.jsx)(n.strong,{children:'"Add Network"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Enter Network Details"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Input the same network details as mentioned above for Testnet."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Save the Network"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Tap ",(0,s.jsx)(n.strong,{children:'"Add"'})," to save the new network."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h2,{id:"additional-information",children:"Additional Information"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Official Links"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://status.network/",children:"Status Network Website"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://docs.status.network/",children:"Status Network Documentation"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://sepoliascan.status.network",children:"Status Network Testnet Explorer"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Need Help?"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["If you encounter any issues, please join our ",(0,s.jsx)(n.a,{href:"https://t.me",children:"Telegram"})," for support."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:"By following this guide, you've successfully added the Status Network to your MetaMask wallet!"})]})}function a(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var s=t(6540);const r={},l=s.createContext(r);function i(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1d080eba.ccdfbb75.js b/assets/js/1d080eba.ccdfbb75.js new file mode 100644 index 0000000..a6a3c72 --- /dev/null +++ b/assets/js/1d080eba.ccdfbb75.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[30],{3370:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>c});var s=n(4848),r=n(8453),i=n(9227);const o={title:"Add Status Network",description:"Step-by-step guide on how to add Status Network to MetaMask and other wallets. Learn how to configure network settings for both desktop and mobile wallets.",keywords:["Status Network","MetaMask setup","add network","wallet configuration","RPC settings","Chain ID","blockchain network setup"]},l="Add Status Network",d={id:"general-info/add-status-network",title:"Add Status Network",description:"Step-by-step guide on how to add Status Network to MetaMask and other wallets. Learn how to configure network settings for both desktop and mobile wallets.",source:"@site/docs/general-info/add-status-network.md",sourceDirName:"general-info",slug:"/general-info/add-status-network",permalink:"/general-info/add-status-network",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/general-info/add-status-network.md",tags:[],version:"current",lastUpdatedAt:1739201725e3,frontMatter:{title:"Add Status Network",description:"Step-by-step guide on how to add Status Network to MetaMask and other wallets. Learn how to configure network settings for both desktop and mobile wallets.",keywords:["Status Network","MetaMask setup","add network","wallet configuration","RPC settings","Chain ID","blockchain network setup"]},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udf10 Network Details",permalink:"/general-info/network-details"},next:{title:"\ud83d\udcb0 Tokens",permalink:"/general-info/contract-addresses/tokens"}},a={},c=[{value:"Manual Configuration",id:"manual-configuration",level:2},{value:"Mobile Wallets",id:"mobile-wallets",level:2},{value:"Adding Status Network to MetaMask Mobile",id:"adding-status-network-to-metamask-mobile",level:3},{value:"Additional Information",id:"additional-information",level:2}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"add-status-network",children:"Add Status Network"})}),"\n",(0,s.jsxs)(t.p,{children:["This guide shows how to add the ",(0,s.jsx)(t.strong,{children:"Status Network"})," to your wallet."]}),"\n",(0,s.jsx)(t.p,{children:"You can add Status Network Testnet directly by clicking on the button below:"}),"\n",(0,s.jsx)(i.A,{}),"\n",(0,s.jsx)(t.h2,{id:"manual-configuration",children:"Manual Configuration"}),"\n",(0,s.jsxs)(t.p,{children:["To add ",(0,s.jsx)(t.strong,{children:"Status Network Testnet"})," as a custom network to MetaMask:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Open MetaMask"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Click on the MetaMask extension icon in your browser to open it."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Access the Network Settings"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Click on the network selection dropdown at the top of the MetaMask window."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Add a New Network"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Click on ",(0,s.jsx)(t.strong,{children:'"Add network"'}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["In the new window, click on ",(0,s.jsx)(t.strong,{children:'"Add a network manually"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Enter Network Details"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Fill in the following information:"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Value"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Network Name"})}),(0,s.jsx)(t.td,{children:"Status Network Testnet"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"RPC URL"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"https://public.sepolia.rpc.status.network",children:"https://public.sepolia.rpc.status.network"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Chain ID"})}),(0,s.jsx)(t.td,{children:"1660990954"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Currency Symbol"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"ETH"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Block Explorer URL"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"https://sepoliascan.status.network"})})]})]})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Save the Network"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Click ",(0,s.jsx)(t.strong,{children:'"Save"'})," to add the Status Network Testnet to your MetaMask wallet."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"You should now be able to connect to the Status Network Testnet by selecting it from the network dropdown menu."}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"mobile-wallets",children:"Mobile Wallets"}),"\n",(0,s.jsx)(t.h3,{id:"adding-status-network-to-metamask-mobile",children:"Adding Status Network to MetaMask Mobile"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Open MetaMask Mobile App"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Launch the MetaMask app on your mobile device."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Access Settings"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Tap on the hamburger menu (three horizontal lines) in the top left corner."}),"\n",(0,s.jsxs)(t.li,{children:["Select ",(0,s.jsx)(t.strong,{children:'"Settings"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Add a New Network"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Tap on ",(0,s.jsx)(t.strong,{children:'"Networks"'}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["Tap on ",(0,s.jsx)(t.strong,{children:'"Add Network"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Enter Network Details"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Input the same network details as mentioned above for Testnet."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Save the Network"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Tap ",(0,s.jsx)(t.strong,{children:'"Add"'})," to save the new network."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"additional-information",children:"Additional Information"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Official Links"}),":"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://status.network/",children:"Status Network Website"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://docs.status.network/",children:"Status Network Documentation"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Testnet Explorer"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Need Help?"})}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["If you encounter any issues, please join our ",(0,s.jsx)(t.a,{href:"https://t.me",children:"Telegram"})," for support."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.p,{children:"By following this guide, you've successfully added the Status Network to your MetaMask wallet!"})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},9227:(e,t,n)=>{n.d(t,{A:()=>r});n(6540);var s=n(4848);function r(){return(0,s.jsxs)("button",{className:"button button--primary",onClick:async()=>{if("undefined"!=typeof window&&window.ethereum)try{await window.ethereum.request({method:"wallet_addEthereumChain",params:[{chainId:"0x6300B5EA",chainName:"Status Network Testnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://public.sepolia.rpc.status.network"],blockExplorerUrls:["https://sepoliascan.status.network"]}]})}catch(e){console.error(e),alert("Failed to add the network to MetaMask. Please try again.")}else alert("MetaMask is not installed. Please install MetaMask first.")},children:[(0,s.jsx)("img",{src:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg",alt:"MetaMask Fox",style:{width:"20px",height:"20px",marginRight:"8px",verticalAlign:"middle"}}),"Add Status Network Testnet"]})}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var s=n(6540);const r={},i=s.createContext(r);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.de0d9796.js b/assets/js/22dd74f7.de0d9796.js deleted file mode 100644 index 1d3584c..0000000 --- a/assets/js/22dd74f7.de0d9796.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[567],{5226:t=>{t.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"INTRODUCTION","collapsed":false,"items":[{"type":"link","label":"\ud83c\udfe0 Home","href":"/","docId":"index","unlisted":false},{"type":"link","label":"\u26a1 Quick Start","href":"/introduction/quick-start","docId":"introduction/quick-start","unlisted":false}],"collapsible":true},{"type":"category","label":"TOKENOMICS","collapsed":false,"items":[{"type":"link","label":"\ud83d\udc8e SNT Token","href":"/tokenomics/snt-token","docId":"tokenomics/snt-token","unlisted":false},{"type":"link","label":"\ud83d\udca0 Karma Token","href":"/tokenomics/karma-token","docId":"tokenomics/karma-token","unlisted":false}],"collapsible":true},{"type":"category","label":"GENERAL INFO","collapsed":false,"items":[{"type":"link","label":"\ud83c\udf10 Network Details","href":"/general-info/network-details","docId":"general-info/network-details","unlisted":false},{"type":"link","label":"\u2795 Add Status Network","href":"/general-info/add-status-network","docId":"general-info/add-status-network","unlisted":false},{"type":"category","label":"\ud83c\udfe1 Contract Addresses","collapsed":false,"items":[{"type":"link","label":"\ud83d\udcb0 Tokens","href":"/general-info/contract-addresses/tokens","docId":"general-info/contract-addresses/tokens","unlisted":false},{"type":"link","label":"\ud83e\uddea Testnet Contracts","href":"/general-info/contract-addresses/testnet-contracts","docId":"general-info/contract-addresses/testnet-contracts","unlisted":false}],"collapsible":true},{"type":"category","label":"\ud83c\udf09 Bridge","collapsed":false,"items":[{"type":"link","label":"\ud83e\uddea Bridging Testnet","href":"/general-info/bridge/bridging-testnet","docId":"general-info/bridge/bridging-testnet","unlisted":false}],"collapsible":true}],"collapsible":true},{"type":"category","label":"TOOLS","collapsed":false,"items":[{"type":"link","label":"\ud83d\udd0c RPC","href":"/tools/rpc","docId":"tools/rpc","unlisted":false},{"type":"link","label":"\ud83c\udf09 Bridge","href":"/tools/bridge","docId":"tools/bridge","unlisted":false},{"type":"link","label":"\ud83d\udeb0 Testnet Faucets","href":"/tools/testnet-faucets","docId":"tools/testnet-faucets","unlisted":false},{"type":"link","label":"\ud83d\udd0e Block Explorers","href":"/tools/block-explorers","docId":"tools/block-explorers","unlisted":false}],"collapsible":true},{"type":"category","label":"TUTORIALS","collapsed":false,"items":[{"type":"category","label":"\ud83d\ude80 Deploying a Smart Contract","collapsed":false,"items":[{"type":"link","label":"\ud83c\udfa9 Using Hardhat","href":"/tutorials/deploying-contracts/using-hardhat","docId":"tutorials/deploying-contracts/using-hardhat","unlisted":false},{"type":"link","label":"\u2692\ufe0f Using Foundry","href":"/tutorials/deploying-contracts/using-foundry","docId":"tutorials/deploying-contracts/using-foundry","unlisted":false},{"type":"link","label":"\ud83c\udf9b\ufe0f Using Remix","href":"/tutorials/deploying-contracts/using-remix","docId":"tutorials/deploying-contracts/using-remix","unlisted":false}],"collapsible":true}],"collapsible":true},{"type":"category","label":"OTHER DOCS","collapsed":false,"items":[{"type":"link","label":"\ud83d\udd17 Official Links","href":"/other/official-links","docId":"other/official-links","unlisted":false}],"collapsible":true}]},"docs":{"general-info/add-status-network":{"id":"general-info/add-status-network","title":"Add Status Network","description":"This guide shows how to add the Status Network to your wallet.","sidebar":"tutorialSidebar"},"general-info/bridge/bridging-testnet":{"id":"general-info/bridge/bridging-testnet","title":"Bridging to Status Network Testnet","description":"The Status Network bridge allows you to transfer tokens between Sepolia and Status Network testnet. The bridge is deployed at bridge.status.network.","sidebar":"tutorialSidebar"},"general-info/contract-addresses/testnet-contracts":{"id":"general-info/contract-addresses/testnet-contracts","title":"Testnet Contracts","description":"This page lists all the important contract addresses for the Status Network testnet infrastructure.","sidebar":"tutorialSidebar"},"general-info/contract-addresses/tokens":{"id":"general-info/contract-addresses/tokens","title":"Tokens","description":"For the most up-to-date list of supported tokens and their contract addresses on Status Network, please refer to our official Status Network Token List repository.","sidebar":"tutorialSidebar"},"general-info/network-details":{"id":"general-info/network-details","title":"Network Details","description":"Status Testnet","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Welcome to Status Network","description":"Start Building Today","sidebar":"tutorialSidebar"},"introduction/quick-start":{"id":"introduction/quick-start","title":"Quick Start","description":"In this section, we\'ll get you deploying a sample contract on Status Network Testnet in less than 10 minutes.","sidebar":"tutorialSidebar"},"other/official-links":{"id":"other/official-links","title":"Official Links","description":"This page contains all the official links for the Status Network ecosystem.","sidebar":"tutorialSidebar"},"privacy-policy":{"id":"privacy-policy","title":"Status Network - Website Privacy Policy","description":"Last updated: 29 January 2025"},"terms-of-use":{"id":"terms-of-use","title":"Status Network - Website Terms of Use","description":"Last updated: 29 January 2025"},"tokenomics/karma-token":{"id":"tokenomics/karma-token","title":"KARMA token","description":"","sidebar":"tutorialSidebar"},"tokenomics/snt-token":{"id":"tokenomics/snt-token","title":"SNT Token","description":"","sidebar":"tutorialSidebar"},"tools/block-explorers":{"id":"tools/block-explorers","title":"Status Network Testnet Explorer","description":"The Status Network block explorer is available at sepoliascan.status.network.","sidebar":"tutorialSidebar"},"tools/bridge":{"id":"tools/bridge","title":"Status Network Testnet Bridge","description":"The Status Network Testnet Bridge allows users to transfer tokens between Sepolia (Layer 1) and Status Network testnet (Layer 2). The bridge interface is available at bridge.status.network.","sidebar":"tutorialSidebar"},"tools/rpc":{"id":"tools/rpc","title":"RPC Endpoints","description":"The Status Network provides public RPC (Remote Procedure Call) endpoints that allow you to interact with the network.","sidebar":"tutorialSidebar"},"tools/testnet-faucets":{"id":"tools/testnet-faucets","title":"Testnet Faucets","description":"To get started on Status Network testnet, you\'ll need both Sepolia ETH and Status Network testnet ETH.","sidebar":"tutorialSidebar"},"tutorials/deploying-contracts/using-foundry":{"id":"tutorials/deploying-contracts/using-foundry","title":"Using Foundry to Deploy Smart Contracts","description":"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Foundry.","sidebar":"tutorialSidebar"},"tutorials/deploying-contracts/using-hardhat":{"id":"tutorials/deploying-contracts/using-hardhat","title":"Using Hardhat to Deploy Smart Contracts","description":"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Hardhat, Hardhat Ignition, and TypeScript.","sidebar":"tutorialSidebar"},"tutorials/deploying-contracts/using-remix":{"id":"tutorials/deploying-contracts/using-remix","title":"Using Remix to Deploy Smart Contracts","description":"This tutorial will guide you through deploying a smart contract on Status Network testnet using the Remix IDE. Remix is a browser-based IDE that\'s perfect for quick development and testing.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.ef28d688.js b/assets/js/22dd74f7.ef28d688.js new file mode 100644 index 0000000..e1ece17 --- /dev/null +++ b/assets/js/22dd74f7.ef28d688.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[567],{5226:t=>{t.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"INTRODUCTION","collapsed":false,"items":[{"type":"link","label":"\ud83c\udfe0 Home","href":"/","docId":"index","unlisted":false},{"type":"link","label":"\u26a1 Quick Start","href":"/introduction/quick-start","docId":"introduction/quick-start","unlisted":false}],"collapsible":true},{"type":"category","label":"TOKENOMICS","collapsed":false,"items":[{"type":"link","label":"\ud83d\udc8e SNT Token","href":"/tokenomics/snt-token","docId":"tokenomics/snt-token","unlisted":false},{"type":"link","label":"\ud83d\udca0 Karma Token","href":"/tokenomics/karma-token","docId":"tokenomics/karma-token","unlisted":false}],"collapsible":true},{"type":"category","label":"GENERAL INFO","collapsed":false,"items":[{"type":"link","label":"\ud83c\udf10 Network Details","href":"/general-info/network-details","docId":"general-info/network-details","unlisted":false},{"type":"link","label":"\u2795 Add Status Network","href":"/general-info/add-status-network","docId":"general-info/add-status-network","unlisted":false},{"type":"category","label":"\ud83c\udfe1 Contract Addresses","collapsed":false,"items":[{"type":"link","label":"\ud83d\udcb0 Tokens","href":"/general-info/contract-addresses/tokens","docId":"general-info/contract-addresses/tokens","unlisted":false},{"type":"link","label":"\ud83e\uddea Testnet Contracts","href":"/general-info/contract-addresses/testnet-contracts","docId":"general-info/contract-addresses/testnet-contracts","unlisted":false}],"collapsible":true},{"type":"category","label":"\ud83c\udf09 Bridge","collapsed":false,"items":[{"type":"link","label":"\ud83e\uddea Bridging Testnet","href":"/general-info/bridge/bridging-testnet","docId":"general-info/bridge/bridging-testnet","unlisted":false}],"collapsible":true}],"collapsible":true},{"type":"category","label":"TOOLS","collapsed":false,"items":[{"type":"link","label":"\ud83d\udd0c RPC","href":"/tools/rpc","docId":"tools/rpc","unlisted":false},{"type":"link","label":"\ud83c\udf09 Bridge","href":"/tools/bridge","docId":"tools/bridge","unlisted":false},{"type":"link","label":"\ud83d\udeb0 Testnet Faucets","href":"/tools/testnet-faucets","docId":"tools/testnet-faucets","unlisted":false},{"type":"link","label":"\ud83d\udd0e Block Explorers","href":"/tools/block-explorers","docId":"tools/block-explorers","unlisted":false}],"collapsible":true},{"type":"category","label":"TUTORIALS","collapsed":false,"items":[{"type":"category","label":"\ud83d\ude80 Deploying a Smart Contract","collapsed":false,"items":[{"type":"link","label":"\ud83c\udfa9 Using Hardhat","href":"/tutorials/deploying-contracts/using-hardhat","docId":"tutorials/deploying-contracts/using-hardhat","unlisted":false},{"type":"link","label":"\u2692\ufe0f Using Foundry","href":"/tutorials/deploying-contracts/using-foundry","docId":"tutorials/deploying-contracts/using-foundry","unlisted":false},{"type":"link","label":"\ud83c\udf9b\ufe0f Using Remix","href":"/tutorials/deploying-contracts/using-remix","docId":"tutorials/deploying-contracts/using-remix","unlisted":false}],"collapsible":true}],"collapsible":true},{"type":"category","label":"OTHER DOCS","collapsed":false,"items":[{"type":"link","label":"\ud83d\udd17 Official Links","href":"/other/official-links","docId":"other/official-links","unlisted":false}],"collapsible":true}]},"docs":{"general-info/add-status-network":{"id":"general-info/add-status-network","title":"Add Status Network","description":"Step-by-step guide on how to add Status Network to MetaMask and other wallets. Learn how to configure network settings for both desktop and mobile wallets.","sidebar":"tutorialSidebar"},"general-info/bridge/bridging-testnet":{"id":"general-info/bridge/bridging-testnet","title":"Bridging to Status Network Testnet","description":"Learn how to bridge tokens between Sepolia and Status Network testnet using the official Status Network bridge. Complete guide with prerequisites and step-by-step instructions.","sidebar":"tutorialSidebar"},"general-info/contract-addresses/testnet-contracts":{"id":"general-info/contract-addresses/testnet-contracts","title":"Testnet Contracts","description":"Comprehensive list of Status Network testnet contract addresses, including bridge contracts, core infrastructure, and L2 contracts with their purposes and links to block explorers.","sidebar":"tutorialSidebar"},"general-info/contract-addresses/tokens":{"id":"general-info/contract-addresses/tokens","title":"Tokens","description":"Official list of supported tokens and their contract addresses on Status Network, including both L1 and L2 token addresses and bridge mappings.","sidebar":"tutorialSidebar"},"general-info/network-details":{"id":"general-info/network-details","title":"Status Network Details & Configuration","description":"Official network details for Status Network testnet including RPC endpoints, Chain ID, and configuration information for wallets and development environments.","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Welcome to Status Network","description":"Status Network is a gasless Layer 2 blockchain network enabling seamless, fee-free decentralized applications. Start building with easy wallet setup, faucets, and deployment tools.","sidebar":"tutorialSidebar"},"introduction/quick-start":{"id":"introduction/quick-start","title":"Quick Start","description":"Get started with Status Network in under 10 minutes. Learn how to deploy your first smart contract using Remix IDE, get test ETH, and interact with the network.","sidebar":"tutorialSidebar"},"other/official-links":{"id":"other/official-links","title":"Official Links","description":"Complete directory of official Status Network resources, including main website, tools, development resources, and community links.","sidebar":"tutorialSidebar"},"privacy-policy":{"id":"privacy-policy","title":"Status Network - Website Privacy Policy","description":"Last updated: 29 January 2025"},"terms-of-use":{"id":"terms-of-use","title":"Status Network - Website Terms of Use","description":"Last updated: 29 January 2025"},"tokenomics/karma-token":{"id":"tokenomics/karma-token","title":"KARMA token","description":"","sidebar":"tutorialSidebar"},"tokenomics/snt-token":{"id":"tokenomics/snt-token","title":"SNT Token","description":"","sidebar":"tutorialSidebar"},"tools/block-explorers":{"id":"tools/block-explorers","title":"Status Network Block Explorer","description":"Learn how to use the Status Network block explorer to track transactions, verify smart contracts, and monitor network activity. Complete guide to explorer features and contract verification.","sidebar":"tutorialSidebar"},"tools/bridge":{"id":"tools/bridge","title":"Status Network Bridge","description":"Complete guide to using the Status Network bridge for transferring tokens between Sepolia and Status Network testnet. Learn about supported tokens, bridging process, and monitoring transactions.","sidebar":"tutorialSidebar"},"tools/rpc":{"id":"tools/rpc","title":"RPC Endpoints","description":"Official RPC endpoints for Status Network, including configuration guides for MetaMask and Web3 libraries. Learn about available methods, rate limits, and best practices.","sidebar":"tutorialSidebar"},"tools/testnet-faucets":{"id":"tools/testnet-faucets","title":"Testnet Faucets","description":"Get testnet ETH for Status Network development. Complete guide to obtaining test tokens through Status Network faucet and Sepolia faucets for bridging.","sidebar":"tutorialSidebar"},"tutorials/deploying-contracts/using-foundry":{"id":"tutorials/deploying-contracts/using-foundry","title":"Using Foundry with Status Network","description":"Comprehensive guide to deploying and testing smart contracts on Status Network using Foundry. Learn about project setup, deployment scripts, testing, and contract interaction using Cast.","sidebar":"tutorialSidebar"},"tutorials/deploying-contracts/using-hardhat":{"id":"tutorials/deploying-contracts/using-hardhat","title":"Using Hardhat with Status Network","description":"Step-by-step tutorial for deploying smart contracts on Status Network using Hardhat and TypeScript. Learn about project setup, configuration, and contract deployment.","sidebar":"tutorialSidebar"},"tutorials/deploying-contracts/using-remix":{"id":"tutorials/deploying-contracts/using-remix","title":"Using Remix with Status Network","description":"Learn how to deploy smart contracts on Status Network using Remix IDE. Beginner-friendly guide with step-by-step instructions for contract deployment and interaction.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/390b0396.57ad67bc.js b/assets/js/390b0396.57ad67bc.js new file mode 100644 index 0000000..318f294 --- /dev/null +++ b/assets/js/390b0396.57ad67bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[435],{6545:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var i=n(4848),r=n(8453);const s={title:"Using Remix with Status Network",description:"Learn how to deploy smart contracts on Status Network using Remix IDE. Beginner-friendly guide with step-by-step instructions for contract deployment and interaction.",keywords:["Remix IDE","smart contract deployment","Status Network development","blockchain tutorial","web3 development","solidity"]},o="Using Remix to Deploy Smart Contracts",l={id:"tutorials/deploying-contracts/using-remix",title:"Using Remix with Status Network",description:"Learn how to deploy smart contracts on Status Network using Remix IDE. Beginner-friendly guide with step-by-step instructions for contract deployment and interaction.",source:"@site/docs/tutorials/deploying-contracts/using-remix.md",sourceDirName:"tutorials/deploying-contracts",slug:"/tutorials/deploying-contracts/using-remix",permalink:"/tutorials/deploying-contracts/using-remix",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tutorials/deploying-contracts/using-remix.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Using Remix with Status Network",description:"Learn how to deploy smart contracts on Status Network using Remix IDE. Beginner-friendly guide with step-by-step instructions for contract deployment and interaction.",keywords:["Remix IDE","smart contract deployment","Status Network development","blockchain tutorial","web3 development","solidity"]},sidebar:"tutorialSidebar",previous:{title:"\u2692\ufe0f Using Foundry",permalink:"/tutorials/deploying-contracts/using-foundry"},next:{title:"\ud83d\udd17 Official Links",permalink:"/other/official-links"}},c={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Open Remix IDE",id:"1-open-remix-ide",level:3},{value:"2. Create a New File",id:"2-create-a-new-file",level:3},{value:"3. Write the Smart Contract",id:"3-write-the-smart-contract",level:3},{value:"4. Compile the Contract",id:"4-compile-the-contract",level:3},{value:"5. Deploy the Contract",id:"5-deploy-the-contract",level:3},{value:"6. Interact with Your Contract",id:"6-interact-with-your-contract",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Common Issues",id:"common-issues",level:3},{value:"Support",id:"support",level:2},{value:"Additional Resources",id:"additional-resources",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"using-remix-to-deploy-smart-contracts",children:"Using Remix to Deploy Smart Contracts"})}),"\n",(0,i.jsx)(t.p,{children:"This tutorial will guide you through deploying a smart contract on Status Network testnet using the Remix IDE. Remix is a browser-based IDE that's perfect for quick development and testing."}),"\n",(0,i.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsx)(t.p,{children:"Before you begin, ensure you have:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Web Browser"}),": A modern web browser like Chrome or Firefox"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"MetaMask"}),": Install the ",(0,i.jsx)(t.a,{href:"https://metamask.io",children:"MetaMask"})," browser extension"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Testnet ETH"}),": You'll need Status Network testnet ETH","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Get Status Network testnet ETH from our ",(0,i.jsx)(t.a,{href:"/tools/testnet-faucets",children:"Faucet"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Network Configuration"}),": Add Status Network testnet to MetaMask following our ",(0,i.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Network guide"})]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"steps",children:"Steps"}),"\n",(0,i.jsx)(t.h3,{id:"1-open-remix-ide",children:"1. Open Remix IDE"}),"\n",(0,i.jsxs)(t.p,{children:["Visit ",(0,i.jsx)(t.a,{href:"https://remix.ethereum.org",children:"remix.ethereum.org"})," in your browser."]}),"\n",(0,i.jsx)(t.h3,{id:"2-create-a-new-file",children:"2. Create a New File"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:'Click the "File Explorer" icon (first icon on the left sidebar)'}),"\n",(0,i.jsx)(t.li,{children:'Click the "+" button to create a new file'}),"\n",(0,i.jsxs)(t.li,{children:["Name it ",(0,i.jsx)(t.code,{children:"HelloWorld.sol"})]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"3-write-the-smart-contract",children:"3. Write the Smart Contract"}),"\n",(0,i.jsxs)(t.p,{children:["Copy and paste the following code into ",(0,i.jsx)(t.code,{children:"HelloWorld.sol"}),":"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract HelloWorld {\n string public greet = "Hello, Status Network!";\n\n function setGreet(string memory _greet) public {\n greet = _greet;\n }\n\n function getGreet() public view returns (string memory) {\n return greet;\n }\n}\n'})}),"\n",(0,i.jsx)(t.h3,{id:"4-compile-the-contract",children:"4. Compile the Contract"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:'Click the "Solidity Compiler" icon (second icon on the left sidebar)'}),"\n",(0,i.jsx)(t.li,{children:'Select compiler version "0.8.24"'}),"\n",(0,i.jsx)(t.li,{children:'Click "Compile HelloWorld.sol"'}),"\n",(0,i.jsx)(t.li,{children:"Ensure compilation succeeds (you'll see a green checkmark)"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"5-deploy-the-contract",children:"5. Deploy the Contract"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:'Click the "Deploy & Run Transactions" icon (fourth icon on the left sidebar)'}),"\n",(0,i.jsx)(t.li,{children:'In the "Environment" dropdown, select "Injected Provider - MetaMask"'}),"\n",(0,i.jsx)(t.li,{children:"MetaMask will prompt you to connect - ensure Status Network testnet is selected"}),"\n",(0,i.jsx)(t.li,{children:'Click "Deploy"'}),"\n",(0,i.jsx)(t.li,{children:"Confirm the transaction in MetaMask"}),"\n",(0,i.jsx)(t.li,{children:"Wait for the transaction to be confirmed"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"6-interact-with-your-contract",children:"6. Interact with Your Contract"}),"\n",(0,i.jsx)(t.p,{children:'Once deployed, you\'ll see your contract under "Deployed Contracts":'}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Expand the contract interface"}),"\n",(0,i.jsxs)(t.li,{children:["You can:","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:'Click "greet" to read the current greeting'}),"\n",(0,i.jsx)(t.li,{children:'Enter a new greeting in the "setGreet" field and click the button to update it'}),"\n",(0,i.jsx)(t.li,{children:'Click "getGreet" to read the greeting again'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,i.jsx)(t.h3,{id:"common-issues",children:"Common Issues"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Transaction Failed"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Check that you're connected to Status Network testnet"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Contract Not Found"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Wait a few minutes for the explorer to index your contract"}),"\n",(0,i.jsx)(t.li,{children:"Double-check the contract address"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Compilation Errors"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Verify the compiler version matches the pragma statement"}),"\n",(0,i.jsx)(t.li,{children:"Check for any syntax errors highlighted in Remix"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,i.jsx)(t.p,{children:"If you encounter any issues:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Join our ",(0,i.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})]}),"\n",(0,i.jsxs)(t.li,{children:["Check ",(0,i.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})]}),"\n",(0,i.jsxs)(t.li,{children:["View our ",(0,i.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"additional-resources",children:"Additional Resources"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://remix-ide.readthedocs.io/",children:"Remix Documentation"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var i=n(6540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/390b0396.bd84daf4.js b/assets/js/390b0396.bd84daf4.js deleted file mode 100644 index 9615e14..0000000 --- a/assets/js/390b0396.bd84daf4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[435],{6545:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var r=n(4848),i=n(8453);const s={},o="Using Remix to Deploy Smart Contracts",l={id:"tutorials/deploying-contracts/using-remix",title:"Using Remix to Deploy Smart Contracts",description:"This tutorial will guide you through deploying a smart contract on Status Network testnet using the Remix IDE. Remix is a browser-based IDE that's perfect for quick development and testing.",source:"@site/docs/tutorials/deploying-contracts/using-remix.md",sourceDirName:"tutorials/deploying-contracts",slug:"/tutorials/deploying-contracts/using-remix",permalink:"/tutorials/deploying-contracts/using-remix",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tutorials/deploying-contracts/using-remix.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u2692\ufe0f Using Foundry",permalink:"/tutorials/deploying-contracts/using-foundry"},next:{title:"\ud83d\udd17 Official Links",permalink:"/other/official-links"}},c={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Open Remix IDE",id:"1-open-remix-ide",level:3},{value:"2. Create a New File",id:"2-create-a-new-file",level:3},{value:"3. Write the Smart Contract",id:"3-write-the-smart-contract",level:3},{value:"4. Compile the Contract",id:"4-compile-the-contract",level:3},{value:"5. Deploy the Contract",id:"5-deploy-the-contract",level:3},{value:"6. Interact with Your Contract",id:"6-interact-with-your-contract",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Common Issues",id:"common-issues",level:3},{value:"Support",id:"support",level:2},{value:"Additional Resources",id:"additional-resources",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"using-remix-to-deploy-smart-contracts",children:"Using Remix to Deploy Smart Contracts"})}),"\n",(0,r.jsx)(t.p,{children:"This tutorial will guide you through deploying a smart contract on Status Network testnet using the Remix IDE. Remix is a browser-based IDE that's perfect for quick development and testing."}),"\n",(0,r.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(t.p,{children:"Before you begin, ensure you have:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Web Browser"}),": A modern web browser like Chrome or Firefox"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"MetaMask"}),": Install the ",(0,r.jsx)(t.a,{href:"https://metamask.io",children:"MetaMask"})," browser extension"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Testnet ETH"}),": You'll need Status Network testnet ETH","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Get Status Network testnet ETH from our ",(0,r.jsx)(t.a,{href:"/tools/testnet-faucets",children:"Faucet"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Network Configuration"}),": Add Status Network testnet to MetaMask following our ",(0,r.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Network guide"})]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"steps",children:"Steps"}),"\n",(0,r.jsx)(t.h3,{id:"1-open-remix-ide",children:"1. Open Remix IDE"}),"\n",(0,r.jsxs)(t.p,{children:["Visit ",(0,r.jsx)(t.a,{href:"https://remix.ethereum.org",children:"remix.ethereum.org"})," in your browser."]}),"\n",(0,r.jsx)(t.h3,{id:"2-create-a-new-file",children:"2. Create a New File"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:'Click the "File Explorer" icon (first icon on the left sidebar)'}),"\n",(0,r.jsx)(t.li,{children:'Click the "+" button to create a new file'}),"\n",(0,r.jsxs)(t.li,{children:["Name it ",(0,r.jsx)(t.code,{children:"HelloWorld.sol"})]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"3-write-the-smart-contract",children:"3. Write the Smart Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Copy and paste the following code into ",(0,r.jsx)(t.code,{children:"HelloWorld.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract HelloWorld {\n string public greet = "Hello, Status Network!";\n\n function setGreet(string memory _greet) public {\n greet = _greet;\n }\n\n function getGreet() public view returns (string memory) {\n return greet;\n }\n}\n'})}),"\n",(0,r.jsx)(t.h3,{id:"4-compile-the-contract",children:"4. Compile the Contract"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:'Click the "Solidity Compiler" icon (second icon on the left sidebar)'}),"\n",(0,r.jsx)(t.li,{children:'Select compiler version "0.8.24"'}),"\n",(0,r.jsx)(t.li,{children:'Click "Compile HelloWorld.sol"'}),"\n",(0,r.jsx)(t.li,{children:"Ensure compilation succeeds (you'll see a green checkmark)"}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"5-deploy-the-contract",children:"5. Deploy the Contract"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:'Click the "Deploy & Run Transactions" icon (fourth icon on the left sidebar)'}),"\n",(0,r.jsx)(t.li,{children:'In the "Environment" dropdown, select "Injected Provider - MetaMask"'}),"\n",(0,r.jsx)(t.li,{children:"MetaMask will prompt you to connect - ensure Status Network testnet is selected"}),"\n",(0,r.jsx)(t.li,{children:'Click "Deploy"'}),"\n",(0,r.jsx)(t.li,{children:"Confirm the transaction in MetaMask"}),"\n",(0,r.jsx)(t.li,{children:"Wait for the transaction to be confirmed"}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"6-interact-with-your-contract",children:"6. Interact with Your Contract"}),"\n",(0,r.jsx)(t.p,{children:'Once deployed, you\'ll see your contract under "Deployed Contracts":'}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Expand the contract interface"}),"\n",(0,r.jsxs)(t.li,{children:["You can:","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:'Click "greet" to read the current greeting'}),"\n",(0,r.jsx)(t.li,{children:'Enter a new greeting in the "setGreet" field and click the button to update it'}),"\n",(0,r.jsx)(t.li,{children:'Click "getGreet" to read the greeting again'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsx)(t.h3,{id:"common-issues",children:"Common Issues"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Transaction Failed"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Check that you're connected to Status Network testnet"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Contract Not Found"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Wait a few minutes for the explorer to index your contract"}),"\n",(0,r.jsx)(t.li,{children:"Double-check the contract address"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Compilation Errors"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Verify the compiler version matches the pragma statement"}),"\n",(0,r.jsx)(t.li,{children:"Check for any syntax errors highlighted in Remix"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,r.jsx)(t.p,{children:"If you encounter any issues:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})]}),"\n",(0,r.jsxs)(t.li,{children:["Check ",(0,r.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})]}),"\n",(0,r.jsxs)(t.li,{children:["View our ",(0,r.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"additional-resources",children:"Additional Resources"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://remix-ide.readthedocs.io/",children:"Remix Documentation"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var r=n(6540);const i={},s=r.createContext(i);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5252cc52.3d9cf9e6.js b/assets/js/5252cc52.3d9cf9e6.js deleted file mode 100644 index f95546e..0000000 --- a/assets/js/5252cc52.3d9cf9e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[900],{4210:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(4848),o=n(8453);const i={},a="Using Hardhat to Deploy Smart Contracts",s={id:"tutorials/deploying-contracts/using-hardhat",title:"Using Hardhat to Deploy Smart Contracts",description:"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Hardhat, Hardhat Ignition, and TypeScript.",source:"@site/docs/tutorials/deploying-contracts/using-hardhat.md",sourceDirName:"tutorials/deploying-contracts",slug:"/tutorials/deploying-contracts/using-hardhat",permalink:"/tutorials/deploying-contracts/using-hardhat",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tutorials/deploying-contracts/using-hardhat.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udd0e Block Explorers",permalink:"/tools/block-explorers"},next:{title:"\u2692\ufe0f Using Foundry",permalink:"/tutorials/deploying-contracts/using-foundry"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"What You'll Accomplish",id:"what-youll-accomplish",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Initialize a Hardhat TypeScript Project",id:"1-initialize-a-hardhat-typescript-project",level:3},{value:"2. Writing the Smart Contract",id:"2-writing-the-smart-contract",level:3},{value:"3. Configuring Hardhat for Status Network",id:"3-configuring-hardhat-for-status-network",level:3},{value:"4. Create Ignition Deployment Module",id:"4-create-ignition-deployment-module",level:3},{value:"5. Deploy the Contract",id:"5-deploy-the-contract",level:3},{value:"7. Interact with Your Contract",id:"7-interact-with-your-contract",level:3},{value:"Support",id:"support",level:2}];function d(t){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"using-hardhat-to-deploy-smart-contracts",children:"Using Hardhat to Deploy Smart Contracts"})}),"\n",(0,r.jsx)(e.p,{children:"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Hardhat, Hardhat Ignition, and TypeScript."}),"\n",(0,r.jsx)(e.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(e.p,{children:"Before you begin, ensure you have the following:"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Node.js and npm"}),": Download and install from the ",(0,r.jsx)(e.a,{href:"https://nodejs.org/",children:"official Node.js website"})]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Ethereum Wallet"}),": MetaMask or another wallet with a private key for Status Network testnet"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Testnet ETH"}),": You'll need Status Network testnet ETH","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Get Status Network testnet ETH from our ",(0,r.jsx)(e.a,{href:"/tools/testnet-faucets",children:"Faucet"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Basic Knowledge"}),": Familiarity with Solidity, Hardhat, and command line"]}),"\n"]}),"\n",(0,r.jsx)(e.h2,{id:"what-youll-accomplish",children:"What You'll Accomplish"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:"Initialize a TypeScript-based Hardhat project"}),"\n",(0,r.jsx)(e.li,{children:"Write a basic Ethereum smart contract"}),"\n",(0,r.jsx)(e.li,{children:"Configure Hardhat for Status Network testnet deployment"}),"\n",(0,r.jsx)(e.li,{children:"Deploy your smart contract using Hardhat Ignition"}),"\n"]}),"\n",(0,r.jsx)(e.h2,{id:"steps",children:"Steps"}),"\n",(0,r.jsx)(e.h3,{id:"1-initialize-a-hardhat-typescript-project",children:"1. Initialize a Hardhat TypeScript Project"}),"\n",(0,r.jsx)(e.p,{children:"First, create and set up your project:"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"mkdir my-hardhat-project && cd my-hardhat-project\nnpm init -y\nnpm install --save-dev hardhat @nomicfoundation/hardhat-toolbox dotenv\nnpx hardhat init\n"})}),"\n",(0,r.jsx)(e.p,{children:'When prompted, select "Create a TypeScript project" to set up a TypeScript-based Hardhat project.'}),"\n",(0,r.jsx)(e.p,{children:"Set up your environment variables:"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:'# Create a .env file\ntouch .env\n\n# Add your private key (never commit this file!)\necho "PRIVATE_KEY=your_private_key_here" >> .env\n'})}),"\n",(0,r.jsx)(e.h3,{id:"2-writing-the-smart-contract",children:"2. Writing the Smart Contract"}),"\n",(0,r.jsxs)(e.p,{children:["Create ",(0,r.jsx)(e.code,{children:"contracts/HelloWorld.sol"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract HelloWorld {\n string public greet = "Hello, Status Network!";\n\n function setGreet(string memory _greet) public {\n greet = _greet;\n }\n\n function getGreet() public view returns (string memory) {\n return greet;\n }\n}\n'})}),"\n",(0,r.jsx)(e.h3,{id:"3-configuring-hardhat-for-status-network",children:"3. Configuring Hardhat for Status Network"}),"\n",(0,r.jsxs)(e.p,{children:["Update ",(0,r.jsx)(e.code,{children:"hardhat.config.ts"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-typescript",children:'import { HardhatUserConfig } from "hardhat/config";\nimport "@nomicfoundation/hardhat-toolbox";\nimport * as dotenv from "dotenv";\n\ndotenv.config();\n\nconst PRIVATE_KEY = process.env.PRIVATE_KEY || "";\n\nconst config: HardhatUserConfig = {\n solidity: "0.8.24",\n networks: {\n statusTestnet: {\n url: "https://public.sepolia.rpc.status.network",\n chainId: 1660990954,\n accounts: [PRIVATE_KEY],\n },\n },\n};\n\nexport default config;\n'})}),"\n",(0,r.jsx)(e.h3,{id:"4-create-ignition-deployment-module",children:"4. Create Ignition Deployment Module"}),"\n",(0,r.jsxs)(e.p,{children:["Create ",(0,r.jsx)(e.code,{children:"ignition/modules/HelloWorld.ts"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-typescript",children:'import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";\n\nexport default buildModule("HelloWorld", (m) => {\n const helloWorld = m.contract("HelloWorld");\n \n return { helloWorld };\n});\n'})}),"\n",(0,r.jsx)(e.h3,{id:"5-deploy-the-contract",children:"5. Deploy the Contract"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"npx hardhat compile\nnpx hardhat ignition deploy ignition/modules/HelloWorld.ts --network statusTestnet\n"})}),"\n",(0,r.jsxs)(e.p,{children:["The deployment will create a new directory ",(0,r.jsx)(e.code,{children:"ignition/deployments"})," containing your deployment artifacts and history."]}),"\n",(0,r.jsx)(e.h3,{id:"7-interact-with-your-contract",children:"7. Interact with Your Contract"}),"\n",(0,r.jsxs)(e.p,{children:["Create ",(0,r.jsx)(e.code,{children:"scripts/interact.ts"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-typescript",children:'import { ethers } from "hardhat";\nimport { HelloWorld } from "../typechain-types";\n\nasync function main() {\n const contractAddress = "0x0d8a93870494Fa21ec39602f31Aa67C9Fed5604f";\n const HelloWorld = await ethers.getContractFactory("HelloWorld");\n const contract = HelloWorld.attach(contractAddress) as HelloWorld;\n\n // Read current greeting\n const greeting = await contract.getGreet();\n console.log("Current greeting:", greeting);\n\n // Update greeting\n const tx = await contract.setGreet("Hello from Status Network!");\n await tx.wait();\n console.log("Greeting updated!");\n\n // Read updated greeting\n const newGreeting = await contract.getGreet();\n console.log("New greeting:", newGreeting);\n}\n\nmain().catch((error) => {\n console.error(error);\n process.exitCode = 1;\n});\n'})}),"\n",(0,r.jsx)(e.p,{children:"Run the interaction script:"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"npx hardhat run scripts/interact.ts --network statusTestnet\n"})}),"\n",(0,r.jsx)(e.h2,{id:"support",children:"Support"}),"\n",(0,r.jsx)(e.p,{children:"If you encounter any issues:"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Join our ",(0,r.jsx)(e.a,{href:"https://t.me",children:"Telegram Community"})]}),"\n",(0,r.jsxs)(e.li,{children:["Check ",(0,r.jsx)(e.a,{href:"https://health.status.network",children:"Network Status"})]}),"\n",(0,r.jsxs)(e.li,{children:["View our ",(0,r.jsx)(e.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n"]})]})}function h(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(d,{...t})}):d(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>a,x:()=>s});var r=n(6540);const o={},i=r.createContext(o);function a(t){const e=r.useContext(i);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:a(t.components),r.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5252cc52.8f3a0cdb.js b/assets/js/5252cc52.8f3a0cdb.js new file mode 100644 index 0000000..1eaa416 --- /dev/null +++ b/assets/js/5252cc52.8f3a0cdb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[900],{4210:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=n(4848),o=n(8453);const a={title:"Using Hardhat with Status Network",description:"Step-by-step tutorial for deploying smart contracts on Status Network using Hardhat and TypeScript. Learn about project setup, configuration, and contract deployment.",keywords:["Hardhat tutorial","smart contract deployment","Status Network development","TypeScript","blockchain development","web3 development"]},i="Using Hardhat to Deploy Smart Contracts",s={id:"tutorials/deploying-contracts/using-hardhat",title:"Using Hardhat with Status Network",description:"Step-by-step tutorial for deploying smart contracts on Status Network using Hardhat and TypeScript. Learn about project setup, configuration, and contract deployment.",source:"@site/docs/tutorials/deploying-contracts/using-hardhat.md",sourceDirName:"tutorials/deploying-contracts",slug:"/tutorials/deploying-contracts/using-hardhat",permalink:"/tutorials/deploying-contracts/using-hardhat",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tutorials/deploying-contracts/using-hardhat.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Using Hardhat with Status Network",description:"Step-by-step tutorial for deploying smart contracts on Status Network using Hardhat and TypeScript. Learn about project setup, configuration, and contract deployment.",keywords:["Hardhat tutorial","smart contract deployment","Status Network development","TypeScript","blockchain development","web3 development"]},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udd0e Block Explorers",permalink:"/tools/block-explorers"},next:{title:"\u2692\ufe0f Using Foundry",permalink:"/tutorials/deploying-contracts/using-foundry"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"What You'll Accomplish",id:"what-youll-accomplish",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Initialize a Hardhat TypeScript Project",id:"1-initialize-a-hardhat-typescript-project",level:3},{value:"2. Writing the Smart Contract",id:"2-writing-the-smart-contract",level:3},{value:"3. Configuring Hardhat for Status Network",id:"3-configuring-hardhat-for-status-network",level:3},{value:"4. Create Ignition Deployment Module",id:"4-create-ignition-deployment-module",level:3},{value:"5. Deploy the Contract",id:"5-deploy-the-contract",level:3},{value:"7. Interact with Your Contract",id:"7-interact-with-your-contract",level:3},{value:"Support",id:"support",level:2}];function d(t){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"using-hardhat-to-deploy-smart-contracts",children:"Using Hardhat to Deploy Smart Contracts"})}),"\n",(0,r.jsx)(e.p,{children:"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Hardhat, Hardhat Ignition, and TypeScript."}),"\n",(0,r.jsx)(e.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(e.p,{children:"Before you begin, ensure you have the following:"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Node.js and npm"}),": Download and install from the ",(0,r.jsx)(e.a,{href:"https://nodejs.org/",children:"official Node.js website"})]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Ethereum Wallet"}),": MetaMask or another wallet with a private key for Status Network testnet"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Testnet ETH"}),": You'll need Status Network testnet ETH","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Get Status Network testnet ETH from our ",(0,r.jsx)(e.a,{href:"/tools/testnet-faucets",children:"Faucet"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Basic Knowledge"}),": Familiarity with Solidity, Hardhat, and command line"]}),"\n"]}),"\n",(0,r.jsx)(e.h2,{id:"what-youll-accomplish",children:"What You'll Accomplish"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:"Initialize a TypeScript-based Hardhat project"}),"\n",(0,r.jsx)(e.li,{children:"Write a basic Ethereum smart contract"}),"\n",(0,r.jsx)(e.li,{children:"Configure Hardhat for Status Network testnet deployment"}),"\n",(0,r.jsx)(e.li,{children:"Deploy your smart contract using Hardhat Ignition"}),"\n"]}),"\n",(0,r.jsx)(e.h2,{id:"steps",children:"Steps"}),"\n",(0,r.jsx)(e.h3,{id:"1-initialize-a-hardhat-typescript-project",children:"1. Initialize a Hardhat TypeScript Project"}),"\n",(0,r.jsx)(e.p,{children:"First, create and set up your project:"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"mkdir my-hardhat-project && cd my-hardhat-project\nnpm init -y\nnpm install --save-dev hardhat @nomicfoundation/hardhat-toolbox dotenv\nnpx hardhat init\n"})}),"\n",(0,r.jsx)(e.p,{children:'When prompted, select "Create a TypeScript project" to set up a TypeScript-based Hardhat project.'}),"\n",(0,r.jsx)(e.p,{children:"Set up your environment variables:"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:'# Create a .env file\ntouch .env\n\n# Add your private key (never commit this file!)\necho "PRIVATE_KEY=your_private_key_here" >> .env\n'})}),"\n",(0,r.jsx)(e.h3,{id:"2-writing-the-smart-contract",children:"2. Writing the Smart Contract"}),"\n",(0,r.jsxs)(e.p,{children:["Create ",(0,r.jsx)(e.code,{children:"contracts/HelloWorld.sol"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract HelloWorld {\n string public greet = "Hello, Status Network!";\n\n function setGreet(string memory _greet) public {\n greet = _greet;\n }\n\n function getGreet() public view returns (string memory) {\n return greet;\n }\n}\n'})}),"\n",(0,r.jsx)(e.h3,{id:"3-configuring-hardhat-for-status-network",children:"3. Configuring Hardhat for Status Network"}),"\n",(0,r.jsxs)(e.p,{children:["Update ",(0,r.jsx)(e.code,{children:"hardhat.config.ts"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-typescript",children:'import { HardhatUserConfig } from "hardhat/config";\nimport "@nomicfoundation/hardhat-toolbox";\nimport * as dotenv from "dotenv";\n\ndotenv.config();\n\nconst PRIVATE_KEY = process.env.PRIVATE_KEY || "";\n\nconst config: HardhatUserConfig = {\n solidity: "0.8.24",\n networks: {\n statusTestnet: {\n url: "https://public.sepolia.rpc.status.network",\n chainId: 1660990954,\n accounts: [PRIVATE_KEY],\n },\n },\n};\n\nexport default config;\n'})}),"\n",(0,r.jsx)(e.h3,{id:"4-create-ignition-deployment-module",children:"4. Create Ignition Deployment Module"}),"\n",(0,r.jsxs)(e.p,{children:["Create ",(0,r.jsx)(e.code,{children:"ignition/modules/HelloWorld.ts"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-typescript",children:'import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";\n\nexport default buildModule("HelloWorld", (m) => {\n const helloWorld = m.contract("HelloWorld");\n \n return { helloWorld };\n});\n'})}),"\n",(0,r.jsx)(e.h3,{id:"5-deploy-the-contract",children:"5. Deploy the Contract"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"npx hardhat compile\nnpx hardhat ignition deploy ignition/modules/HelloWorld.ts --network statusTestnet\n"})}),"\n",(0,r.jsxs)(e.p,{children:["The deployment will create a new directory ",(0,r.jsx)(e.code,{children:"ignition/deployments"})," containing your deployment artifacts and history."]}),"\n",(0,r.jsx)(e.h3,{id:"7-interact-with-your-contract",children:"7. Interact with Your Contract"}),"\n",(0,r.jsxs)(e.p,{children:["Create ",(0,r.jsx)(e.code,{children:"scripts/interact.ts"}),":"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-typescript",children:'import { ethers } from "hardhat";\nimport { HelloWorld } from "../typechain-types";\n\nasync function main() {\n const contractAddress = "0x0d8a93870494Fa21ec39602f31Aa67C9Fed5604f";\n const HelloWorld = await ethers.getContractFactory("HelloWorld");\n const contract = HelloWorld.attach(contractAddress) as HelloWorld;\n\n // Read current greeting\n const greeting = await contract.getGreet();\n console.log("Current greeting:", greeting);\n\n // Update greeting\n const tx = await contract.setGreet("Hello from Status Network!");\n await tx.wait();\n console.log("Greeting updated!");\n\n // Read updated greeting\n const newGreeting = await contract.getGreet();\n console.log("New greeting:", newGreeting);\n}\n\nmain().catch((error) => {\n console.error(error);\n process.exitCode = 1;\n});\n'})}),"\n",(0,r.jsx)(e.p,{children:"Run the interaction script:"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"npx hardhat run scripts/interact.ts --network statusTestnet\n"})}),"\n",(0,r.jsx)(e.h2,{id:"support",children:"Support"}),"\n",(0,r.jsx)(e.p,{children:"If you encounter any issues:"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Join our ",(0,r.jsx)(e.a,{href:"https://t.me",children:"Telegram Community"})]}),"\n",(0,r.jsxs)(e.li,{children:["Check ",(0,r.jsx)(e.a,{href:"https://health.status.network",children:"Network Status"})]}),"\n",(0,r.jsxs)(e.li,{children:["View our ",(0,r.jsx)(e.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n"]})]})}function h(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(d,{...t})}):d(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>i,x:()=>s});var r=n(6540);const o={},a=r.createContext(o);function i(t){const e=r.useContext(a);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:i(t.components),r.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/572f3558.51d40642.js b/assets/js/572f3558.51d40642.js deleted file mode 100644 index d401a4c..0000000 --- a/assets/js/572f3558.51d40642.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[604],{4452:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var s=t(4848),r=t(8453);const i={},o="Quick Start",l={id:"introduction/quick-start",title:"Quick Start",description:"In this section, we'll get you deploying a sample contract on Status Network Testnet in less than 10 minutes.",source:"@site/docs/introduction/quick-start.md",sourceDirName:"introduction",slug:"/introduction/quick-start",permalink:"/introduction/quick-start",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/introduction/quick-start.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udfe0 Home",permalink:"/"},next:{title:"\ud83d\udc8e SNT Token",permalink:"/tokenomics/snt-token"}},c={},d=[{value:"Get Everything Ready",id:"get-everything-ready",level:2},{value:"Remix & Sample Code",id:"remix--sample-code",level:2},{value:"Steps to Deploy",id:"steps-to-deploy",level:2},{value:"Interact with Your Deployed Smart Contract",id:"interact-with-your-deployed-smart-contract",level:2},{value:"Next Steps",id:"next-steps",level:2},{value:"Summary",id:"summary",level:2}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"quick-start",children:"Quick Start"})}),"\n",(0,s.jsxs)(n.p,{children:["In this section, we'll get you deploying a sample contract on ",(0,s.jsx)(n.strong,{children:"Status Network Testnet"})," in less than 10 minutes."]}),"\n",(0,s.jsx)(n.p,{children:"Let's see how to deploy a smart contract on Status Network using the Remix IDE for simplicity."}),"\n",(0,s.jsx)(n.h2,{id:"get-everything-ready",children:"Get Everything Ready"}),"\n",(0,s.jsx)(n.p,{children:"Before getting started:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Add Status Network Testnet to MetaMask"}),":"]}),"\n",(0,s.jsxs)(n.p,{children:["Follow the ",(0,s.jsx)(n.a,{href:"/general-info/add-status-network",children:"Add Status Network guide"})," for step-by-step instructions on how to add the Status Network testnet to MetaMask."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Get Test ETH"}),":"]}),"\n",(0,s.jsx)(n.p,{children:"You'll need both Sepolia ETH and Status Network ETH:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["First get Sepolia ETH from ",(0,s.jsx)(n.a,{href:"https://faucet.status.network",children:"Sepolia Faucet"})]}),"\n",(0,s.jsxs)(n.li,{children:["Then bridge some ETH to Status Network using the ",(0,s.jsx)(n.a,{href:"https://bridge.status.network",children:"Status Bridge"})]}),"\n",(0,s.jsxs)(n.li,{children:["Alternatively, get Status Network ETH directly from our ",(0,s.jsx)(n.a,{href:"https://sepoliascan.status.network/address/0x06338B70F1eAbc60d7A82C083e605C07F78bb878",children:"Testnet Faucet"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"We are ready to get started!"}),"\n",(0,s.jsx)(n.h2,{id:"remix--sample-code",children:"Remix & Sample Code"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Remix"})," is a no-setup tool for developing smart contracts. It's easy to get started, allowing a simple deployment process, debugging, interacting with smart contracts, and more."]}),"\n",(0,s.jsxs)(n.p,{children:["For this tutorial, we will deploy a simple ",(0,s.jsx)(n.code,{children:"SimpleStorage.sol"})," contract:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract SimpleStorage {\n uint256 number;\n \n function store(uint256 num) public {\n number = num;\n }\n\n function retrieve() public view returns (uint256) {\n return number;\n }\n}\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Note:"})," This contract lets you store a number and then read what that number is."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"steps-to-deploy",children:"Steps to Deploy"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Copy the Sample Code"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Copy the sample code and paste it into a new file named ",(0,s.jsx)(n.code,{children:"SimpleStorage.sol"})," in Remix."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Compile the Smart Contract"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to the ",(0,s.jsx)(n.strong,{children:"Solidity Compiler"})," tab (on the left sidebar)."]}),"\n",(0,s.jsx)(n.li,{children:"Ensure the compiler version is 0.8.0 or higher."}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:'"Compile SimpleStorage.sol"'}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["You can enable ",(0,s.jsx)(n.strong,{children:'"Auto compile"'})," for automatic compilation whenever you change the contract code."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Deploy the Smart Contract"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Switch to the ",(0,s.jsx)(n.strong,{children:"Deploy & Run Transactions"})," tab."]}),"\n",(0,s.jsxs)(n.li,{children:["In the ",(0,s.jsx)(n.strong,{children:'"Environment"'})," dropdown menu, select ",(0,s.jsx)(n.strong,{children:'"Injected Provider - MetaMask"'}),"."]}),"\n",(0,s.jsx)(n.li,{children:"MetaMask may prompt you to connect to Remix. Confirm the connection."}),"\n",(0,s.jsxs)(n.li,{children:["Ensure that ",(0,s.jsx)(n.strong,{children:"Status Network Testnet"})," is selected in MetaMask."]}),"\n",(0,s.jsxs)(n.li,{children:["Under ",(0,s.jsx)(n.strong,{children:'"Contract"'}),", make sure ",(0,s.jsx)(n.code,{children:"SimpleStorage"})," is selected."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:'"Deploy"'}),"."]}),"\n",(0,s.jsx)(n.li,{children:"MetaMask will pop up, asking you to confirm the transaction. Gas fees will be paid in ETH."}),"\n",(0,s.jsxs)(n.li,{children:["Review the transaction details and click ",(0,s.jsx)(n.strong,{children:'"Confirm"'}),"."]}),"\n",(0,s.jsx)(n.li,{children:"Wait for the transaction to be mined."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Verify Deployment"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Once deployed, copy your contract's address from Remix"}),"\n",(0,s.jsxs)(n.li,{children:["View it on ",(0,s.jsx)(n.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"CONGRATULATIONS!"})," You just deployed your first smart contract on Status Network."]}),"\n",(0,s.jsx)(n.h2,{id:"interact-with-your-deployed-smart-contract",children:"Interact with Your Deployed Smart Contract"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Access Deployed Contract"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["In Remix, under the ",(0,s.jsx)(n.strong,{children:'"Deployed Contracts"'})," section, you'll see your deployed ",(0,s.jsx)(n.code,{children:"SimpleStorage"})," contract."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Store a Number"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Expand the deployed contract to view its functions."}),"\n",(0,s.jsxs)(n.li,{children:["In the ",(0,s.jsx)(n.strong,{children:'"store"'})," function input field, enter a number (e.g., ",(0,s.jsx)(n.code,{children:"42"}),")."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:'"transact"'}),"."]}),"\n",(0,s.jsx)(n.li,{children:"MetaMask will prompt you to confirm the transaction. Gas fees will be paid in ETH."}),"\n",(0,s.jsx)(n.li,{children:"Wait for the transaction to be confirmed."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Retrieve the Number"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Click on the ",(0,s.jsx)(n.strong,{children:'"retrieve"'})," function."]}),"\n",(0,s.jsx)(n.li,{children:"The stored number will display below the button."}),"\n",(0,s.jsx)(n.li,{children:"This is a view function, so no gas fees are required."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Get Support"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Join our ",(0,s.jsx)(n.a,{href:"https://t.me",children:"Telegram Community"})," for assistance"]}),"\n",(0,s.jsxs)(n.li,{children:["Check our ",(0,s.jsx)(n.a,{href:"/general-info/network-details",children:"Network Details"})," for more information"]}),"\n",(0,s.jsxs)(n.li,{children:["Learn about ",(0,s.jsx)(n.a,{href:"/general-info/bridge/bridging-testnet",children:"bridging tokens"})," to Status Network"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"summary",children:"Summary"}),"\n",(0,s.jsx)(n.p,{children:"You've successfully:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Set up your environment to interact with Status Network Testnet"}),"\n",(0,s.jsx)(n.li,{children:"Obtained testnet ETH through bridging or faucet"}),"\n",(0,s.jsx)(n.li,{children:"Deployed a smart contract using Remix IDE and MetaMask"}),"\n",(0,s.jsx)(n.li,{children:"Interacted with your deployed contract by storing and retrieving a number"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"For more advanced development, check out our guides for deploying with:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/tutorials/deploying-contracts/using-hardhat",children:"Hardhat"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/tutorials/deploying-contracts/using-foundry",children:"Foundry"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var s=t(6540);const r={},i=s.createContext(r);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/572f3558.91a61d3a.js b/assets/js/572f3558.91a61d3a.js new file mode 100644 index 0000000..ff23560 --- /dev/null +++ b/assets/js/572f3558.91a61d3a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[604],{4452:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=n(4848),s=n(8453);const i={title:"Quick Start",description:"Get started with Status Network in under 10 minutes. Learn how to deploy your first smart contract using Remix IDE, get test ETH, and interact with the network.",keywords:["Status Network tutorial","quick start","smart contract deployment","Remix IDE","blockchain development","testnet setup","MetaMask configuration"]},o="Quick Start",l={id:"introduction/quick-start",title:"Quick Start",description:"Get started with Status Network in under 10 minutes. Learn how to deploy your first smart contract using Remix IDE, get test ETH, and interact with the network.",source:"@site/docs/introduction/quick-start.md",sourceDirName:"introduction",slug:"/introduction/quick-start",permalink:"/introduction/quick-start",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/introduction/quick-start.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Quick Start",description:"Get started with Status Network in under 10 minutes. Learn how to deploy your first smart contract using Remix IDE, get test ETH, and interact with the network.",keywords:["Status Network tutorial","quick start","smart contract deployment","Remix IDE","blockchain development","testnet setup","MetaMask configuration"]},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udfe0 Home",permalink:"/"},next:{title:"\ud83d\udc8e SNT Token",permalink:"/tokenomics/snt-token"}},c={},d=[{value:"Get Everything Ready",id:"get-everything-ready",level:2},{value:"Remix & Sample Code",id:"remix--sample-code",level:2},{value:"Steps to Deploy",id:"steps-to-deploy",level:2},{value:"Interact with Your Deployed Smart Contract",id:"interact-with-your-deployed-smart-contract",level:2},{value:"Next Steps",id:"next-steps",level:2},{value:"Summary",id:"summary",level:2}];function a(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"quick-start",children:"Quick Start"})}),"\n",(0,r.jsxs)(t.p,{children:["In this section, we'll get you deploying a sample contract on ",(0,r.jsx)(t.strong,{children:"Status Network Testnet"})," in less than 10 minutes."]}),"\n",(0,r.jsx)(t.p,{children:"Let's see how to deploy a smart contract on Status Network using the Remix IDE for simplicity."}),"\n",(0,r.jsx)(t.h2,{id:"get-everything-ready",children:"Get Everything Ready"}),"\n",(0,r.jsx)(t.p,{children:"Before getting started:"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Add Status Network Testnet to MetaMask"}),":"]}),"\n",(0,r.jsxs)(t.p,{children:["Follow the ",(0,r.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Status Network guide"})," for step-by-step instructions on how to add the Status Network testnet to MetaMask."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Get Test ETH"}),":"]}),"\n",(0,r.jsx)(t.p,{children:"You'll need both Sepolia ETH and Status Network ETH:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["First get Sepolia ETH from ",(0,r.jsx)(t.a,{href:"https://faucet.status.network",children:"Sepolia Faucet"})]}),"\n",(0,r.jsxs)(t.li,{children:["Then bridge some ETH to Status Network using the ",(0,r.jsx)(t.a,{href:"https://bridge.status.network",children:"Status Bridge"})]}),"\n",(0,r.jsxs)(t.li,{children:["Alternatively, get Status Network ETH directly from our ",(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0x06338B70F1eAbc60d7A82C083e605C07F78bb878",children:"Testnet Faucet"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"We are ready to get started!"}),"\n",(0,r.jsx)(t.h2,{id:"remix--sample-code",children:"Remix & Sample Code"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Remix"})," is a no-setup tool for developing smart contracts. It's easy to get started, allowing a simple deployment process, debugging, interacting with smart contracts, and more."]}),"\n",(0,r.jsxs)(t.p,{children:["For this tutorial, we will deploy a simple ",(0,r.jsx)(t.code,{children:"SimpleStorage.sol"})," contract:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract SimpleStorage {\n uint256 number;\n \n function store(uint256 num) public {\n number = num;\n }\n\n function retrieve() public view returns (uint256) {\n return number;\n }\n}\n"})}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Note:"})," This contract lets you store a number and then read what that number is."]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"steps-to-deploy",children:"Steps to Deploy"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Copy the Sample Code"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Copy the sample code and paste it into a new file named ",(0,r.jsx)(t.code,{children:"SimpleStorage.sol"})," in Remix."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Compile the Smart Contract"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Go to the ",(0,r.jsx)(t.strong,{children:"Solidity Compiler"})," tab (on the left sidebar)."]}),"\n",(0,r.jsx)(t.li,{children:"Ensure the compiler version is 0.8.0 or higher."}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:'"Compile SimpleStorage.sol"'}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["You can enable ",(0,r.jsx)(t.strong,{children:'"Auto compile"'})," for automatic compilation whenever you change the contract code."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Deploy the Smart Contract"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Switch to the ",(0,r.jsx)(t.strong,{children:"Deploy & Run Transactions"})," tab."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:'"Environment"'})," dropdown menu, select ",(0,r.jsx)(t.strong,{children:'"Injected Provider - MetaMask"'}),"."]}),"\n",(0,r.jsx)(t.li,{children:"MetaMask may prompt you to connect to Remix. Confirm the connection."}),"\n",(0,r.jsxs)(t.li,{children:["Ensure that ",(0,r.jsx)(t.strong,{children:"Status Network Testnet"})," is selected in MetaMask."]}),"\n",(0,r.jsxs)(t.li,{children:["Under ",(0,r.jsx)(t.strong,{children:'"Contract"'}),", make sure ",(0,r.jsx)(t.code,{children:"SimpleStorage"})," is selected."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:'"Deploy"'}),"."]}),"\n",(0,r.jsx)(t.li,{children:"MetaMask will pop up, asking you to confirm the transaction. Gas fees will be paid in ETH."}),"\n",(0,r.jsxs)(t.li,{children:["Review the transaction details and click ",(0,r.jsx)(t.strong,{children:'"Confirm"'}),"."]}),"\n",(0,r.jsx)(t.li,{children:"Wait for the transaction to be mined."}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Verify Deployment"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Once deployed, copy your contract's address from Remix"}),"\n",(0,r.jsxs)(t.li,{children:["View it on ",(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"CONGRATULATIONS!"})," You just deployed your first smart contract on Status Network."]}),"\n",(0,r.jsx)(t.h2,{id:"interact-with-your-deployed-smart-contract",children:"Interact with Your Deployed Smart Contract"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Access Deployed Contract"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["In Remix, under the ",(0,r.jsx)(t.strong,{children:'"Deployed Contracts"'})," section, you'll see your deployed ",(0,r.jsx)(t.code,{children:"SimpleStorage"})," contract."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Store a Number"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Expand the deployed contract to view its functions."}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:'"store"'})," function input field, enter a number (e.g., ",(0,r.jsx)(t.code,{children:"42"}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:'"transact"'}),"."]}),"\n",(0,r.jsx)(t.li,{children:"MetaMask will prompt you to confirm the transaction. Gas fees will be paid in ETH."}),"\n",(0,r.jsx)(t.li,{children:"Wait for the transaction to be confirmed."}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Retrieve the Number"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Click on the ",(0,r.jsx)(t.strong,{children:'"retrieve"'})," function."]}),"\n",(0,r.jsx)(t.li,{children:"The stored number will display below the button."}),"\n",(0,r.jsx)(t.li,{children:"This is a view function, so no gas fees are required."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Get Support"}),":","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})," for assistance"]}),"\n",(0,r.jsxs)(t.li,{children:["Check our ",(0,r.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})," for more information"]}),"\n",(0,r.jsxs)(t.li,{children:["Learn about ",(0,r.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"bridging tokens"})," to Status Network"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"summary",children:"Summary"}),"\n",(0,r.jsx)(t.p,{children:"You've successfully:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Set up your environment to interact with Status Network Testnet"}),"\n",(0,r.jsx)(t.li,{children:"Obtained testnet ETH through bridging or faucet"}),"\n",(0,r.jsx)(t.li,{children:"Deployed a smart contract using Remix IDE and MetaMask"}),"\n",(0,r.jsx)(t.li,{children:"Interacted with your deployed contract by storing and retrieving a number"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"For more advanced development, check out our guides for deploying with:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/tutorials/deploying-contracts/using-hardhat",children:"Hardhat"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/tutorials/deploying-contracts/using-foundry",children:"Foundry"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var r=n(6540);const s={},i=r.createContext(s);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d1e787d.262674a6.js b/assets/js/5d1e787d.262674a6.js new file mode 100644 index 0000000..d4f0346 --- /dev/null +++ b/assets/js/5d1e787d.262674a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[870],{2858:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var n=s(4848),o=s(8453);const r={title:"Testnet Faucets",description:"Get testnet ETH for Status Network development. Complete guide to obtaining test tokens through Status Network faucet and Sepolia faucets for bridging.",keywords:["Status Network faucet","testnet ETH","test tokens","Sepolia faucet","blockchain testing","development tokens"]},i="Testnet Faucets",a={id:"tools/testnet-faucets",title:"Testnet Faucets",description:"Get testnet ETH for Status Network development. Complete guide to obtaining test tokens through Status Network faucet and Sepolia faucets for bridging.",source:"@site/docs/tools/testnet-faucets.md",sourceDirName:"tools",slug:"/tools/testnet-faucets",permalink:"/tools/testnet-faucets",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tools/testnet-faucets.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Testnet Faucets",description:"Get testnet ETH for Status Network development. Complete guide to obtaining test tokens through Status Network faucet and Sepolia faucets for bridging.",keywords:["Status Network faucet","testnet ETH","test tokens","Sepolia faucet","blockchain testing","development tokens"]},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udf09 Bridge",permalink:"/tools/bridge"},next:{title:"\ud83d\udd0e Block Explorers",permalink:"/tools/block-explorers"}},l={},c=[{value:"Status Network Testnet Faucet",id:"status-network-testnet-faucet",level:2},{value:"Details",id:"details",level:3},{value:"How to Get Testnet ETH",id:"how-to-get-testnet-eth",level:3},{value:"Sepolia ETH (Required for Bridging)",id:"sepolia-eth-required-for-bridging",level:2},{value:"Support",id:"support",level:2}];function u(t){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"testnet-faucets",children:"Testnet Faucets"})}),"\n",(0,n.jsx)(e.p,{children:"To get started on Status Network testnet, you'll need both Sepolia ETH and Status Network testnet ETH."}),"\n",(0,n.jsx)(e.h2,{id:"status-network-testnet-faucet",children:"Status Network Testnet Faucet"}),"\n",(0,n.jsxs)(e.p,{children:["The Status Network testnet faucet is available at ",(0,n.jsx)(e.a,{href:"https://faucet.status.network",children:"faucet.status.network"}),"."]}),"\n",(0,n.jsx)(e.h3,{id:"details",children:"Details"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Faucet Contract"}),": ",(0,n.jsx)(e.a,{href:"https://sepoliascan.status.network/address/0x06338B70F1eAbc60d7A82C083e605C07F78bb878",children:(0,n.jsx)(e.code,{children:"0x06338B70F1eAbc60d7A82C083e605C07F78bb878"})})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Amount"}),": 0.1 ETH per request"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Cooldown"}),": One request per address per day"]}),"\n"]}),"\n",(0,n.jsx)(e.h3,{id:"how-to-get-testnet-eth",children:"How to Get Testnet ETH"}),"\n",(0,n.jsxs)(e.ol,{children:["\n",(0,n.jsxs)(e.li,{children:["Visit ",(0,n.jsx)(e.a,{href:"https://faucet.status.network",children:"faucet.status.network"})]}),"\n",(0,n.jsx)(e.li,{children:"Connect your wallet"}),"\n",(0,n.jsx)(e.li,{children:'Click "Request Funds"'}),"\n",(0,n.jsx)(e.li,{children:"Confirm the transaction in your wallet"}),"\n",(0,n.jsx)(e.li,{children:"Wait for the ETH to appear in your wallet (usually takes a few seconds)"}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"sepolia-eth-required-for-bridging",children:"Sepolia ETH (Required for Bridging)"}),"\n",(0,n.jsx)(e.p,{children:"To bridge assets to Status Network testnet, you'll first need Sepolia ETH. You can get it from:"}),"\n",(0,n.jsxs)(e.ol,{start:"2",children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"https://www.alchemy.com/faucets/ethereum-sepolia",children:"Alchemy Sepolia Faucet"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"https://docs.metamask.io/developer-tools/faucet/",children:"Metamask Sepolia Faucet"})}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["Once you have Sepolia ETH, you can bridge it to Status Network testnet using the ",(0,n.jsx)(e.a,{href:"https://bridge.status.network",children:"Status Network Bridge"}),"."]}),"\n",(0,n.jsx)(e.h2,{id:"support",children:"Support"}),"\n",(0,n.jsx)(e.p,{children:"If you encounter any issues with the faucet:"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["Check ",(0,n.jsx)(e.a,{href:"https://health.status.network",children:"Network Status"})," for any ongoing problems"]}),"\n",(0,n.jsxs)(e.li,{children:["Join our ",(0,n.jsx)(e.a,{href:"https://t.me",children:"Telegram Community"})," for support"]}),"\n"]})]})}function d(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}},8453:(t,e,s)=>{s.d(e,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:i(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d1e787d.f284c21b.js b/assets/js/5d1e787d.f284c21b.js deleted file mode 100644 index e490aaf..0000000 --- a/assets/js/5d1e787d.f284c21b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[870],{2858:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=s(4848),r=s(8453);const o={},i="Testnet Faucets",l={id:"tools/testnet-faucets",title:"Testnet Faucets",description:"To get started on Status Network testnet, you'll need both Sepolia ETH and Status Network testnet ETH.",source:"@site/docs/tools/testnet-faucets.md",sourceDirName:"tools",slug:"/tools/testnet-faucets",permalink:"/tools/testnet-faucets",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tools/testnet-faucets.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udf09 Bridge",permalink:"/tools/bridge"},next:{title:"\ud83d\udd0e Block Explorers",permalink:"/tools/block-explorers"}},a={},c=[{value:"Status Network Testnet Faucet",id:"status-network-testnet-faucet",level:2},{value:"Details",id:"details",level:3},{value:"How to Get Testnet ETH",id:"how-to-get-testnet-eth",level:3},{value:"Sepolia ETH (Required for Bridging)",id:"sepolia-eth-required-for-bridging",level:2},{value:"Support",id:"support",level:2}];function u(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"testnet-faucets",children:"Testnet Faucets"})}),"\n",(0,n.jsx)(t.p,{children:"To get started on Status Network testnet, you'll need both Sepolia ETH and Status Network testnet ETH."}),"\n",(0,n.jsx)(t.h2,{id:"status-network-testnet-faucet",children:"Status Network Testnet Faucet"}),"\n",(0,n.jsxs)(t.p,{children:["The Status Network testnet faucet is available at ",(0,n.jsx)(t.a,{href:"https://faucet.status.network",children:"faucet.status.network"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"details",children:"Details"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Faucet Contract"}),": ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0x06338B70F1eAbc60d7A82C083e605C07F78bb878",children:(0,n.jsx)(t.code,{children:"0x06338B70F1eAbc60d7A82C083e605C07F78bb878"})})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Amount"}),": 0.1 ETH per request"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Cooldown"}),": One request per address per day"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"how-to-get-testnet-eth",children:"How to Get Testnet ETH"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Visit ",(0,n.jsx)(t.a,{href:"https://faucet.status.network",children:"faucet.status.network"})]}),"\n",(0,n.jsx)(t.li,{children:"Connect your wallet"}),"\n",(0,n.jsx)(t.li,{children:'Click "Request Funds"'}),"\n",(0,n.jsx)(t.li,{children:"Confirm the transaction in your wallet"}),"\n",(0,n.jsx)(t.li,{children:"Wait for the ETH to appear in your wallet (usually takes a few seconds)"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"sepolia-eth-required-for-bridging",children:"Sepolia ETH (Required for Bridging)"}),"\n",(0,n.jsx)(t.p,{children:"To bridge assets to Status Network testnet, you'll first need Sepolia ETH. You can get it from:"}),"\n",(0,n.jsxs)(t.ol,{start:"2",children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://www.alchemy.com/faucets/ethereum-sepolia",children:"Alchemy Sepolia Faucet"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://docs.metamask.io/developer-tools/faucet/",children:"Metamask Sepolia Faucet"})}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Once you have Sepolia ETH, you can bridge it to Status Network testnet using the ",(0,n.jsx)(t.a,{href:"https://bridge.status.network",children:"Status Network Bridge"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,n.jsx)(t.p,{children:"If you encounter any issues with the faucet:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Check ",(0,n.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})," for any ongoing problems"]}),"\n",(0,n.jsxs)(t.li,{children:["Join our ",(0,n.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})," for support"]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>l});var n=s(6540);const r={},o=n.createContext(r);function i(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b3e4299.7af385a6.js b/assets/js/6b3e4299.7af385a6.js deleted file mode 100644 index 5545a59..0000000 --- a/assets/js/6b3e4299.7af385a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[683],{2908:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>a});var s=n(4848),r=n(8453);const i={},o="Network Details",d={id:"general-info/network-details",title:"Network Details",description:"Status Testnet",source:"@site/docs/general-info/network-details.md",sourceDirName:"general-info",slug:"/general-info/network-details",permalink:"/general-info/network-details",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/general-info/network-details.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udca0 Karma Token",permalink:"/tokenomics/karma-token"},next:{title:"\u2795 Add Status Network",permalink:"/general-info/add-status-network"}},l={},a=[{value:"Status Testnet",id:"status-testnet",level:2}];function c(t){const e={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"network-details",children:"Network Details"})}),"\n",(0,s.jsx)(e.h2,{id:"status-testnet",children:"Status Testnet"}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{children:"Name"}),(0,s.jsx)(e.th,{children:"Value"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Network Name"})}),(0,s.jsx)(e.td,{children:"Status Network Testnet"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"RPC Endpoint"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://public.sepolia.rpc.status.network",children:"https://public.sepolia.rpc.status.network"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Chain ID"})}),(0,s.jsx)(e.td,{children:"1660990954"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Currency Symbol"})}),(0,s.jsx)(e.td,{children:"ETH"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Block Explorer"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://sepoliascan.status.network",children:"https://sepoliascan.status.network"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Bridge"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://bridge.status.network",children:"https://bridge.status.network"})})]})]})]}),"\n",(0,s.jsx)(e.p,{children:"These are the official network details for the Status Network testnet. You can use these details to:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"Add the network to your wallet"}),"\n",(0,s.jsx)(e.li,{children:"Configure development environments"}),"\n",(0,s.jsx)(e.li,{children:"Connect dApps to the network"}),"\n",(0,s.jsx)(e.li,{children:"Verify smart contracts"}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["For instructions on adding the network to your wallet, see our ",(0,s.jsx)(e.a,{href:"/general-info/add-status-network",children:"Add Status Network guide"}),"."]})]})}function h(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>o,x:()=>d});var s=n(6540);const r={},i=s.createContext(r);function o(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function d(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:o(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/6b3e4299.d56e4cb7.js b/assets/js/6b3e4299.d56e4cb7.js new file mode 100644 index 0000000..a3d7756 --- /dev/null +++ b/assets/js/6b3e4299.d56e4cb7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[683],{2908:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>c});var s=n(4848),r=n(8453),i=n(9227);const o={id:"network-details",title:"Status Network Details & Configuration",description:"Official network details for Status Network testnet including RPC endpoints, Chain ID, and configuration information for wallets and development environments.",keywords:["Status Network","network details","RPC endpoint","Chain ID","testnet configuration","blockchain network","MetaMask setup"]},a="Network Details",d={id:"general-info/network-details",title:"Status Network Details & Configuration",description:"Official network details for Status Network testnet including RPC endpoints, Chain ID, and configuration information for wallets and development environments.",source:"@site/docs/general-info/network-details.md",sourceDirName:"general-info",slug:"/general-info/network-details",permalink:"/general-info/network-details",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/general-info/network-details.md",tags:[],version:"current",lastUpdatedAt:1739201895e3,frontMatter:{id:"network-details",title:"Status Network Details & Configuration",description:"Official network details for Status Network testnet including RPC endpoints, Chain ID, and configuration information for wallets and development environments.",keywords:["Status Network","network details","RPC endpoint","Chain ID","testnet configuration","blockchain network","MetaMask setup"]},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udca0 Karma Token",permalink:"/tokenomics/karma-token"},next:{title:"\u2795 Add Status Network",permalink:"/general-info/add-status-network"}},l={},c=[{value:"Status Testnet",id:"status-testnet",level:2}];function h(t){const e={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"network-details",children:"Network Details"})}),"\n",(0,s.jsx)(e.h2,{id:"status-testnet",children:"Status Testnet"}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{children:"Name"}),(0,s.jsx)(e.th,{children:"Value"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Network Name"})}),(0,s.jsx)(e.td,{children:"Status Network Testnet"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"RPC Endpoint"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://public.sepolia.rpc.status.network",children:"https://public.sepolia.rpc.status.network"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Chain ID"})}),(0,s.jsx)(e.td,{children:"1660990954"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Currency Symbol"})}),(0,s.jsx)(e.td,{children:"ETH"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Block Explorer"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://sepoliascan.status.network",children:"https://sepoliascan.status.network"})})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:(0,s.jsx)(e.strong,{children:"Bridge"})}),(0,s.jsx)(e.td,{children:(0,s.jsx)(e.a,{href:"https://bridge.status.network",children:"https://bridge.status.network"})})]})]})]}),"\n",(0,s.jsx)(i.A,{}),"\n",(0,s.jsx)("div",{style:{height:"2rem"}}),"\n",(0,s.jsx)(e.p,{children:"These are the official network details for the Status Network testnet. You can use these details to:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"Add the network to your wallet"}),"\n",(0,s.jsx)(e.li,{children:"Configure development environments"}),"\n",(0,s.jsx)(e.li,{children:"Connect dApps to the network"}),"\n",(0,s.jsx)(e.li,{children:"Verify smart contracts"}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["For instructions on adding the network to your wallet, see our ",(0,s.jsx)(e.a,{href:"/general-info/add-status-network",children:"Add Status Network guide"}),"."]})]})}function u(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(h,{...t})}):h(t)}},9227:(t,e,n)=>{n.d(e,{A:()=>r});n(6540);var s=n(4848);function r(){return(0,s.jsxs)("button",{className:"button button--primary",onClick:async()=>{if("undefined"!=typeof window&&window.ethereum)try{await window.ethereum.request({method:"wallet_addEthereumChain",params:[{chainId:"0x6300B5EA",chainName:"Status Network Testnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://public.sepolia.rpc.status.network"],blockExplorerUrls:["https://sepoliascan.status.network"]}]})}catch(t){console.error(t),alert("Failed to add the network to MetaMask. Please try again.")}else alert("MetaMask is not installed. Please install MetaMask first.")},children:[(0,s.jsx)("img",{src:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg",alt:"MetaMask Fox",style:{width:"20px",height:"20px",marginRight:"8px",verticalAlign:"middle"}}),"Add Status Network Testnet"]})}},8453:(t,e,n)=>{n.d(e,{R:()=>o,x:()=>a});var s=n(6540);const r={},i=s.createContext(r);function o(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:o(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b3ceffd.1fd750d0.js b/assets/js/7b3ceffd.1fd750d0.js new file mode 100644 index 0000000..8308462 --- /dev/null +++ b/assets/js/7b3ceffd.1fd750d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[553],{2960:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=s(4848),n=s(8453);const i={title:"Status Network Bridge",description:"Complete guide to using the Status Network bridge for transferring tokens between Sepolia and Status Network testnet. Learn about supported tokens, bridging process, and monitoring transactions.",keywords:["Status Network bridge","token bridge","cross-chain transfer","L1 L2 bridge","token bridging","Sepolia bridge"]},o="Status Network Testnet Bridge",a={id:"tools/bridge",title:"Status Network Bridge",description:"Complete guide to using the Status Network bridge for transferring tokens between Sepolia and Status Network testnet. Learn about supported tokens, bridging process, and monitoring transactions.",source:"@site/docs/tools/bridge.md",sourceDirName:"tools",slug:"/tools/bridge",permalink:"/tools/bridge",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tools/bridge.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Status Network Bridge",description:"Complete guide to using the Status Network bridge for transferring tokens between Sepolia and Status Network testnet. Learn about supported tokens, bridging process, and monitoring transactions.",keywords:["Status Network bridge","token bridge","cross-chain transfer","L1 L2 bridge","token bridging","Sepolia bridge"]},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udd0c RPC",permalink:"/tools/rpc"},next:{title:"\ud83d\udeb0 Testnet Faucets",permalink:"/tools/testnet-faucets"}},d={},l=[{value:"Overview",id:"overview",level:2},{value:"Bridge Contracts",id:"bridge-contracts",level:2},{value:"Layer 1 (Sepolia)",id:"layer-1-sepolia",level:3},{value:"Layer 2 (Status Network)",id:"layer-2-status-network",level:3},{value:"Features",id:"features",level:2},{value:"Supported Tokens",id:"supported-tokens",level:2},{value:"Using the Bridge",id:"using-the-bridge",level:2},{value:"Monitoring Bridge Transactions",id:"monitoring-bridge-transactions",level:2},{value:"Support",id:"support",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"status-network-testnet-bridge",children:"Status Network Testnet Bridge"})}),"\n",(0,r.jsxs)(t.p,{children:["The Status Network Testnet Bridge allows users to transfer tokens between Sepolia (Layer 1) and Status Network testnet (Layer 2). The bridge interface is available at ",(0,r.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsx)(t.p,{children:"The bridge serves as a crucial infrastructure component that enables:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Token transfers from Sepolia to Status Network testnet"}),"\n",(0,r.jsx)(t.li,{children:"Token withdrawals from Status Network testnet to Sepolia"}),"\n",(0,r.jsx)(t.li,{children:"Message passing between L1 and L2"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"bridge-contracts",children:"Bridge Contracts"}),"\n",(0,r.jsx)(t.h3,{id:"layer-1-sepolia",children:"Layer 1 (Sepolia)"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Token Bridge"}),": ",(0,r.jsx)(t.a,{href:"https://sepolia.etherscan.io/address/0x01b44C5Ea321f921D93476cf54Aa8460db17a548",children:(0,r.jsx)(t.code,{children:"0x01b44C5Ea321f921D93476cf54Aa8460db17a548"})})]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"layer-2-status-network",children:"Layer 2 (Status Network)"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Token Bridge"}),": ",(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0xbC7f9571152a8e21942b2aEa4831a27f1149af19",children:(0,r.jsx)(t.code,{children:"0xbC7f9571152a8e21942b2aEa4831a27f1149af19"})})]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"features",children:"Features"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Token Bridging"}),": Transfer ERC-20 tokens between networks"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"ETH Bridging"}),": Bridge ETH between Sepolia and Status Network"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Transaction Tracking"}),": Monitor the status of your bridge transactions"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Gas Estimation"}),": See estimated gas costs before bridging"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"supported-tokens",children:"Supported Tokens"}),"\n",(0,r.jsxs)(t.p,{children:["For the most up-to-date list of supported tokens and their contract addresses, please refer to our ",(0,r.jsx)(t.a,{href:"https://github.com/status-im/status-network-token-list",children:"Token List Repository"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"using-the-bridge",children:"Using the Bridge"}),"\n",(0,r.jsxs)(t.p,{children:["For detailed instructions on how to use the bridge, including step-by-step guides and important security considerations, please refer to our ",(0,r.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"Bridging Guide"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"monitoring-bridge-transactions",children:"Monitoring Bridge Transactions"}),"\n",(0,r.jsx)(t.p,{children:"You can monitor your bridge transactions using:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})," for L2 transactions"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://sepolia.etherscan.io",children:"Sepolia Etherscan"})," for L1 transactions"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,r.jsx)(t.p,{children:"If you encounter any issues while using the bridge:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Check our ",(0,r.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"Bridging Guide"})," for common solutions"]}),"\n",(0,r.jsxs)(t.li,{children:["Join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})," for assistance"]}),"\n",(0,r.jsxs)(t.li,{children:["Monitor ",(0,r.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})," for any ongoing issues"]}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>a});var r=s(6540);const n={},i=r.createContext(n);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b3ceffd.8a6bb8cf.js b/assets/js/7b3ceffd.8a6bb8cf.js deleted file mode 100644 index f4d3f30..0000000 --- a/assets/js/7b3ceffd.8a6bb8cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[553],{2960:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var n=s(4848),r=s(8453);const i={},o="Status Network Testnet Bridge",a={id:"tools/bridge",title:"Status Network Testnet Bridge",description:"The Status Network Testnet Bridge allows users to transfer tokens between Sepolia (Layer 1) and Status Network testnet (Layer 2). The bridge interface is available at bridge.status.network.",source:"@site/docs/tools/bridge.md",sourceDirName:"tools",slug:"/tools/bridge",permalink:"/tools/bridge",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tools/bridge.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udd0c RPC",permalink:"/tools/rpc"},next:{title:"\ud83d\udeb0 Testnet Faucets",permalink:"/tools/testnet-faucets"}},d={},l=[{value:"Overview",id:"overview",level:2},{value:"Bridge Contracts",id:"bridge-contracts",level:2},{value:"Layer 1 (Sepolia)",id:"layer-1-sepolia",level:3},{value:"Layer 2 (Status Network)",id:"layer-2-status-network",level:3},{value:"Features",id:"features",level:2},{value:"Supported Tokens",id:"supported-tokens",level:2},{value:"Using the Bridge",id:"using-the-bridge",level:2},{value:"Monitoring Bridge Transactions",id:"monitoring-bridge-transactions",level:2},{value:"Support",id:"support",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"status-network-testnet-bridge",children:"Status Network Testnet Bridge"})}),"\n",(0,n.jsxs)(t.p,{children:["The Status Network Testnet Bridge allows users to transfer tokens between Sepolia (Layer 1) and Status Network testnet (Layer 2). The bridge interface is available at ",(0,n.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"overview",children:"Overview"}),"\n",(0,n.jsx)(t.p,{children:"The bridge serves as a crucial infrastructure component that enables:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Token transfers from Sepolia to Status Network testnet"}),"\n",(0,n.jsx)(t.li,{children:"Token withdrawals from Status Network testnet to Sepolia"}),"\n",(0,n.jsx)(t.li,{children:"Message passing between L1 and L2"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"bridge-contracts",children:"Bridge Contracts"}),"\n",(0,n.jsx)(t.h3,{id:"layer-1-sepolia",children:"Layer 1 (Sepolia)"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Token Bridge"}),": ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io/address/0x01b44C5Ea321f921D93476cf54Aa8460db17a548",children:(0,n.jsx)(t.code,{children:"0x01b44C5Ea321f921D93476cf54Aa8460db17a548"})})]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"layer-2-status-network",children:"Layer 2 (Status Network)"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Token Bridge"}),": ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0xbC7f9571152a8e21942b2aEa4831a27f1149af19",children:(0,n.jsx)(t.code,{children:"0xbC7f9571152a8e21942b2aEa4831a27f1149af19"})})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"features",children:"Features"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Token Bridging"}),": Transfer ERC-20 tokens between networks"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"ETH Bridging"}),": Bridge ETH between Sepolia and Status Network"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Transaction Tracking"}),": Monitor the status of your bridge transactions"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Gas Estimation"}),": See estimated gas costs before bridging"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"supported-tokens",children:"Supported Tokens"}),"\n",(0,n.jsxs)(t.p,{children:["For the most up-to-date list of supported tokens and their contract addresses, please refer to our ",(0,n.jsx)(t.a,{href:"https://github.com/status-im/status-network-token-list",children:"Token List Repository"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"using-the-bridge",children:"Using the Bridge"}),"\n",(0,n.jsxs)(t.p,{children:["For detailed instructions on how to use the bridge, including step-by-step guides and important security considerations, please refer to our ",(0,n.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"Bridging Guide"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"monitoring-bridge-transactions",children:"Monitoring Bridge Transactions"}),"\n",(0,n.jsx)(t.p,{children:"You can monitor your bridge transactions using:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})," for L2 transactions"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io",children:"Sepolia Etherscan"})," for L1 transactions"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,n.jsx)(t.p,{children:"If you encounter any issues while using the bridge:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Check our ",(0,n.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"Bridging Guide"})," for common solutions"]}),"\n",(0,n.jsxs)(t.li,{children:["Join our ",(0,n.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})," for assistance"]}),"\n",(0,n.jsxs)(t.li,{children:["Monitor ",(0,n.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})," for any ongoing issues"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>a});var n=s(6540);const r={},i=n.createContext(r);function o(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8c5da4da.0d86e5d0.js b/assets/js/8c5da4da.0d86e5d0.js new file mode 100644 index 0000000..8845cdd --- /dev/null +++ b/assets/js/8c5da4da.0d86e5d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[453],{1488:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>l});var o=i(4848),a=i(8453);const s={},r="Status Network - Website Privacy Policy",n={id:"privacy-policy",title:"Status Network - Website Privacy Policy",description:"Last updated: 29 January 2025",source:"@site/docs/privacy-policy.md",sourceDirName:".",slug:"/privacy-policy",permalink:"/privacy-policy",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/privacy-policy.md",tags:[],version:"current",lastUpdatedAt:1738999679e3,frontMatter:{}},c={},l=[{value:"Who we are",id:"who-we-are",level:2},{value:"We limit the collection and processing of personal data from your use of the Website",id:"we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website",level:2},{value:"Third party processing of personal data",id:"third-party-processing-of-personal-data",level:2},{value:"Security measures we take in respect of the Website",id:"security-measures-we-take-in-respect-of-the-website",level:2},{value:"Exporting data outside the European Union and Switzerland",id:"exporting-data-outside-the-european-union-and-switzerland",level:2},{value:"Your choices and rights",id:"your-choices-and-rights",level:2},{value:"Third party links",id:"third-party-links",level:2},{value:"This Privacy Policy might change",id:"this-privacy-policy-might-change",level:2},{value:"Contact information",id:"contact-information",level:2}];function d(e){const t={a:"a",em:"em",h1:"h1",h2:"h2",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"status-network---website-privacy-policy",children:"Status Network - Website Privacy Policy"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"Last updated: 29 January 2025"})}),"\n",(0,o.jsx)(t.p,{children:'This Privacy Policy is intended to inform users of our approach to privacy in respect of this website ("Website"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.'}),"\n",(0,o.jsx)(t.h2,{id:"who-we-are",children:"Who we are"}),"\n",(0,o.jsx)(t.p,{children:"For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Status Research & Development GmbH, a Swiss company with its registered office at Baarerstrasse 10, Zug, Switzerland."}),"\n",(0,o.jsx)(t.p,{children:'Whenever we refer to "Status", "we", "us" or any other similar references, we are referring to Status Research & Development GmbH.'}),"\n",(0,o.jsx)(t.h2,{id:"we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website",children:"We limit the collection and processing of personal data from your use of the Website"}),"\n",(0,o.jsx)(t.p,{children:"We aim to limit the collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable data protection law. We will not collect or process any personal data that we don't need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose."}),"\n",(0,o.jsx)(t.p,{children:"In this regard, we collect and process the following personal data from your use of the Website:"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"IP address"}),": As part of such use of the Website we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time."]}),"\n",(0,o.jsx)(t.h2,{id:"third-party-processing-of-personal-data",children:"Third party processing of personal data"}),"\n",(0,o.jsx)(t.p,{children:"In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply."}),"\n",(0,o.jsx)(t.h2,{id:"security-measures-we-take-in-respect-of-the-website",children:"Security measures we take in respect of the Website"}),"\n",(0,o.jsx)(t.p,{children:"As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us."}),"\n",(0,o.jsx)(t.h2,{id:"exporting-data-outside-the-european-union-and-switzerland",children:"Exporting data outside the European Union and Switzerland"}),"\n",(0,o.jsx)(t.p,{children:"We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable data protection law."}),"\n",(0,o.jsx)(t.h2,{id:"your-choices-and-rights",children:"Your choices and rights"}),"\n",(0,o.jsx)(t.p,{children:"As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant applicable data protection law, you have the right to:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Ask us to correct or update your personal data (where reasonably possible);"}),"\n",(0,o.jsx)(t.li,{children:"Ask us to remove your personal data from our systems;"}),"\n",(0,o.jsx)(t.li,{children:"Ask us for a copy of your personal data, which may also be transferred to another data controller at your request;"}),"\n",(0,o.jsx)(t.li,{children:"Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn't affect the validity of such processing activities before you have withdrawn your consent;"}),"\n",(0,o.jsx)(t.li,{children:"Object to the processing of your personal data; and"}),"\n",(0,o.jsx)(t.li,{children:"File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"third-party-links",children:"Third party links"}),"\n",(0,o.jsx)(t.p,{children:"On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites."}),"\n",(0,o.jsx)(t.h2,{id:"this-privacy-policy-might-change",children:"This Privacy Policy might change"}),"\n",(0,o.jsx)(t.p,{children:"We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website."}),"\n",(0,o.jsx)(t.h2,{id:"contact-information",children:"Contact information"}),"\n",(0,o.jsxs)(t.p,{children:["To the extent that you have any questions about the Privacy Policy, please contact us at ",(0,o.jsx)(t.a,{href:"mailto:legal@status.im",children:"legal@status.im"})]}),"\n",(0,o.jsx)(t.hr,{}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"This document is licensed under CC-BY-SA."})})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>n});var o=i(6540);const a={},s=o.createContext(a);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8c5da4da.638de1cf.js b/assets/js/8c5da4da.638de1cf.js deleted file mode 100644 index 8f37e72..0000000 --- a/assets/js/8c5da4da.638de1cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[453],{1488:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>l});var o=i(4848),a=i(8453);const s={},r="Status Network - Website Privacy Policy",n={id:"privacy-policy",title:"Status Network - Website Privacy Policy",description:"Last updated: 29 January 2025",source:"@site/docs/privacy-policy.md",sourceDirName:".",slug:"/privacy-policy",permalink:"/privacy-policy",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/privacy-policy.md",tags:[],version:"current",frontMatter:{}},c={},l=[{value:"Who we are",id:"who-we-are",level:2},{value:"We limit the collection and processing of personal data from your use of the Website",id:"we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website",level:2},{value:"Third party processing of personal data",id:"third-party-processing-of-personal-data",level:2},{value:"Security measures we take in respect of the Website",id:"security-measures-we-take-in-respect-of-the-website",level:2},{value:"Exporting data outside the European Union and Switzerland",id:"exporting-data-outside-the-european-union-and-switzerland",level:2},{value:"Your choices and rights",id:"your-choices-and-rights",level:2},{value:"Third party links",id:"third-party-links",level:2},{value:"This Privacy Policy might change",id:"this-privacy-policy-might-change",level:2},{value:"Contact information",id:"contact-information",level:2}];function d(e){const t={a:"a",em:"em",h1:"h1",h2:"h2",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"status-network---website-privacy-policy",children:"Status Network - Website Privacy Policy"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"Last updated: 29 January 2025"})}),"\n",(0,o.jsx)(t.p,{children:'This Privacy Policy is intended to inform users of our approach to privacy in respect of this website ("Website"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.'}),"\n",(0,o.jsx)(t.h2,{id:"who-we-are",children:"Who we are"}),"\n",(0,o.jsx)(t.p,{children:"For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Status Research & Development GmbH, a Swiss company with its registered office at Baarerstrasse 10, Zug, Switzerland."}),"\n",(0,o.jsx)(t.p,{children:'Whenever we refer to "Status", "we", "us" or any other similar references, we are referring to Status Research & Development GmbH.'}),"\n",(0,o.jsx)(t.h2,{id:"we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website",children:"We limit the collection and processing of personal data from your use of the Website"}),"\n",(0,o.jsx)(t.p,{children:"We aim to limit the collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable data protection law. We will not collect or process any personal data that we don't need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose."}),"\n",(0,o.jsx)(t.p,{children:"In this regard, we collect and process the following personal data from your use of the Website:"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"IP address"}),": As part of such use of the Website we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time."]}),"\n",(0,o.jsx)(t.h2,{id:"third-party-processing-of-personal-data",children:"Third party processing of personal data"}),"\n",(0,o.jsx)(t.p,{children:"In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply."}),"\n",(0,o.jsx)(t.h2,{id:"security-measures-we-take-in-respect-of-the-website",children:"Security measures we take in respect of the Website"}),"\n",(0,o.jsx)(t.p,{children:"As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us."}),"\n",(0,o.jsx)(t.h2,{id:"exporting-data-outside-the-european-union-and-switzerland",children:"Exporting data outside the European Union and Switzerland"}),"\n",(0,o.jsx)(t.p,{children:"We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable data protection law."}),"\n",(0,o.jsx)(t.h2,{id:"your-choices-and-rights",children:"Your choices and rights"}),"\n",(0,o.jsx)(t.p,{children:"As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant applicable data protection law, you have the right to:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Ask us to correct or update your personal data (where reasonably possible);"}),"\n",(0,o.jsx)(t.li,{children:"Ask us to remove your personal data from our systems;"}),"\n",(0,o.jsx)(t.li,{children:"Ask us for a copy of your personal data, which may also be transferred to another data controller at your request;"}),"\n",(0,o.jsx)(t.li,{children:"Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn't affect the validity of such processing activities before you have withdrawn your consent;"}),"\n",(0,o.jsx)(t.li,{children:"Object to the processing of your personal data; and"}),"\n",(0,o.jsx)(t.li,{children:"File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"third-party-links",children:"Third party links"}),"\n",(0,o.jsx)(t.p,{children:"On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites."}),"\n",(0,o.jsx)(t.h2,{id:"this-privacy-policy-might-change",children:"This Privacy Policy might change"}),"\n",(0,o.jsx)(t.p,{children:"We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website."}),"\n",(0,o.jsx)(t.h2,{id:"contact-information",children:"Contact information"}),"\n",(0,o.jsxs)(t.p,{children:["To the extent that you have any questions about the Privacy Policy, please contact us at ",(0,o.jsx)(t.a,{href:"mailto:legal@status.im",children:"legal@status.im"})]}),"\n",(0,o.jsx)(t.hr,{}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"This document is licensed under CC-BY-SA."})})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>n});var o=i(6540);const a={},s=o.createContext(a);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ff8f49b.569383de.js b/assets/js/8ff8f49b.569383de.js deleted file mode 100644 index 9859d8c..0000000 --- a/assets/js/8ff8f49b.569383de.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[584],{6001:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var r=n(4848),s=n(8453);const o={},i="Using Foundry to Deploy Smart Contracts",l={id:"tutorials/deploying-contracts/using-foundry",title:"Using Foundry to Deploy Smart Contracts",description:"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Foundry.",source:"@site/docs/tutorials/deploying-contracts/using-foundry.md",sourceDirName:"tutorials/deploying-contracts",slug:"/tutorials/deploying-contracts/using-foundry",permalink:"/tutorials/deploying-contracts/using-foundry",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tutorials/deploying-contracts/using-foundry.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udfa9 Using Hardhat",permalink:"/tutorials/deploying-contracts/using-hardhat"},next:{title:"\ud83c\udf9b\ufe0f Using Remix",permalink:"/tutorials/deploying-contracts/using-remix"}},c={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"What You'll Accomplish",id:"what-youll-accomplish",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Initialize a Foundry Project",id:"1-initialize-a-foundry-project",level:3},{value:"2. Writing the Smart Contract",id:"2-writing-the-smart-contract",level:3},{value:"3. Configure Foundry for Status Network",id:"3-configure-foundry-for-status-network",level:3},{value:"4. Deploy the Contract",id:"4-deploy-the-contract",level:3},{value:"5. Interact with the Contract",id:"5-interact-with-the-contract",level:3},{value:"6. Cast Commands for Quick Interactions",id:"6-cast-commands-for-quick-interactions",level:3},{value:"7. Testing",id:"7-testing",level:3},{value:"Support",id:"support",level:2},{value:"Additional Resources",id:"additional-resources",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"using-foundry-to-deploy-smart-contracts",children:"Using Foundry to Deploy Smart Contracts"})}),"\n",(0,r.jsx)(t.p,{children:"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Foundry."}),"\n",(0,r.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(t.p,{children:"Before you begin, ensure you have the following:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Foundry"}),": Install from the ",(0,r.jsx)(t.a,{href:"https://book.getfoundry.sh/getting-started/installation",children:"official Foundry book"})]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Ethereum Wallet"}),": A private key for Status Network testnet"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Testnet ETH"}),": You'll need Status Network testnet ETH","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Get Status Network testnet ETH from our ",(0,r.jsx)(t.a,{href:"/tools/testnet-faucets",children:"Faucet"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Basic Knowledge"}),": Familiarity with Solidity and command line"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"what-youll-accomplish",children:"What You'll Accomplish"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Initialize a Foundry project"}),"\n",(0,r.jsx)(t.li,{children:"Write a basic Ethereum smart contract"}),"\n",(0,r.jsx)(t.li,{children:"Configure Foundry for Status Network testnet deployment"}),"\n",(0,r.jsx)(t.li,{children:"Deploy your smart contract"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"steps",children:"Steps"}),"\n",(0,r.jsx)(t.h3,{id:"1-initialize-a-foundry-project",children:"1. Initialize a Foundry Project"}),"\n",(0,r.jsx)(t.p,{children:"First, create a new Foundry project:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'# Create a new project\nforge init hello_status\ncd hello_status\n\n# Create .env file for private key\ntouch .env\necho "PRIVATE_KEY=your_private_key_here" >> .env\n'})}),"\n",(0,r.jsx)(t.h3,{id:"2-writing-the-smart-contract",children:"2. Writing the Smart Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Replace ",(0,r.jsx)(t.code,{children:"src/Counter.sol"})," with our ",(0,r.jsx)(t.code,{children:"HelloWorld.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract HelloWorld {\n string public greet = "Hello, Status Network!";\n\n function setGreet(string memory _greet) public {\n greet = _greet;\n }\n\n function getGreet() public view returns (string memory) {\n return greet;\n }\n}\n'})}),"\n",(0,r.jsx)(t.h3,{id:"3-configure-foundry-for-status-network",children:"3. Configure Foundry for Status Network"}),"\n",(0,r.jsxs)(t.p,{children:["Create or update ",(0,r.jsx)(t.code,{children:"foundry.toml"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-toml",children:'[profile.default]\nsrc = "src"\nout = "out"\nlibs = ["lib"]\nsolc = "0.8.24"\n\n[rpc_endpoints]\nstatus_testnet = "https://public.sepolia.rpc.status.network"\n'})}),"\n",(0,r.jsx)(t.h3,{id:"4-deploy-the-contract",children:"4. Deploy the Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Create a deployment script ",(0,r.jsx)(t.code,{children:"script/Deploy.s.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport "forge-std/Script.sol";\nimport "../src/HelloWorld.sol";\n\ncontract DeployScript is Script {\n function run() external {\n uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");\n \n vm.startBroadcast(deployerPrivateKey);\n \n HelloWorld hello = new HelloWorld();\n console.log("HelloWorld deployed to:", address(hello));\n \n vm.stopBroadcast();\n }\n}\n'})}),"\n",(0,r.jsx)(t.p,{children:"Deploy using forge:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"# Load environment variables\nsource .env\n\n# Deploy to Status Network testnet\nforge script script/Deploy.s.sol:DeployScript \\\n --rpc-url https://public.sepolia.rpc.status.network \\\n --broadcast \\\n"})}),"\n",(0,r.jsx)(t.h3,{id:"5-interact-with-the-contract",children:"5. Interact with the Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Create a script to interact with your contract ",(0,r.jsx)(t.code,{children:"script/Interact.s.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport "forge-std/Script.sol";\nimport "../src/HelloWorld.sol";\n\ncontract InteractScript is Script {\n function run() external {\n uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");\n address contractAddress = address(0x...); // Replace with your contract address\n \n vm.startBroadcast(deployerPrivateKey);\n \n HelloWorld hello = HelloWorld(contractAddress);\n \n // Read current greeting\n string memory currentGreeting = hello.getGreet();\n console.log("Current greeting:", currentGreeting);\n \n // Update greeting\n hello.setGreet("Hello from Foundry!");\n \n vm.stopBroadcast();\n }\n}\n'})}),"\n",(0,r.jsx)(t.p,{children:"Run the interaction script:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"forge script script/Interact.s.sol:InteractScript \\\n --rpc-url https://public.sepolia.rpc.status.network \\\n --broadcast\n"})}),"\n",(0,r.jsx)(t.h3,{id:"6-cast-commands-for-quick-interactions",children:"6. Cast Commands for Quick Interactions"}),"\n",(0,r.jsxs)(t.p,{children:["You can also use ",(0,r.jsx)(t.code,{children:"cast"})," to interact with your contract:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'# Read the greeting\ncast call "getGreet()" \\\n --rpc-url https://public.sepolia.rpc.status.network\n\n# Set a new greeting\ncast send "setGreet(string)" "New greeting!" \\\n --private-key $PRIVATE_KEY \\\n --rpc-url https://public.sepolia.rpc.status.network\n'})}),"\n",(0,r.jsx)(t.h3,{id:"7-testing",children:"7. Testing"}),"\n",(0,r.jsxs)(t.p,{children:["Create a test file ",(0,r.jsx)(t.code,{children:"test/HelloWorld.t.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport "forge-std/Test.sol";\nimport "../src/HelloWorld.sol";\n\ncontract HelloWorldTest is Test {\n HelloWorld hello;\n\n function setUp() public {\n hello = new HelloWorld();\n }\n\n function testGreeting() public {\n assertEq(hello.getGreet(), "Hello, Status Network!");\n \n hello.setGreet("New greeting");\n assertEq(hello.getGreet(), "New greeting");\n }\n}\n'})}),"\n",(0,r.jsx)(t.p,{children:"Run the tests:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"forge test\n"})}),"\n",(0,r.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,r.jsx)(t.p,{children:"If you encounter any issues:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})]}),"\n",(0,r.jsxs)(t.li,{children:["Check ",(0,r.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})]}),"\n",(0,r.jsxs)(t.li,{children:["View our ",(0,r.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"additional-resources",children:"Additional Resources"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://book.getfoundry.sh/",children:"Foundry Book"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(6540);const s={},o=r.createContext(s);function i(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ff8f49b.8651103a.js b/assets/js/8ff8f49b.8651103a.js new file mode 100644 index 0000000..b18cbf5 --- /dev/null +++ b/assets/js/8ff8f49b.8651103a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[584],{6001:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var r=n(4848),s=n(8453);const o={title:"Using Foundry with Status Network",description:"Comprehensive guide to deploying and testing smart contracts on Status Network using Foundry. Learn about project setup, deployment scripts, testing, and contract interaction using Cast.",keywords:["Foundry tutorial","smart contract deployment","Status Network development","blockchain testing","Solidity development","web3 development","Foundry testing"]},i="Using Foundry to Deploy Smart Contracts",l={id:"tutorials/deploying-contracts/using-foundry",title:"Using Foundry with Status Network",description:"Comprehensive guide to deploying and testing smart contracts on Status Network using Foundry. Learn about project setup, deployment scripts, testing, and contract interaction using Cast.",source:"@site/docs/tutorials/deploying-contracts/using-foundry.md",sourceDirName:"tutorials/deploying-contracts",slug:"/tutorials/deploying-contracts/using-foundry",permalink:"/tutorials/deploying-contracts/using-foundry",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tutorials/deploying-contracts/using-foundry.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Using Foundry with Status Network",description:"Comprehensive guide to deploying and testing smart contracts on Status Network using Foundry. Learn about project setup, deployment scripts, testing, and contract interaction using Cast.",keywords:["Foundry tutorial","smart contract deployment","Status Network development","blockchain testing","Solidity development","web3 development","Foundry testing"]},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udfa9 Using Hardhat",permalink:"/tutorials/deploying-contracts/using-hardhat"},next:{title:"\ud83c\udf9b\ufe0f Using Remix",permalink:"/tutorials/deploying-contracts/using-remix"}},c={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"What You'll Accomplish",id:"what-youll-accomplish",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Initialize a Foundry Project",id:"1-initialize-a-foundry-project",level:3},{value:"2. Writing the Smart Contract",id:"2-writing-the-smart-contract",level:3},{value:"3. Configure Foundry for Status Network",id:"3-configure-foundry-for-status-network",level:3},{value:"4. Deploy the Contract",id:"4-deploy-the-contract",level:3},{value:"5. Interact with the Contract",id:"5-interact-with-the-contract",level:3},{value:"6. Cast Commands for Quick Interactions",id:"6-cast-commands-for-quick-interactions",level:3},{value:"7. Testing",id:"7-testing",level:3},{value:"Support",id:"support",level:2},{value:"Additional Resources",id:"additional-resources",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"using-foundry-to-deploy-smart-contracts",children:"Using Foundry to Deploy Smart Contracts"})}),"\n",(0,r.jsx)(t.p,{children:"This tutorial will guide you through the process of deploying a smart contract on Status Network testnet using Foundry."}),"\n",(0,r.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(t.p,{children:"Before you begin, ensure you have the following:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Foundry"}),": Install from the ",(0,r.jsx)(t.a,{href:"https://book.getfoundry.sh/getting-started/installation",children:"official Foundry book"})]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Ethereum Wallet"}),": A private key for Status Network testnet"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Testnet ETH"}),": You'll need Status Network testnet ETH","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Get Status Network testnet ETH from our ",(0,r.jsx)(t.a,{href:"/tools/testnet-faucets",children:"Faucet"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Basic Knowledge"}),": Familiarity with Solidity and command line"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"what-youll-accomplish",children:"What You'll Accomplish"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Initialize a Foundry project"}),"\n",(0,r.jsx)(t.li,{children:"Write a basic Ethereum smart contract"}),"\n",(0,r.jsx)(t.li,{children:"Configure Foundry for Status Network testnet deployment"}),"\n",(0,r.jsx)(t.li,{children:"Deploy your smart contract"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"steps",children:"Steps"}),"\n",(0,r.jsx)(t.h3,{id:"1-initialize-a-foundry-project",children:"1. Initialize a Foundry Project"}),"\n",(0,r.jsx)(t.p,{children:"First, create a new Foundry project:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'# Create a new project\nforge init hello_status\ncd hello_status\n\n# Create .env file for private key\ntouch .env\necho "PRIVATE_KEY=your_private_key_here" >> .env\n'})}),"\n",(0,r.jsx)(t.h3,{id:"2-writing-the-smart-contract",children:"2. Writing the Smart Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Replace ",(0,r.jsx)(t.code,{children:"src/Counter.sol"})," with our ",(0,r.jsx)(t.code,{children:"HelloWorld.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract HelloWorld {\n string public greet = "Hello, Status Network!";\n\n function setGreet(string memory _greet) public {\n greet = _greet;\n }\n\n function getGreet() public view returns (string memory) {\n return greet;\n }\n}\n'})}),"\n",(0,r.jsx)(t.h3,{id:"3-configure-foundry-for-status-network",children:"3. Configure Foundry for Status Network"}),"\n",(0,r.jsxs)(t.p,{children:["Create or update ",(0,r.jsx)(t.code,{children:"foundry.toml"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-toml",children:'[profile.default]\nsrc = "src"\nout = "out"\nlibs = ["lib"]\nsolc = "0.8.24"\n\n[rpc_endpoints]\nstatus_testnet = "https://public.sepolia.rpc.status.network"\n'})}),"\n",(0,r.jsx)(t.h3,{id:"4-deploy-the-contract",children:"4. Deploy the Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Create a deployment script ",(0,r.jsx)(t.code,{children:"script/Deploy.s.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport "forge-std/Script.sol";\nimport "../src/HelloWorld.sol";\n\ncontract DeployScript is Script {\n function run() external {\n uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");\n \n vm.startBroadcast(deployerPrivateKey);\n \n HelloWorld hello = new HelloWorld();\n console.log("HelloWorld deployed to:", address(hello));\n \n vm.stopBroadcast();\n }\n}\n'})}),"\n",(0,r.jsx)(t.p,{children:"Deploy using forge:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"# Load environment variables\nsource .env\n\n# Deploy to Status Network testnet\nforge script script/Deploy.s.sol:DeployScript \\\n --rpc-url https://public.sepolia.rpc.status.network \\\n --broadcast \\\n"})}),"\n",(0,r.jsx)(t.h3,{id:"5-interact-with-the-contract",children:"5. Interact with the Contract"}),"\n",(0,r.jsxs)(t.p,{children:["Create a script to interact with your contract ",(0,r.jsx)(t.code,{children:"script/Interact.s.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport "forge-std/Script.sol";\nimport "../src/HelloWorld.sol";\n\ncontract InteractScript is Script {\n function run() external {\n uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");\n address contractAddress = address(0x...); // Replace with your contract address\n \n vm.startBroadcast(deployerPrivateKey);\n \n HelloWorld hello = HelloWorld(contractAddress);\n \n // Read current greeting\n string memory currentGreeting = hello.getGreet();\n console.log("Current greeting:", currentGreeting);\n \n // Update greeting\n hello.setGreet("Hello from Foundry!");\n \n vm.stopBroadcast();\n }\n}\n'})}),"\n",(0,r.jsx)(t.p,{children:"Run the interaction script:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"forge script script/Interact.s.sol:InteractScript \\\n --rpc-url https://public.sepolia.rpc.status.network \\\n --broadcast\n"})}),"\n",(0,r.jsx)(t.h3,{id:"6-cast-commands-for-quick-interactions",children:"6. Cast Commands for Quick Interactions"}),"\n",(0,r.jsxs)(t.p,{children:["You can also use ",(0,r.jsx)(t.code,{children:"cast"})," to interact with your contract:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'# Read the greeting\ncast call "getGreet()" \\\n --rpc-url https://public.sepolia.rpc.status.network\n\n# Set a new greeting\ncast send "setGreet(string)" "New greeting!" \\\n --private-key $PRIVATE_KEY \\\n --rpc-url https://public.sepolia.rpc.status.network\n'})}),"\n",(0,r.jsx)(t.h3,{id:"7-testing",children:"7. Testing"}),"\n",(0,r.jsxs)(t.p,{children:["Create a test file ",(0,r.jsx)(t.code,{children:"test/HelloWorld.t.sol"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-solidity",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport "forge-std/Test.sol";\nimport "../src/HelloWorld.sol";\n\ncontract HelloWorldTest is Test {\n HelloWorld hello;\n\n function setUp() public {\n hello = new HelloWorld();\n }\n\n function testGreeting() public {\n assertEq(hello.getGreet(), "Hello, Status Network!");\n \n hello.setGreet("New greeting");\n assertEq(hello.getGreet(), "New greeting");\n }\n}\n'})}),"\n",(0,r.jsx)(t.p,{children:"Run the tests:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"forge test\n"})}),"\n",(0,r.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,r.jsx)(t.p,{children:"If you encounter any issues:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})]}),"\n",(0,r.jsxs)(t.li,{children:["Check ",(0,r.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})]}),"\n",(0,r.jsxs)(t.li,{children:["View our ",(0,r.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"additional-resources",children:"Additional Resources"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://book.getfoundry.sh/",children:"Foundry Book"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(6540);const s={},o=r.createContext(s);function i(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/904936a2.ab1e8c2c.js b/assets/js/904936a2.ab1e8c2c.js new file mode 100644 index 0000000..805f5ae --- /dev/null +++ b/assets/js/904936a2.ab1e8c2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[475],{6895:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var n=s(4848),i=s(8453);const r={title:"Official Links",description:"Complete directory of official Status Network resources, including main website, tools, development resources, and community links.",keywords:["Status Network links","official resources","network tools","development resources","community links","blockchain explorer","bridge","faucet"]},o="Official Links",l={id:"other/official-links",title:"Official Links",description:"Complete directory of official Status Network resources, including main website, tools, development resources, and community links.",source:"@site/docs/other/official-links.md",sourceDirName:"other",slug:"/other/official-links",permalink:"/other/official-links",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/other/official-links.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Official Links",description:"Complete directory of official Status Network resources, including main website, tools, development resources, and community links.",keywords:["Status Network links","official resources","network tools","development resources","community links","blockchain explorer","bridge","faucet"]},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udf9b\ufe0f Using Remix",permalink:"/tutorials/deploying-contracts/using-remix"}},c={},a=[{value:"Main Resources",id:"main-resources",level:2},{value:"Network Tools",id:"network-tools",level:2},{value:"Development Resources",id:"development-resources",level:2},{value:"Community & Support",id:"community--support",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"official-links",children:"Official Links"})}),"\n",(0,n.jsx)(t.p,{children:"This page contains all the official links for the Status Network ecosystem."}),"\n",(0,n.jsx)(t.h2,{id:"main-resources",children:"Main Resources"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Website"}),": ",(0,n.jsx)(t.a,{href:"https://status.network",children:"status.network"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Documentation"}),": ",(0,n.jsx)(t.a,{href:"https://docs.status.network",children:"docs.status.network"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"GitHub"}),": ",(0,n.jsx)(t.a,{href:"https://github.com/status-im",children:"github.com/status-im"})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"network-tools",children:"Network Tools"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Bridge"}),": ",(0,n.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Block Explorer"}),": ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"sepoliascan.status.network"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"RPC Endpoint"}),": ",(0,n.jsx)(t.code,{children:"https://public.sepolia.rpc.status.network"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Faucet"}),": ",(0,n.jsx)(t.a,{href:"https://faucet.status.network",children:"faucet.status.network"})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"development-resources",children:"Development Resources"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Token List Repository"}),": ",(0,n.jsx)(t.a,{href:"https://github.com/status-im/status-network-token-list",children:"github.com/status-im/status-network-token-list"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Network Status"}),": ",(0,n.jsx)(t.a,{href:"https://health.status.network",children:"status.status.network"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Contract Verification"}),": ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/contract-verification",children:"sepoliascan.status.network/verify-contract"})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"community--support",children:"Community & Support"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Telegram Community"}),": ",(0,n.jsx)(t.a,{href:"https://t.me",children:"t.me/+k04A_OZbhIs1Mzc9"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"X/twitter"}),": ",(0,n.jsx)(t.a,{href:"https://x.com/statusL2",children:"twitter.com/ethstatus"})]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["For detailed information about adding the network to your wallet, see our ",(0,n.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Network guide"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>l});var n=s(6540);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/904936a2.d20f9907.js b/assets/js/904936a2.d20f9907.js deleted file mode 100644 index c04b0fc..0000000 --- a/assets/js/904936a2.d20f9907.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[475],{6895:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var n=s(4848),r=s(8453);const i={},o="Official Links",l={id:"other/official-links",title:"Official Links",description:"This page contains all the official links for the Status Network ecosystem.",source:"@site/docs/other/official-links.md",sourceDirName:"other",slug:"/other/official-links",permalink:"/other/official-links",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/other/official-links.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83c\udf9b\ufe0f Using Remix",permalink:"/tutorials/deploying-contracts/using-remix"}},c={},a=[{value:"Main Resources",id:"main-resources",level:2},{value:"Network Tools",id:"network-tools",level:2},{value:"Development Resources",id:"development-resources",level:2},{value:"Community & Support",id:"community--support",level:2}];function h(t){const e={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"official-links",children:"Official Links"})}),"\n",(0,n.jsx)(e.p,{children:"This page contains all the official links for the Status Network ecosystem."}),"\n",(0,n.jsx)(e.h2,{id:"main-resources",children:"Main Resources"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Website"}),": ",(0,n.jsx)(e.a,{href:"https://status.network",children:"status.network"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Documentation"}),": ",(0,n.jsx)(e.a,{href:"https://docs.status.network",children:"docs.status.network"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"GitHub"}),": ",(0,n.jsx)(e.a,{href:"https://github.com/status-im",children:"github.com/status-im"})]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"network-tools",children:"Network Tools"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Bridge"}),": ",(0,n.jsx)(e.a,{href:"https://bridge.status.network",children:"bridge.status.network"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Block Explorer"}),": ",(0,n.jsx)(e.a,{href:"https://sepoliascan.status.network",children:"sepoliascan.status.network"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"RPC Endpoint"}),": ",(0,n.jsx)(e.code,{children:"https://public.sepolia.rpc.status.network"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Faucet"}),": ",(0,n.jsx)(e.a,{href:"https://faucet.status.network",children:"faucet.status.network"})]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"development-resources",children:"Development Resources"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Token List Repository"}),": ",(0,n.jsx)(e.a,{href:"https://github.com/status-im/status-network-token-list",children:"github.com/status-im/status-network-token-list"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Network Status"}),": ",(0,n.jsx)(e.a,{href:"https://health.status.network",children:"status.status.network"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Contract Verification"}),": ",(0,n.jsx)(e.a,{href:"https://sepoliascan.status.network/contract-verification",children:"sepoliascan.status.network/verify-contract"})]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"community--support",children:"Community & Support"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Telegram Community"}),": ",(0,n.jsx)(e.a,{href:"https://t.me",children:"t.me/+k04A_OZbhIs1Mzc9"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"X/twitter"}),": ",(0,n.jsx)(e.a,{href:"https://x.com/statusL2",children:"twitter.com/ethstatus"})]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["For detailed information about adding the network to your wallet, see our ",(0,n.jsx)(e.a,{href:"/general-info/add-status-network",children:"Add Network guide"}),"."]})]})}function d(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(h,{...t})}):h(t)}},8453:(t,e,s)=>{s.d(e,{R:()=>o,x:()=>l});var n=s(6540);const r={},i=n.createContext(r);function o(t){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:o(t.components),n.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9598ac1c.44afe5ec.js b/assets/js/9598ac1c.44afe5ec.js new file mode 100644 index 0000000..884587a --- /dev/null +++ b/assets/js/9598ac1c.44afe5ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[286],{1546:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=n(4848),s=n(8453);const r={title:"RPC Endpoints",description:"Official RPC endpoints for Status Network, including configuration guides for MetaMask and Web3 libraries. Learn about available methods, rate limits, and best practices.",keywords:["Status Network RPC","JSON-RPC","blockchain API","web3 configuration","MetaMask setup","blockchain development"]},o="RPC Endpoints",a={id:"tools/rpc",title:"RPC Endpoints",description:"Official RPC endpoints for Status Network, including configuration guides for MetaMask and Web3 libraries. Learn about available methods, rate limits, and best practices.",source:"@site/docs/tools/rpc.md",sourceDirName:"tools",slug:"/tools/rpc",permalink:"/tools/rpc",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tools/rpc.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"RPC Endpoints",description:"Official RPC endpoints for Status Network, including configuration guides for MetaMask and Web3 libraries. Learn about available methods, rate limits, and best practices.",keywords:["Status Network RPC","JSON-RPC","blockchain API","web3 configuration","MetaMask setup","blockchain development"]},sidebar:"tutorialSidebar",previous:{title:"\ud83e\uddea Bridging Testnet",permalink:"/general-info/bridge/bridging-testnet"},next:{title:"\ud83c\udf09 Bridge",permalink:"/tools/bridge"}},l={},c=[{value:"Public RPC URL",id:"public-rpc-url",level:2},{value:"Using the RPC",id:"using-the-rpc",level:2},{value:"Adding to MetaMask",id:"adding-to-metamask",level:3},{value:"Web3 Library Configuration",id:"web3-library-configuration",level:3},{value:"Available Methods",id:"available-methods",level:2},{value:"Rate Limits",id:"rate-limits",level:2},{value:"Support",id:"support",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"rpc-endpoints",children:"RPC Endpoints"})}),"\n",(0,i.jsx)(t.p,{children:"The Status Network provides public RPC (Remote Procedure Call) endpoints that allow you to interact with the network."}),"\n",(0,i.jsx)(t.h2,{id:"public-rpc-url",children:"Public RPC URL"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"https://public.sepolia.rpc.status.network\n"})}),"\n",(0,i.jsx)(t.h2,{id:"using-the-rpc",children:"Using the RPC"}),"\n",(0,i.jsx)(t.h3,{id:"adding-to-metamask",children:"Adding to MetaMask"}),"\n",(0,i.jsxs)(t.p,{children:["For instructions on adding Status Network to your wallet using this RPC, see our ",(0,i.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Network guide"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"web3-library-configuration",children:"Web3 Library Configuration"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:"// Web3.js\nconst web3 = new Web3('https://public.sepolia.rpc.status.network');\n\n// Ethers.js v5\nconst provider = new ethers.providers.JsonRpcProvider('https://public.sepolia.rpc.status.network');\n"})}),"\n",(0,i.jsx)(t.h2,{id:"available-methods",children:"Available Methods"}),"\n",(0,i.jsx)(t.p,{children:"The RPC endpoint supports standard Ethereum JSON-RPC methods, including:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_blockNumber"}),": Get the latest block number"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getBalance"}),": Get account balance"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_sendRawTransaction"}),": Send signed transactions"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_call"}),": Execute a call without creating a transaction"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getLogs"}),": Get event logs"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getTransactionByHash"}),": Get transaction details"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getBlockByNumber"}),": Get block information"]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["For a complete list of supported RPC methods and detailed specifications, refer to the ",(0,i.jsx)(t.a,{href:"https://docs.linea.build/api/reference",children:"Linea API Reference"}),", as Status Network is based on Linea technology."]}),"\n",(0,i.jsx)(t.h2,{id:"rate-limits",children:"Rate Limits"}),"\n",(0,i.jsx)(t.p,{children:"The public RPC endpoint has rate limiting to ensure fair usage:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"10 requests per second per IP"}),"\n",(0,i.jsx)(t.li,{children:"100,000 requests per day per IP"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"For higher limits, get in touch with us on Telegram."}),"\n",(0,i.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,i.jsx)(t.p,{children:"If you experience issues with the RPC endpoint:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Check ",(0,i.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})," for any ongoing problems"]}),"\n",(0,i.jsxs)(t.li,{children:["Join our ",(0,i.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})," for support"]}),"\n",(0,i.jsx)(t.li,{children:"Consider implementing a fallback RPC strategy in your application"}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9598ac1c.44c6034c.js b/assets/js/9598ac1c.44c6034c.js deleted file mode 100644 index a663674..0000000 --- a/assets/js/9598ac1c.44c6034c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[286],{1546:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var i=n(4848),s=n(8453);const r={},o="RPC Endpoints",l={id:"tools/rpc",title:"RPC Endpoints",description:"The Status Network provides public RPC (Remote Procedure Call) endpoints that allow you to interact with the network.",source:"@site/docs/tools/rpc.md",sourceDirName:"tools",slug:"/tools/rpc",permalink:"/tools/rpc",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tools/rpc.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83e\uddea Bridging Testnet",permalink:"/general-info/bridge/bridging-testnet"},next:{title:"\ud83c\udf09 Bridge",permalink:"/tools/bridge"}},a={},c=[{value:"Public RPC URL",id:"public-rpc-url",level:2},{value:"Using the RPC",id:"using-the-rpc",level:2},{value:"Adding to MetaMask",id:"adding-to-metamask",level:3},{value:"Web3 Library Configuration",id:"web3-library-configuration",level:3},{value:"Available Methods",id:"available-methods",level:2},{value:"Rate Limits",id:"rate-limits",level:2},{value:"Support",id:"support",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"rpc-endpoints",children:"RPC Endpoints"})}),"\n",(0,i.jsx)(t.p,{children:"The Status Network provides public RPC (Remote Procedure Call) endpoints that allow you to interact with the network."}),"\n",(0,i.jsx)(t.h2,{id:"public-rpc-url",children:"Public RPC URL"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"https://public.sepolia.rpc.status.network\n"})}),"\n",(0,i.jsx)(t.h2,{id:"using-the-rpc",children:"Using the RPC"}),"\n",(0,i.jsx)(t.h3,{id:"adding-to-metamask",children:"Adding to MetaMask"}),"\n",(0,i.jsxs)(t.p,{children:["For instructions on adding Status Network to your wallet using this RPC, see our ",(0,i.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Network guide"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"web3-library-configuration",children:"Web3 Library Configuration"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:"// Web3.js\nconst web3 = new Web3('https://public.sepolia.rpc.status.network');\n\n// Ethers.js v5\nconst provider = new ethers.providers.JsonRpcProvider('https://public.sepolia.rpc.status.network');\n"})}),"\n",(0,i.jsx)(t.h2,{id:"available-methods",children:"Available Methods"}),"\n",(0,i.jsx)(t.p,{children:"The RPC endpoint supports standard Ethereum JSON-RPC methods, including:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_blockNumber"}),": Get the latest block number"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getBalance"}),": Get account balance"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_sendRawTransaction"}),": Send signed transactions"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_call"}),": Execute a call without creating a transaction"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getLogs"}),": Get event logs"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getTransactionByHash"}),": Get transaction details"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"eth_getBlockByNumber"}),": Get block information"]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["For a complete list of supported RPC methods and detailed specifications, refer to the ",(0,i.jsx)(t.a,{href:"https://docs.linea.build/api/reference",children:"Linea API Reference"}),", as Status Network is based on Linea technology."]}),"\n",(0,i.jsx)(t.h2,{id:"rate-limits",children:"Rate Limits"}),"\n",(0,i.jsx)(t.p,{children:"The public RPC endpoint has rate limiting to ensure fair usage:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"10 requests per second per IP"}),"\n",(0,i.jsx)(t.li,{children:"100,000 requests per day per IP"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"For higher limits, get in touch with us on Telegram."}),"\n",(0,i.jsx)(t.h2,{id:"support",children:"Support"}),"\n",(0,i.jsx)(t.p,{children:"If you experience issues with the RPC endpoint:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Check ",(0,i.jsx)(t.a,{href:"https://health.status.network",children:"Network Status"})," for any ongoing problems"]}),"\n",(0,i.jsxs)(t.li,{children:["Join our ",(0,i.jsx)(t.a,{href:"https://t.me",children:"Telegram Community"})," for support"]}),"\n",(0,i.jsx)(t.li,{children:"Consider implementing a fallback RPC strategy in your application"}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9a789939.a8aa669f.js b/assets/js/9a789939.a8aa669f.js deleted file mode 100644 index 81d529f..0000000 --- a/assets/js/9a789939.a8aa669f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[846],{5617:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=r(4848),s=r(8453);const o={},i="Status Network Testnet Explorer",a={id:"tools/block-explorers",title:"Status Network Testnet Explorer",description:"The Status Network block explorer is available at sepoliascan.status.network.",source:"@site/docs/tools/block-explorers.md",sourceDirName:"tools",slug:"/tools/block-explorers",permalink:"/tools/block-explorers",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tools/block-explorers.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udeb0 Testnet Faucets",permalink:"/tools/testnet-faucets"},next:{title:"\ud83c\udfa9 Using Hardhat",permalink:"/tutorials/deploying-contracts/using-hardhat"}},l={},c=[{value:"Features",id:"features",level:3},{value:"Sepolia Explorer (Layer 1)",id:"sepolia-explorer-layer-1",level:2},{value:"Contract Verification",id:"contract-verification",level:2},{value:"API Access",id:"api-access",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"status-network-testnet-explorer",children:"Status Network Testnet Explorer"})}),"\n",(0,n.jsxs)(t.p,{children:["The Status Network block explorer is available at ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"sepoliascan.status.network"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"features",children:"Features"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"View transaction details and status"}),"\n",(0,n.jsx)(t.li,{children:"Track token transfers and balances"}),"\n",(0,n.jsx)(t.li,{children:"Verify smart contract source code"}),"\n",(0,n.jsx)(t.li,{children:"Monitor gas prices and network activity"}),"\n",(0,n.jsx)(t.li,{children:"View and interact with verified smart contracts"}),"\n",(0,n.jsx)(t.li,{children:"Track token holdings for any address"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"sepolia-explorer-layer-1",children:"Sepolia Explorer (Layer 1)"}),"\n",(0,n.jsxs)(t.p,{children:["For tracking transactions on Sepolia (Layer 1), use ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io",children:"Sepolia Etherscan"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"This is particularly useful for:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Monitoring bridge transactions from L1 to L2"}),"\n",(0,n.jsx)(t.li,{children:"Tracking token deposits and withdrawals"}),"\n",(0,n.jsx)(t.li,{children:"Verifying L1 contract interactions"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"contract-verification",children:"Contract Verification"}),"\n",(0,n.jsx)(t.p,{children:"To verify your smart contract on Status Network Explorer:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Navigate to ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/contract-verification",children:"Contract Verification"})]}),"\n",(0,n.jsx)(t.li,{children:"Enter your contract address"}),"\n",(0,n.jsx)(t.li,{children:"Upload your source code and provide compilation details"}),"\n",(0,n.jsx)(t.li,{children:"Submit for verification"}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Once verified, your contract's source code will be publicly visible and users can interact with it directly through the explorer."}),"\n",(0,n.jsx)(t.h2,{id:"api-access",children:"API Access"}),"\n",(0,n.jsx)(t.p,{children:"The Status Network Explorer provides API endpoints for developers. Documentation for the API will be available soon."})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>a});var n=r(6540);const s={},o=n.createContext(s);function i(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9a789939.f22a1990.js b/assets/js/9a789939.f22a1990.js new file mode 100644 index 0000000..904db94 --- /dev/null +++ b/assets/js/9a789939.f22a1990.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[846],{5617:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var o=r(4848),n=r(8453);const i={title:"Status Network Block Explorer",description:"Learn how to use the Status Network block explorer to track transactions, verify smart contracts, and monitor network activity. Complete guide to explorer features and contract verification.",keywords:["Status Network explorer","blockchain explorer","smart contract verification","transaction tracking","block explorer","network monitoring"]},s="Status Network Testnet Explorer",a={id:"tools/block-explorers",title:"Status Network Block Explorer",description:"Learn how to use the Status Network block explorer to track transactions, verify smart contracts, and monitor network activity. Complete guide to explorer features and contract verification.",source:"@site/docs/tools/block-explorers.md",sourceDirName:"tools",slug:"/tools/block-explorers",permalink:"/tools/block-explorers",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tools/block-explorers.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Status Network Block Explorer",description:"Learn how to use the Status Network block explorer to track transactions, verify smart contracts, and monitor network activity. Complete guide to explorer features and contract verification.",keywords:["Status Network explorer","blockchain explorer","smart contract verification","transaction tracking","block explorer","network monitoring"]},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udeb0 Testnet Faucets",permalink:"/tools/testnet-faucets"},next:{title:"\ud83c\udfa9 Using Hardhat",permalink:"/tutorials/deploying-contracts/using-hardhat"}},c={},l=[{value:"Features",id:"features",level:3},{value:"Sepolia Explorer (Layer 1)",id:"sepolia-explorer-layer-1",level:2},{value:"Contract Verification",id:"contract-verification",level:2},{value:"API Access",id:"api-access",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"status-network-testnet-explorer",children:"Status Network Testnet Explorer"})}),"\n",(0,o.jsxs)(t.p,{children:["The Status Network block explorer is available at ",(0,o.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"sepoliascan.status.network"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"features",children:"Features"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"View transaction details and status"}),"\n",(0,o.jsx)(t.li,{children:"Track token transfers and balances"}),"\n",(0,o.jsx)(t.li,{children:"Verify smart contract source code"}),"\n",(0,o.jsx)(t.li,{children:"Monitor gas prices and network activity"}),"\n",(0,o.jsx)(t.li,{children:"View and interact with verified smart contracts"}),"\n",(0,o.jsx)(t.li,{children:"Track token holdings for any address"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"sepolia-explorer-layer-1",children:"Sepolia Explorer (Layer 1)"}),"\n",(0,o.jsxs)(t.p,{children:["For tracking transactions on Sepolia (Layer 1), use ",(0,o.jsx)(t.a,{href:"https://sepolia.etherscan.io",children:"Sepolia Etherscan"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"This is particularly useful for:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Monitoring bridge transactions from L1 to L2"}),"\n",(0,o.jsx)(t.li,{children:"Tracking token deposits and withdrawals"}),"\n",(0,o.jsx)(t.li,{children:"Verifying L1 contract interactions"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"contract-verification",children:"Contract Verification"}),"\n",(0,o.jsx)(t.p,{children:"To verify your smart contract on Status Network Explorer:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["Navigate to ",(0,o.jsx)(t.a,{href:"https://sepoliascan.status.network/contract-verification",children:"Contract Verification"})]}),"\n",(0,o.jsx)(t.li,{children:"Enter your contract address"}),"\n",(0,o.jsx)(t.li,{children:"Upload your source code and provide compilation details"}),"\n",(0,o.jsx)(t.li,{children:"Submit for verification"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Once verified, your contract's source code will be publicly visible and users can interact with it directly through the explorer."}),"\n",(0,o.jsx)(t.h2,{id:"api-access",children:"API Access"}),"\n",(0,o.jsx)(t.p,{children:"The Status Network Explorer provides API endpoints for developers. Documentation for the API will be available soon."})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>a});var o=r(6540);const n={},i=o.createContext(n);function s(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/abd54abf.88750014.js b/assets/js/abd54abf.88750014.js deleted file mode 100644 index 5628840..0000000 --- a/assets/js/abd54abf.88750014.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[386],{1163:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var o=n(4848),s=n(8453);const r={},c="SNT Token",i={id:"tokenomics/snt-token",title:"SNT Token",description:"",source:"@site/docs/tokenomics/snt-token.md",sourceDirName:"tokenomics",slug:"/tokenomics/snt-token",permalink:"/tokenomics/snt-token",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/tokenomics/snt-token.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u26a1 Quick Start",permalink:"/introduction/quick-start"},next:{title:"\ud83d\udca0 Karma Token",permalink:"/tokenomics/karma-token"}},a={},u=[];function k(t){const e={h1:"h1",header:"header",...(0,s.R)(),...t.components};return(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"snt-token",children:"SNT Token"})})}function d(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(k,{...t})}):k(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>c,x:()=>i});var o=n(6540);const s={},r=o.createContext(s);function c(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:c(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/abd54abf.9ca023da.js b/assets/js/abd54abf.9ca023da.js new file mode 100644 index 0000000..7f2b69a --- /dev/null +++ b/assets/js/abd54abf.9ca023da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[386],{1163:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>k,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var o=n(4848),s=n(8453);const r={},c="SNT Token",i={id:"tokenomics/snt-token",title:"SNT Token",description:"",source:"@site/docs/tokenomics/snt-token.md",sourceDirName:"tokenomics",slug:"/tokenomics/snt-token",permalink:"/tokenomics/snt-token",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/tokenomics/snt-token.md",tags:[],version:"current",lastUpdatedAt:1738953496e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u26a1 Quick Start",permalink:"/introduction/quick-start"},next:{title:"\ud83d\udca0 Karma Token",permalink:"/tokenomics/karma-token"}},a={},u=[];function d(t){const e={h1:"h1",header:"header",...(0,s.R)(),...t.components};return(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"snt-token",children:"SNT Token"})})}function k(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>c,x:()=>i});var o=n(6540);const s={},r=o.createContext(s);function c(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:c(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/c377a04b.08c34447.js b/assets/js/c377a04b.08c34447.js deleted file mode 100644 index b9fd86b..0000000 --- a/assets/js/c377a04b.08c34447.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[361],{8321:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=n(4848),s=n(8453);const i={id:"index",title:"Welcome to Status Network",slug:"/",sidebar_position:1},o="Status Network: The Gasless Layer 2 Network",a={id:"index",title:"Welcome to Status Network",description:"Start Building Today",source:"@site/docs/index.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"index",title:"Welcome to Status Network",slug:"/",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"\u26a1 Quick Start",permalink:"/introduction/quick-start"}},d={},l=[{value:"Start Building Today",id:"start-building-today",level:2},{value:"Support & Resources",id:"support--resources",level:2}];function c(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"status-network-the-gasless-layer-2-network",children:"Status Network: The Gasless Layer 2 Network"})}),"\n",(0,r.jsx)(t.h2,{id:"start-building-today",children:"Start Building Today"}),"\n",(0,r.jsx)(t.p,{children:"Ready to join the future of decentralized applications? Here's how to get started:"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Status Network to Your Wallet"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/tools/testnet-faucets",children:"Get Testnet ETH"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"Bridge Assets"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/tutorials/deploying-contracts/using-remix",children:"Deploy Your First Contract"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"support--resources",children:"Support & Resources"}),"\n",(0,r.jsx)(t.p,{children:"Connect with our community and access the resources you need:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram Builder's Community"})]}),"\n",(0,r.jsxs)(t.li,{children:["View ",(0,r.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n",(0,r.jsxs)(t.li,{children:["Browse ",(0,r.jsx)(t.a,{href:"/general-info/contract-addresses/testnet-contracts",children:"Contract Addresses"})]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"Ready to build something amazing? Start your journey with Status Network today!"})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var r=n(6540);const s={},i=r.createContext(s);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c377a04b.2cf25ead.js b/assets/js/c377a04b.2cf25ead.js new file mode 100644 index 0000000..97b7041 --- /dev/null +++ b/assets/js/c377a04b.2cf25ead.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[361],{8321:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var n=s(4848),r=s(8453);const o={id:"index",title:"Welcome to Status Network",description:"Status Network is a gasless Layer 2 blockchain network enabling seamless, fee-free decentralized applications. Start building with easy wallet setup, faucets, and deployment tools.",keywords:["Status Network","Layer 2","gasless blockchain","ethereum scaling","web3 development","dapp development","blockchain development"],slug:"/",sidebar_position:1},i="Status Network: The Gasless Layer 2 Network",a={id:"index",title:"Welcome to Status Network",description:"Status Network is a gasless Layer 2 blockchain network enabling seamless, fee-free decentralized applications. Start building with easy wallet setup, faucets, and deployment tools.",source:"@site/docs/index.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/index.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,sidebarPosition:1,frontMatter:{id:"index",title:"Welcome to Status Network",description:"Status Network is a gasless Layer 2 blockchain network enabling seamless, fee-free decentralized applications. Start building with easy wallet setup, faucets, and deployment tools.",keywords:["Status Network","Layer 2","gasless blockchain","ethereum scaling","web3 development","dapp development","blockchain development"],slug:"/",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"\u26a1 Quick Start",permalink:"/introduction/quick-start"}},l={},d=[{value:"Start Building Today",id:"start-building-today",level:2},{value:"Support & Resources",id:"support--resources",level:2}];function c(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"status-network-the-gasless-layer-2-network",children:"Status Network: The Gasless Layer 2 Network"})}),"\n",(0,n.jsx)(t.h2,{id:"start-building-today",children:"Start Building Today"}),"\n",(0,n.jsx)(t.p,{children:"Ready to join the future of decentralized applications? Here's how to get started:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/general-info/add-status-network",children:"Add Status Network to Your Wallet"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/tools/testnet-faucets",children:"Get Testnet ETH"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/general-info/bridge/bridging-testnet",children:"Bridge Assets"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/tutorials/deploying-contracts/using-remix",children:"Deploy Your First Contract"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"support--resources",children:"Support & Resources"}),"\n",(0,n.jsx)(t.p,{children:"Connect with our community and access the resources you need:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Join our ",(0,n.jsx)(t.a,{href:"https://t.me",children:"Telegram Builder's Community"})]}),"\n",(0,n.jsxs)(t.li,{children:["View ",(0,n.jsx)(t.a,{href:"/general-info/network-details",children:"Network Details"})]}),"\n",(0,n.jsxs)(t.li,{children:["Browse ",(0,n.jsx)(t.a,{href:"/general-info/contract-addresses/testnet-contracts",children:"Contract Addresses"})]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Ready to build something amazing? Start your journey with Status Network today!"})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const r={},o=n.createContext(r);function i(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f03da4f0.7212adc5.js b/assets/js/f03da4f0.7212adc5.js new file mode 100644 index 0000000..f64e023 --- /dev/null +++ b/assets/js/f03da4f0.7212adc5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[885],{8052:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var n=s(4848),r=s(8453);const c={title:"Testnet Contracts",description:"Comprehensive list of Status Network testnet contract addresses, including bridge contracts, core infrastructure, and L2 contracts with their purposes and links to block explorers.",keywords:["Status Network contracts","testnet addresses","smart contracts","bridge contracts","L1 contracts","L2 contracts","blockchain infrastructure"]},a="Testnet Contracts",i={id:"general-info/contract-addresses/testnet-contracts",title:"Testnet Contracts",description:"Comprehensive list of Status Network testnet contract addresses, including bridge contracts, core infrastructure, and L2 contracts with their purposes and links to block explorers.",source:"@site/docs/general-info/contract-addresses/testnet-contracts.md",sourceDirName:"general-info/contract-addresses",slug:"/general-info/contract-addresses/testnet-contracts",permalink:"/general-info/contract-addresses/testnet-contracts",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/general-info/contract-addresses/testnet-contracts.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Testnet Contracts",description:"Comprehensive list of Status Network testnet contract addresses, including bridge contracts, core infrastructure, and L2 contracts with their purposes and links to block explorers.",keywords:["Status Network contracts","testnet addresses","smart contracts","bridge contracts","L1 contracts","L2 contracts","blockchain infrastructure"]},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcb0 Tokens",permalink:"/general-info/contract-addresses/tokens"},next:{title:"\ud83e\uddea Bridging Testnet",permalink:"/general-info/bridge/bridging-testnet"}},o={},d=[{value:"Layer 1 Contracts (Sepolia)",id:"layer-1-contracts-sepolia",level:2},{value:"Bridge Contracts",id:"bridge-contracts",level:3},{value:"Core Infrastructure",id:"core-infrastructure",level:3},{value:"Layer 2 Contracts (Status Network Testnet)",id:"layer-2-contracts-status-network-testnet",level:2},{value:"Bridge Contracts",id:"bridge-contracts-1",level:3},{value:"Infrastructure Contracts",id:"infrastructure-contracts",level:3}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"testnet-contracts",children:"Testnet Contracts"})}),"\n",(0,n.jsx)(t.p,{children:"This page lists all the important contract addresses for the Status Network testnet infrastructure."}),"\n",(0,n.jsx)(t.h2,{id:"layer-1-contracts-sepolia",children:"Layer 1 Contracts (Sepolia)"}),"\n",(0,n.jsxs)(t.p,{children:["These contracts are deployed on the Sepolia testnet. You can view them on ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io",children:"Sepolia Etherscan"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"bridge-contracts",children:"Bridge Contracts"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"L1 Token Bridge Proxy"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io/address/0x01b44C5Ea321f921D93476cf54Aa8460db17a548",children:(0,n.jsx)(t.code,{children:"0x01b44C5Ea321f921D93476cf54Aa8460db17a548"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Manages token bridging operations on L1"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"core-infrastructure",children:"Core Infrastructure"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"L1 Postman"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io/address/0xB15725119b917d348FfEB365B43bCDeEbfb65C5d",children:(0,n.jsx)(t.code,{children:"0xB15725119b917d348FfEB365B43bCDeEbfb65C5d"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Handles message passing between L1 and L2"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"L1 Data Submission"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io/address/0x263d8f55BAc71a42d0A822F46b1eC62Cd4183a8d",children:(0,n.jsx)(t.code,{children:"0x263d8f55BAc71a42d0A822F46b1eC62Cd4183a8d"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Manages data submission from L2 to L1"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"L1 Finalization"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepolia.etherscan.io/address/0xb91CB39b3b9F015b0aC88616A463B35568052AEF",children:(0,n.jsx)(t.code,{children:"0xb91CB39b3b9F015b0aC88616A463B35568052AEF"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Handles finalization of L2 blocks on L1"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"layer-2-contracts-status-network-testnet",children:"Layer 2 Contracts (Status Network Testnet)"}),"\n",(0,n.jsxs)(t.p,{children:["These contracts are deployed on the Status Network testnet. You can view them on ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"bridge-contracts-1",children:"Bridge Contracts"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"L2 Token Bridge Proxy"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0xbC7f9571152a8e21942b2aEa4831a27f1149af19",children:(0,n.jsx)(t.code,{children:"0xbC7f9571152a8e21942b2aEa4831a27f1149af19"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Manages token bridging operations on L2"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"infrastructure-contracts",children:"Infrastructure Contracts"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"L2 Faucet"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0x06338B70F1eAbc60d7A82C083e605C07F78bb878",children:(0,n.jsx)(t.code,{children:"0x06338B70F1eAbc60d7A82C083e605C07F78bb878"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Distributes testnet tokens to users"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"L2 Anchoring"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Address: ",(0,n.jsx)(t.a,{href:"https://sepoliascan.status.network/address/0x24B5eD2763129D6cBDEfE32e08558D2095132560",children:(0,n.jsx)(t.code,{children:"0x24B5eD2763129D6cBDEfE32e08558D2095132560"})})]}),"\n",(0,n.jsx)(t.li,{children:"Purpose: Manages state anchoring between L1 and L2"}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>i});var n=s(6540);const r={},c=n.createContext(r);function a(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f03da4f0.9887be55.js b/assets/js/f03da4f0.9887be55.js deleted file mode 100644 index 9e20893..0000000 --- a/assets/js/f03da4f0.9887be55.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[885],{8052:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>o});var t=n(4848),r=n(8453);const a={},c="Testnet Contracts",i={id:"general-info/contract-addresses/testnet-contracts",title:"Testnet Contracts",description:"This page lists all the important contract addresses for the Status Network testnet infrastructure.",source:"@site/docs/general-info/contract-addresses/testnet-contracts.md",sourceDirName:"general-info/contract-addresses",slug:"/general-info/contract-addresses/testnet-contracts",permalink:"/general-info/contract-addresses/testnet-contracts",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/general-info/contract-addresses/testnet-contracts.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcb0 Tokens",permalink:"/general-info/contract-addresses/tokens"},next:{title:"\ud83e\uddea Bridging Testnet",permalink:"/general-info/bridge/bridging-testnet"}},d={},o=[{value:"Layer 1 Contracts (Sepolia)",id:"layer-1-contracts-sepolia",level:2},{value:"Bridge Contracts",id:"bridge-contracts",level:3},{value:"Core Infrastructure",id:"core-infrastructure",level:3},{value:"Layer 2 Contracts (Status Network Testnet)",id:"layer-2-contracts-status-network-testnet",level:2},{value:"Bridge Contracts",id:"bridge-contracts-1",level:3},{value:"Infrastructure Contracts",id:"infrastructure-contracts",level:3}];function l(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"testnet-contracts",children:"Testnet Contracts"})}),"\n",(0,t.jsx)(s.p,{children:"This page lists all the important contract addresses for the Status Network testnet infrastructure."}),"\n",(0,t.jsx)(s.h2,{id:"layer-1-contracts-sepolia",children:"Layer 1 Contracts (Sepolia)"}),"\n",(0,t.jsxs)(s.p,{children:["These contracts are deployed on the Sepolia testnet. You can view them on ",(0,t.jsx)(s.a,{href:"https://sepolia.etherscan.io",children:"Sepolia Etherscan"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"bridge-contracts",children:"Bridge Contracts"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.strong,{children:"L1 Token Bridge Proxy"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepolia.etherscan.io/address/0x01b44C5Ea321f921D93476cf54Aa8460db17a548",children:(0,t.jsx)(s.code,{children:"0x01b44C5Ea321f921D93476cf54Aa8460db17a548"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Manages token bridging operations on L1"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"core-infrastructure",children:"Core Infrastructure"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"L1 Postman"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepolia.etherscan.io/address/0xB15725119b917d348FfEB365B43bCDeEbfb65C5d",children:(0,t.jsx)(s.code,{children:"0xB15725119b917d348FfEB365B43bCDeEbfb65C5d"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Handles message passing between L1 and L2"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"L1 Data Submission"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepolia.etherscan.io/address/0x263d8f55BAc71a42d0A822F46b1eC62Cd4183a8d",children:(0,t.jsx)(s.code,{children:"0x263d8f55BAc71a42d0A822F46b1eC62Cd4183a8d"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Manages data submission from L2 to L1"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"L1 Finalization"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepolia.etherscan.io/address/0xb91CB39b3b9F015b0aC88616A463B35568052AEF",children:(0,t.jsx)(s.code,{children:"0xb91CB39b3b9F015b0aC88616A463B35568052AEF"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Handles finalization of L2 blocks on L1"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"layer-2-contracts-status-network-testnet",children:"Layer 2 Contracts (Status Network Testnet)"}),"\n",(0,t.jsxs)(s.p,{children:["These contracts are deployed on the Status Network testnet. You can view them on ",(0,t.jsx)(s.a,{href:"https://sepoliascan.status.network",children:"Status Network Explorer"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"bridge-contracts-1",children:"Bridge Contracts"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.strong,{children:"L2 Token Bridge Proxy"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepoliascan.status.network/address/0xbC7f9571152a8e21942b2aEa4831a27f1149af19",children:(0,t.jsx)(s.code,{children:"0xbC7f9571152a8e21942b2aEa4831a27f1149af19"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Manages token bridging operations on L2"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"infrastructure-contracts",children:"Infrastructure Contracts"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"L2 Faucet"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepoliascan.status.network/address/0x06338B70F1eAbc60d7A82C083e605C07F78bb878",children:(0,t.jsx)(s.code,{children:"0x06338B70F1eAbc60d7A82C083e605C07F78bb878"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Distributes testnet tokens to users"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"L2 Anchoring"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Address: ",(0,t.jsx)(s.a,{href:"https://sepoliascan.status.network/address/0x24B5eD2763129D6cBDEfE32e08558D2095132560",children:(0,t.jsx)(s.code,{children:"0x24B5eD2763129D6cBDEfE32e08558D2095132560"})})]}),"\n",(0,t.jsx)(s.li,{children:"Purpose: Manages state anchoring between L1 and L2"}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>i});var t=n(6540);const r={},a=t.createContext(r);function c(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f85d9794.ca881321.js b/assets/js/f85d9794.ca881321.js new file mode 100644 index 0000000..c88591b --- /dev/null +++ b/assets/js/f85d9794.ca881321.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[301],{7371:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var n=s(4848),o=s(8453);const r={title:"Tokens",description:"Official list of supported tokens and their contract addresses on Status Network, including both L1 and L2 token addresses and bridge mappings.",keywords:["Status Network tokens","token list","supported tokens","token addresses","L2 tokens","bridge tokens"]},a="Tokens",d={id:"general-info/contract-addresses/tokens",title:"Tokens",description:"Official list of supported tokens and their contract addresses on Status Network, including both L1 and L2 token addresses and bridge mappings.",source:"@site/docs/general-info/contract-addresses/tokens.md",sourceDirName:"general-info/contract-addresses",slug:"/general-info/contract-addresses/tokens",permalink:"/general-info/contract-addresses/tokens",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/general-info/contract-addresses/tokens.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Tokens",description:"Official list of supported tokens and their contract addresses on Status Network, including both L1 and L2 token addresses and bridge mappings.",keywords:["Status Network tokens","token list","supported tokens","token addresses","L2 tokens","bridge tokens"]},sidebar:"tutorialSidebar",previous:{title:"\u2795 Add Status Network",permalink:"/general-info/add-status-network"},next:{title:"\ud83e\uddea Testnet Contracts",permalink:"/general-info/contract-addresses/testnet-contracts"}},i={},c=[];function l(e){const t={a:"a",h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"tokens",children:"Tokens"})}),"\n",(0,n.jsxs)(t.p,{children:["For the most up-to-date list of supported tokens and their contract addresses on Status Network, please refer to our official ",(0,n.jsx)(t.a,{href:"https://github.com/status-im/status-network-token-list",children:"Status Network Token List repository"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"This repository contains:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Token addresses for both L1 (Sepolia) and L2 (Status Network)"}),"\n",(0,n.jsx)(t.li,{children:"Token metadata (decimals, symbols, etc.)"}),"\n",(0,n.jsx)(t.li,{children:"Bridge contract mappings"}),"\n",(0,n.jsx)(t.li,{children:"App tokens deployed on Status Network"}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"The token list is maintained and updated regularly to ensure accuracy and security of token bridging operations."})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>d});var n=s(6540);const o={},r=n.createContext(o);function a(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f85d9794.d27ec7bd.js b/assets/js/f85d9794.d27ec7bd.js deleted file mode 100644 index fd7ecc3..0000000 --- a/assets/js/f85d9794.d27ec7bd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[301],{7371:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var s=n(4848),o=n(8453);const r={},a="Tokens",i={id:"general-info/contract-addresses/tokens",title:"Tokens",description:"For the most up-to-date list of supported tokens and their contract addresses on Status Network, please refer to our official Status Network Token List repository.",source:"@site/docs/general-info/contract-addresses/tokens.md",sourceDirName:"general-info/contract-addresses",slug:"/general-info/contract-addresses/tokens",permalink:"/general-info/contract-addresses/tokens",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/general-info/contract-addresses/tokens.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\u2795 Add Status Network",permalink:"/general-info/add-status-network"},next:{title:"\ud83e\uddea Testnet Contracts",permalink:"/general-info/contract-addresses/testnet-contracts"}},c={},d=[];function l(e){const t={a:"a",h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"tokens",children:"Tokens"})}),"\n",(0,s.jsxs)(t.p,{children:["For the most up-to-date list of supported tokens and their contract addresses on Status Network, please refer to our official ",(0,s.jsx)(t.a,{href:"https://github.com/status-im/status-network-token-list",children:"Status Network Token List repository"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"This repository contains:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Token addresses for both L1 (Sepolia) and L2 (Status Network)"}),"\n",(0,s.jsx)(t.li,{children:"Token metadata (decimals, symbols, etc.)"}),"\n",(0,s.jsx)(t.li,{children:"Bridge contract mappings"}),"\n",(0,s.jsx)(t.li,{children:"App tokens deployed on Status Network"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"The token list is maintained and updated regularly to ensure accuracy and security of token bridging operations."})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(6540);const o={},r=s.createContext(o);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f90b2cb2.379363b0.js b/assets/js/f90b2cb2.379363b0.js new file mode 100644 index 0000000..e05974d --- /dev/null +++ b/assets/js/f90b2cb2.379363b0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[847],{3091:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=n(4848),r=n(8453);const s={title:"Bridging to Status Network Testnet",description:"Learn how to bridge tokens between Sepolia and Status Network testnet using the official Status Network bridge. Complete guide with prerequisites and step-by-step instructions.",keywords:["Status Network bridge","token bridge","cross-chain bridge","Sepolia bridge","L2 bridge","testnet bridge","blockchain bridge"]},o="Bridging to Status Network Testnet",a={id:"general-info/bridge/bridging-testnet",title:"Bridging to Status Network Testnet",description:"Learn how to bridge tokens between Sepolia and Status Network testnet using the official Status Network bridge. Complete guide with prerequisites and step-by-step instructions.",source:"@site/docs/general-info/bridge/bridging-testnet.md",sourceDirName:"general-info/bridge",slug:"/general-info/bridge/bridging-testnet",permalink:"/general-info/bridge/bridging-testnet",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/docs.status.network/docs/general-info/bridge/bridging-testnet.md",tags:[],version:"current",lastUpdatedAt:1739193403e3,frontMatter:{title:"Bridging to Status Network Testnet",description:"Learn how to bridge tokens between Sepolia and Status Network testnet using the official Status Network bridge. Complete guide with prerequisites and step-by-step instructions.",keywords:["Status Network bridge","token bridge","cross-chain bridge","Sepolia bridge","L2 bridge","testnet bridge","blockchain bridge"]},sidebar:"tutorialSidebar",previous:{title:"\ud83e\uddea Testnet Contracts",permalink:"/general-info/contract-addresses/testnet-contracts"},next:{title:"\ud83d\udd0c RPC",permalink:"/tools/rpc"}},d={},l=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Bridging Process",id:"bridging-process",level:2},{value:"Important Notes",id:"important-notes",level:2}];function c(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"bridging-to-status-network-testnet",children:"Bridging to Status Network Testnet"})}),"\n",(0,i.jsxs)(t.p,{children:["The Status Network bridge allows you to transfer tokens between Sepolia and Status Network testnet. The bridge is deployed at ",(0,i.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"MetaMask or another Web3 wallet installed"}),"\n",(0,i.jsx)(t.li,{children:"Some testnet ETH on Sepolia network"}),"\n",(0,i.jsx)(t.li,{children:"The token you want to bridge on Sepolia network"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"bridging-process",children:"Bridging Process"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Visit ",(0,i.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"})]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:'Connect your wallet by clicking the "Connect Wallet" button in the top right corner'}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Select the token you want to bridge from the dropdown menu"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Enter the amount you want to bridge"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:'Click "Bridge" and confirm the transaction in your wallet'}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Wait for the bridging process to complete"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Bridging typically takes about 5-10 minutes"}),"\n",(0,i.jsx)(t.li,{children:"You can track the status of your bridge transaction on the bridge interface"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"important-notes",children:"Important Notes"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Always verify you're on the correct website (bridge.status.network) before initiating any transactions"}),"\n",(0,i.jsx)(t.li,{children:"Start with a small amount to test the bridge before transferring larger amounts"}),"\n",(0,i.jsx)(t.li,{children:"Make sure you have enough ETH in your wallet to cover gas fees"}),"\n",(0,i.jsxs)(t.li,{children:["If you encounter any issues, join our ",(0,i.jsx)(t.a,{href:"https://t.me",children:"Telegram"})," for support"]}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f90b2cb2.c5ac7e75.js b/assets/js/f90b2cb2.c5ac7e75.js deleted file mode 100644 index c0a95ee..0000000 --- a/assets/js/f90b2cb2.c5ac7e75.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[847],{3091:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var r=n(4848),i=n(8453);const s={},o="Bridging to Status Network Testnet",l={id:"general-info/bridge/bridging-testnet",title:"Bridging to Status Network Testnet",description:"The Status Network bridge allows you to transfer tokens between Sepolia and Status Network testnet. The bridge is deployed at bridge.status.network.",source:"@site/docs/general-info/bridge/bridging-testnet.md",sourceDirName:"general-info/bridge",slug:"/general-info/bridge/bridging-testnet",permalink:"/general-info/bridge/bridging-testnet",draft:!1,unlisted:!1,editUrl:"https://github.com/status-im/status-network-docs/tree/main/docs/general-info/bridge/bridging-testnet.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83e\uddea Testnet Contracts",permalink:"/general-info/contract-addresses/testnet-contracts"},next:{title:"\ud83d\udd0c RPC",permalink:"/tools/rpc"}},a={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Bridging Process",id:"bridging-process",level:2},{value:"Important Notes",id:"important-notes",level:2}];function c(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"bridging-to-status-network-testnet",children:"Bridging to Status Network Testnet"})}),"\n",(0,r.jsxs)(t.p,{children:["The Status Network bridge allows you to transfer tokens between Sepolia and Status Network testnet. The bridge is deployed at ",(0,r.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"MetaMask or another Web3 wallet installed"}),"\n",(0,r.jsx)(t.li,{children:"Some testnet ETH on Sepolia network"}),"\n",(0,r.jsx)(t.li,{children:"The token you want to bridge on Sepolia network"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"bridging-process",children:"Bridging Process"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["Visit ",(0,r.jsx)(t.a,{href:"https://bridge.status.network",children:"bridge.status.network"})]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:'Connect your wallet by clicking the "Connect Wallet" button in the top right corner'}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Select the token you want to bridge from the dropdown menu"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Enter the amount you want to bridge"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:'Click "Bridge" and confirm the transaction in your wallet'}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Wait for the bridging process to complete"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Bridging typically takes about 5-10 minutes"}),"\n",(0,r.jsx)(t.li,{children:"You can track the status of your bridge transaction on the bridge interface"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"important-notes",children:"Important Notes"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Always verify you're on the correct website (bridge.status.network) before initiating any transactions"}),"\n",(0,r.jsx)(t.li,{children:"Start with a small amount to test the bridge before transferring larger amounts"}),"\n",(0,r.jsx)(t.li,{children:"Make sure you have enough ETH in your wallet to cover gas fees"}),"\n",(0,r.jsxs)(t.li,{children:["If you encounter any issues, join our ",(0,r.jsx)(t.a,{href:"https://t.me",children:"Telegram"})," for support"]}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var r=n(6540);const i={},s=r.createContext(i);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.b5e040f7.js b/assets/js/main.b5e040f7.js new file mode 100644 index 0000000..a435d6a --- /dev/null +++ b/assets/js/main.b5e040f7.js @@ -0,0 +1,2 @@ +/*! For license information please see main.b5e040f7.js.LICENSE.txt */ +(self.webpackChunkstatus_network_docs=self.webpackChunkstatus_network_docs||[]).push([[792],{3219:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>g,E8:()=>Un,a1:()=>zn});var r=n(6540);n(961);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function D(e){for(var t=1;t=3||2===n&&r>=4||1===n&&r>=10);function a(t,n,r){if(o&&void 0!==r){var a=r[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[t].concat(P(n),[{headers:i}]))}else e.apply(void 0,[t].concat(P(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&a("clickedObjectIDsAfterSearch",M(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&a("clickedObjectIDs",M(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&a("convertedObjectIDsAfterSearch",M(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&a("convertedObjectIDs",M(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&t.reduce((function(e,t){var n=t.items,r=N(t,A);return[].concat(P(e),P(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function B(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function z(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function U(e){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},U(e)}function $(e){return function(e){if(Array.isArray(e))return q(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&K({onItemsChange:r,items:n,insights:l,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;i("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:l}}),n((function(e){var t=e.item,n=e.state,r=e.event;z(t)&&o({state:n,event:r,insights:l,item:t,insightsEvents:[V({eventName:"Item Selected"},C({item:t,items:s.current}))]})})),r((function(e){var t=e.item,n=e.state,r=e.event;z(t)&&a({state:n,event:r,insights:l,item:t,insightsEvents:[V({eventName:"Item Active"},C({item:t,items:s.current}))]})}))},onStateChange:function(e){var t=e.state;c({state:t})},__autocomplete_pluginOptions:e}}function Y(e,t){var n=t;return{then:function(t,r){return Y(e.then(J(t,n,e),J(r,n,e)),n)},catch:function(t){return Y(e.catch(J(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),Y(e.finally(J(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function Z(e){return Y(e,{isCanceled:!1,onCancelList:[]})}function J(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function X(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:"autocomplete-".concat(w++),plugins:o,initialState:ge({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(function(e){return function(e){if(Array.isArray(e))return me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return me(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:E,onResolve:E};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=te(te({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return b(e)})).then((function(e){return e.map((function(e){return ge(ge({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:ge({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function be(e){return be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},be(e)}function we(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ke(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Ie);Be&&o.environment.clearTimeout(Be);var c=s.setCollections,u=s.setIsOpen,d=s.setQuery,f=s.setActiveItemId,p=s.setStatus;if(d(a),f(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var m,h=l.getState().collections.map((function(e){return Re(Re({},e),{},{items:[]})}));p("idle"),c(h),u(null!==(m=r.isOpen)&&void 0!==m?m:o.shouldPanelOpen({state:l.getState()}));var g=Z(ze(h).then((function(){return Promise.resolve()})));return l.pendingRequests.add(g)}p("loading"),Be=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var y=Z(ze(o.getSources(Re({query:a,refresh:i,state:l.getState()},s)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(Re({query:a,refresh:i,state:l.getState()},s))).then((function(t){return function(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(je(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return _e(_e({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?_e(_e({},n),{},{params:_e(_e({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}(t,e.sourceId,l.getState())}))}))).then(Te).then((function(t){return function(e,t,n){return t.map((function(t){var r,o=e.filter((function(e){return e.sourceId===t.sourceId})),a=o.map((function(e){return e.items})),i=o[0].transformResponse,l=i?i({results:r=a,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):a;return t.onResolve({source:t,results:a,items:l,state:n.getState()}),l.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:l}}))}(t,e,l)})).then((function(e){return function(e){var t=e.props,n=e.state,r=e.collections.reduce((function(e,t){return ke(ke({},e),{},Se({},t.source.sourceId,ke(ke({},t.source),{},{getItems:function(){return b(t.items)}})))}),{}),o=t.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:r,state:n}).sourcesBySourceId;return b(t.reshape({sourcesBySourceId:o,sources:Object.values(o),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:l.getState()})}))})))).then((function(e){var n;p("idle"),c(e);var d=o.shouldPanelOpen({state:l.getState()});u(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&d||d);var f=oe(l.getState());if(null!==l.getState().activeItemId&&f){var m=f.item,h=f.itemInputValue,g=f.itemUrl,y=f.source;y.onActive(Re({event:t,item:m,itemInputValue:h,itemUrl:g,refresh:i,source:y,state:l.getState()},s))}})).finally((function(){p("idle"),Be&&o.environment.clearTimeout(Be)}));return l.pendingRequests.add(y)}function $e(e){return $e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$e(e)}var qe=["event","props","refresh","store"];function He(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ve(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function at(e){var t=e.props,n=e.refresh,r=e.store,o=ot(e,Ke),a=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return(n=t)===(r=e.target)||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return nt({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},ot(e,Qe))},getRootProps:function(e){return nt({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){return e.inputElement,nt({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(nt({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(nt({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},ot(e,Ye))},getLabelProps:function(e){var n=e||{},r=n.sourceIndex,o=ot(n,Je);return nt({htmlFor:"".concat(a(t.id,r),"-input"),id:"".concat(a(t.id,r),"-label")},o)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&Ue(nt({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var l=e||{},s=(l.inputElement,l.maxLength),c=void 0===s?512:s,u=ot(l,Ze),d=oe(r.getState()),f=function(e){return Boolean(e&&e.match(ae))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),p=null!=d&&d.itemUrl&&!f?"go":"search";return nt({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?"".concat(t.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:p,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){Ue(nt({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,qe);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=n.environment.document.getElementById("".concat(n.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},l=function(){var e=oe(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,l=e.itemUrl,s=e.source;s.onActive(Ve({event:t,item:n,itemInputValue:i,itemUrl:l,refresh:r,source:s,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?Ue(Ve({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),l(),setTimeout(i,0)})):(o.dispatch(t.key,{}),l(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var s=oe(o.getState()),c=s.item,u=s.itemInputValue,d=s.itemUrl,f=s.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(f.onSelect(Ve({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(f.onSelect(Ve({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return f.onSelect(Ve({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:c,state:o.getState()});Ue(Ve({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:r,store:o},a)).then((function(){f.onSelect(Ve({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a))}))}}}(nt({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:E,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},u)},getPanelProps:function(e){return nt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.sourceIndex,o=ot(n,Xe);return nt({role:"listbox","aria-labelledby":"".concat(a(t.id,r),"-label"),id:"".concat(a(t.id,r),"-list")},o)},getItemProps:function(e){var i=e.item,l=e.source,s=e.sourceIndex,c=ot(e,et);return nt({id:"".concat(a(t.id,s),"-item-").concat(i.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=oe(r.getState());if(null!==r.getState().activeItemId&&t){var a=t.item,l=t.itemInputValue,s=t.itemUrl,c=t.source;c.onActive(nt({event:e,item:a,itemInputValue:l,itemUrl:s,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var a=l.getItemInputValue({item:i,state:r.getState()}),s=l.getItemUrl({item:i,state:r.getState()});(s?Promise.resolve():Ue(nt({event:e,nextState:{isOpen:!1},props:t,query:a,refresh:n,store:r},o))).then((function(){l.onSelect(nt({event:e,item:i,itemInputValue:a,itemUrl:s,refresh:n,source:l,state:r.getState()},o))}))}},c)}}}function it(e){return it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},it(e)}function lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function st(e){for(var t=1;t0&&r.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},r.createElement("p",{className:"DocSearch-Help"},c,":"),r.createElement("ul",null,h.slice(0,3).reduce((function(e,t){return[].concat(u(e),[r.createElement("li",{key:t},r.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){o.setQuery(t.toLowerCase()+" "),o.refresh(),o.inputRef.current.focus()}},t))])}),[]))),o.getMissingResultsUrl&&r.createElement("p",{className:"DocSearch-Help"},"".concat(f," "),r.createElement("a",{href:o.getMissingResultsUrl({query:o.state.query}),target:"_blank",rel:"noopener noreferrer"},m)))}var zt=["hit","attribute","tagName"];function Ut(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function $t(e){var t=e.hit,n=e.attribute,o=e.tagName,i=void 0===o?"span":o,l=s(e,zt);return(0,r.createElement)(i,a(a({},l),{},{dangerouslySetInnerHTML:{__html:Ut(t,"_snippetResult.".concat(n,".value"))||Ut(t,n)}}))}function qt(e){return e.collection&&0!==e.collection.items.length?r.createElement("section",{className:"DocSearch-Hits"},r.createElement("div",{className:"DocSearch-Hit-source"},e.title),r.createElement("ul",e.getListProps(),e.collection.items.map((function(t,n){return r.createElement(Ht,l({key:[e.title,t.objectID].join(":"),item:t,index:n},e))})))):null}function Ht(e){var t=e.item,n=e.index,o=e.renderIcon,a=e.renderAction,i=e.getItemProps,s=e.onItemClick,u=e.collection,d=e.hitComponent,f=c(r.useState(!1),2),p=f[0],m=f[1],h=c(r.useState(!1),2),g=h[0],y=h[1],v=r.useRef(null),b=d;return r.createElement("li",l({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",p&&"DocSearch-Hit--deleting",g&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){v.current&&v.current()}},i({item:t,source:u.source,onClick:function(e){s(t,e)}})),r.createElement(b,{hit:t},r.createElement("div",{className:"DocSearch-Hit-Container"},o({item:t,index:n}),t.hierarchy[t.type]&&"lvl1"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement($t,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&r.createElement($t,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement($t,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),r.createElement($t,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement($t,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),r.createElement($t,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),a({item:t,runDeleteTransition:function(e){m(!0),v.current=e},runFavoriteTransition:function(e){y(!0),v.current=e}}))))}function Vt(e,t,n){return e.reduce((function(e,r){var o=t(r);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(n||5)&&e[o].push(r),e}),{})}function Gt(e){return e}function Wt(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function Kt(){}var Qt=/(|<\/mark>)/g,Yt=RegExp(Qt.source);function Zt(e){var t,n,r=e;if(!r.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=r.__docsearch_parent?null===(t=r.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(n=e._highlightResult)||void 0===n||null===(n=n.hierarchy)||void 0===n?void 0:n.lvl0;return o?o.value&&Yt.test(o.value)?o.value.replace(Qt,""):o.value:e.hierarchy.lvl0}function Jt(e){return r.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var n=Zt(t.items[0]);return r.createElement(qt,l({},e,{key:t.source.sourceId,title:n,collection:t,renderIcon:function(e){var n,o=e.item,a=e.index;return r.createElement(r.Fragment,null,o.__docsearch_parent&&r.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},o.__docsearch_parent!==(null===(n=t.items[a+1])||void 0===n?void 0:n.__docsearch_parent)?r.createElement("path",{d:"M8 6v21M20 27H8.3"}):r.createElement("path",{d:"M8 6v42M20 27H8.3"}))),r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Pt,{type:o.type})))},renderAction:function(){return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement(At,null))}}))})),e.resultsFooterComponent&&r.createElement("section",{className:"DocSearch-HitsFooter"},r.createElement(e.resultsFooterComponent,{state:e.state})))}var Xt=["translations"];function en(e){var t=e.translations,n=void 0===t?{}:t,o=s(e,Xt),a=n.recentSearchesTitle,i=void 0===a?"Recent":a,c=n.noRecentSearchesText,u=void 0===c?"No recent searches":c,d=n.saveRecentSearchButtonTitle,f=void 0===d?"Save this search":d,p=n.removeRecentSearchButtonTitle,m=void 0===p?"Remove this search from history":p,h=n.favoriteSearchesTitle,g=void 0===h?"Favorite":h,y=n.removeFavoriteSearchButtonTitle,v=void 0===y?"Remove this search from favorites":y;return"idle"===o.state.status&&!1===o.hasCollections?o.disableUserPersonalization?null:r.createElement("div",{className:"DocSearch-StartScreen"},r.createElement("p",{className:"DocSearch-Help"},u)):!1===o.hasCollections?null:r.createElement("div",{className:"DocSearch-Dropdown-Container"},r.createElement(qt,l({},o,{title:i,collection:o.state.collections[0],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(jt,null))},renderAction:function(e){var t=e.item,n=e.runFavoriteTransition,a=e.runDeleteTransition;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){o.favoriteSearches.add(t),o.recentSearches.remove(t),o.refresh()}))}},r.createElement(Rt,null))),r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:m,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),a((function(){o.recentSearches.remove(t),o.refresh()}))}},r.createElement(Ot,null))))}})),r.createElement(qt,l({},o,{title:g,collection:o.state.collections[1],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Rt,null))},renderAction:function(e){var t=e.item,n=e.runDeleteTransition;return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:v,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){o.favoriteSearches.remove(t),o.refresh()}))}},r.createElement(Ot,null)))}})))}var tn=["translations"],nn=r.memo((function(e){var t=e.translations,n=void 0===t?{}:t,o=s(e,tn);if("error"===o.state.status)return r.createElement(Mt,{translations:null==n?void 0:n.errorScreen});var a=o.state.collections.some((function(e){return e.items.length>0}));return o.state.query?!1===a?r.createElement(Bt,l({},o,{translations:null==n?void 0:n.noResultsScreen})):r.createElement(Jt,o):r.createElement(en,l({},o,{hasCollections:a,translations:null==n?void 0:n.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status})),rn=["translations"];function on(e){var t=e.translations,n=void 0===t?{}:t,o=s(e,rn),a=n.resetButtonTitle,i=void 0===a?"Clear the query":a,c=n.resetButtonAriaLabel,u=void 0===c?"Clear the query":c,d=n.cancelButtonText,f=void 0===d?"Cancel":d,p=n.cancelButtonAriaLabel,h=void 0===p?"Cancel":p,g=n.searchInputLabel,y=void 0===g?"Search":g,v=o.getFormProps({inputElement:o.inputRef.current}).onReset;return r.useEffect((function(){o.autoFocus&&o.inputRef.current&&o.inputRef.current.focus()}),[o.autoFocus,o.inputRef]),r.useEffect((function(){o.isFromSelection&&o.inputRef.current&&o.inputRef.current.select()}),[o.isFromSelection,o.inputRef]),r.createElement(r.Fragment,null,r.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:v},r.createElement("label",l({className:"DocSearch-MagnifierLabel"},o.getLabelProps()),r.createElement(m,null),r.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},y)),r.createElement("div",{className:"DocSearch-LoadingIndicator"},r.createElement(Ct,null)),r.createElement("input",l({className:"DocSearch-Input",ref:o.inputRef},o.getInputProps({inputElement:o.inputRef.current,autoFocus:o.autoFocus,maxLength:64}))),r.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":u,hidden:!o.state.query},r.createElement(Ot,null))),r.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":h,onClick:o.onClose},f))}var an=["_highlightResult","_snippetResult"];function ln(e){var t=e.key,n=e.limit,r=void 0===n?5:n,o=function(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(e){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}(t),a=o.getItem().slice(0,r);return{add:function(e){var t=e,n=(t._highlightResult,t._snippetResult,s(t,an)),i=a.findIndex((function(e){return e.objectID===n.objectID}));i>-1&&a.splice(i,1),a.unshift(n),a=a.slice(0,r),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function sn(e){const t=`algoliasearch-client-js-${e.key}`;let n;const r=()=>(void 0===n&&(n=e.localStorage||window.localStorage),n),o=()=>JSON.parse(r().getItem(t)||"{}"),a=e=>{r().setItem(t,JSON.stringify(e))};return{get:(t,n,r={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{(()=>{const t=e.timeToLive?1e3*e.timeToLive:null,n=o(),r=Object.fromEntries(Object.entries(n).filter((([,e])=>void 0!==e.timestamp)));if(a(r),!t)return;const i=Object.fromEntries(Object.entries(r).filter((([,e])=>{const n=(new Date).getTime();return!(e.timestamp+tPromise.all([e?e.value:n(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||r.miss(e)]))).then((([e])=>e)),set:(e,n)=>Promise.resolve().then((()=>{const a=o();return a[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:n},r().setItem(t,JSON.stringify(a)),n})),delete:e=>Promise.resolve().then((()=>{const n=o();delete n[JSON.stringify(e)],r().setItem(t,JSON.stringify(n))})),clear:()=>Promise.resolve().then((()=>{r().removeItem(t)}))}}function cn(e){const t=[...e.caches],n=t.shift();return void 0===n?{get:(e,t,n={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,n.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,r,o={miss:()=>Promise.resolve()})=>n.get(e,r,o).catch((()=>cn({caches:t}).get(e,r,o))),set:(e,r)=>n.set(e,r).catch((()=>cn({caches:t}).set(e,r))),delete:e=>n.delete(e).catch((()=>cn({caches:t}).delete(e))),clear:()=>n.clear().catch((()=>cn({caches:t}).clear()))}}function un(e={serializable:!0}){let t={};return{get(n,r,o={miss:()=>Promise.resolve()}){const a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);const i=r(),l=o&&o.miss||(()=>Promise.resolve());return i.then((e=>l(e))).then((()=>i))},set:(n,r)=>(t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function dn(e){let t=e.length-1;for(;t>0;t--){const n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function fn(e,t){return t?(Object.keys(t).forEach((n=>{e[n]=t[n](e)})),e):e}function pn(e,...t){let n=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[n++])))}const mn={WithinQueryParameters:0,WithinHeaders:1};function hn(e,t){const n=e||{},r=n.data||{};return Object.keys(n).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(r[e]=n[e])})),{data:Object.entries(r).length>0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}const gn={Read:1,Write:2,Any:3};function yn(e,t=1){return{...e,status:t,lastUpdate:Date.now()}}function vn(e){return"string"==typeof e?{protocol:"https",url:e,accept:gn.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||gn.Any}}const bn="GET",wn="POST";function kn(e,t,n,r){const o=[],a=function(e,t){if(e.method===bn||void 0===e.data&&void 0===t.data)return;const n=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(n)}(n,r),i=function(e,t){const n={...e.headers,...t.headers},r={};return Object.keys(n).forEach((e=>{const t=n[e];r[e.toLowerCase()]=t})),r}(e,r),l=n.method,s=n.method!==bn?{}:{...n.data,...r.data},c={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...s,...r.queryParameters};let u=0;const d=(t,s)=>{const f=t.pop();if(void 0===f)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:_n(o)};const p={data:a,headers:i,method:l,url:xn(f,n.path,c),connectTimeout:s(u,e.timeouts.connect),responseTimeout:s(u,r.timeout)},m=e=>{const n={request:p,response:e,host:f,triesLeft:t.length};return o.push(n),n},h={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(n){const r=m(n);return n.isTimedOut&&u++,Promise.all([e.logger.info("Retryable failure",Cn(r)),e.hostsCache.set(f,yn(f,n.isTimedOut?3:2))]).then((()=>d(t,s)))},onFail(e){throw m(e),function({content:e,status:t},n){let r=e;try{r=JSON.parse(e).message}catch(e){}return function(e,t,n){return{name:"ApiError",message:e,status:t,transporterStackTrace:n}}(r,t,n)}(e,_n(o))}};return e.requester.send(p).then((e=>((e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&!~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e))(e,h)))};return function(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(yn(t))))))).then((e=>{const n=e.filter((e=>function(e){return 1===e.status||Date.now()-e.lastUpdate>12e4}(e))),r=e.filter((e=>function(e){return 3===e.status&&Date.now()-e.lastUpdate<=12e4}(e))),o=[...n,...r];return{getTimeout:(e,t)=>(0===r.length&&0===e?1:r.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>vn(e))):t}}))}(e.hostsCache,t).then((e=>d([...e.statelessHosts].reverse(),e.getTimeout)))}function Sn(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const n=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(n)&&(t.value=`${t.value}${n}`),t}};return t}function xn(e,t,n){const r=En(n);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return r.length&&(o+=`?${r}`),o}function En(e){return Object.keys(e).map((t=>{return pn("%s=%s",t,(n=e[t],"[object Object]"===Object.prototype.toString.call(n)||"[object Array]"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n})).join("&")}function _n(e){return e.map((e=>Cn(e)))}function Cn(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const jn=e=>{const t=e.appId,n=function(e,t,n){const r={"x-algolia-api-key":n,"x-algolia-application-id":t};return{headers:()=>e===mn.WithinHeaders?r:{},queryParameters:()=>e===mn.WithinQueryParameters?r:{}}}(void 0!==e.authMode?e.authMode:mn.WithinHeaders,t,e.apiKey),r=function(e){const{hostsCache:t,logger:n,requester:r,requestsCache:o,responsesCache:a,timeouts:i,userAgent:l,hosts:s,queryParameters:c,headers:u}=e,d={hostsCache:t,logger:n,requester:r,requestsCache:o,responsesCache:a,timeouts:i,userAgent:l,headers:u,queryParameters:c,hosts:s.map((e=>vn(e))),read(e,t){const n=hn(t,d.timeouts.read),r=()=>kn(d,d.hosts.filter((e=>!!(e.accept&gn.Read))),e,n);if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();const o={request:e,mappedRequestOptions:n,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(o,(()=>d.requestsCache.get(o,(()=>d.requestsCache.set(o,r()).then((e=>Promise.all([d.requestsCache.delete(o),e])),(e=>Promise.all([d.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>d.responsesCache.set(o,e)})},write:(e,t)=>kn(d,d.hosts.filter((e=>!!(e.accept&gn.Write))),e,hn(t,d.timeouts.write))};return d}({hosts:[{url:`${t}-dsn.algolia.net`,accept:gn.Read},{url:`${t}.algolia.net`,accept:gn.Write}].concat(dn([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...n.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...n.queryParameters(),...e.queryParameters}}),o={transporter:r,appId:t,addAlgoliaAgent(e,t){r.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([r.requestsCache.clear(),r.responsesCache.clear()]).then((()=>{}))};return fn(o,e.methods)},On=e=>(t,n)=>t.method===bn?e.transporter.read(t,n):e.transporter.write(t,n),An=e=>(t,n={})=>fn({transporter:e.transporter,appId:e.appId,indexName:t},n.methods),Tn=e=>(t,n)=>{const r=t.map((e=>({...e,params:En(e.params||{})})));return e.transporter.read({method:wn,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)},Pn=e=>(t,n)=>Promise.all(t.map((t=>{const{facetName:r,facetQuery:o,...a}=t.params;return An(e)(t.indexName,{methods:{searchForFacetValues:Rn}}).searchForFacetValues(r,o,{...n,...a})}))),In=e=>(t,n,r)=>e.transporter.read({method:wn,path:pn("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:n},cacheable:!0},r),Nn=e=>(t,n)=>e.transporter.read({method:wn,path:pn("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n),Rn=e=>(t,n,r)=>e.transporter.read({method:wn,path:pn("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},r),Dn=1,Ln=2,Mn=3;function Fn(e,t,n){const r={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>n.setRequestHeader(t,e.headers[t])));const r=(e,r)=>setTimeout((()=>{n.abort(),t({status:0,content:r,isTimedOut:!0})}),1e3*e),o=r(e.connectTimeout,"Connection timeout");let a;n.onreadystatechange=()=>{n.readyState>n.OPENED&&void 0===a&&(clearTimeout(o),a=r(e.responseTimeout,"Socket timeout"))},n.onerror=()=>{0===n.status&&(clearTimeout(o),clearTimeout(a),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=()=>{clearTimeout(o),clearTimeout(a),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))},logger:(o=Mn,{debug:(e,t)=>(Dn>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(Ln>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:un(),requestsCache:un({serializable:!1}),hostsCache:cn({caches:[sn({key:`4.19.1-${e}`}),un()]}),userAgent:Sn("4.19.1").add({segment:"Browser",version:"lite"}),authMode:mn.WithinQueryParameters};var o;return jn({...r,...n,methods:{search:Tn,searchForFacetValues:Pn,multipleQueries:Tn,multipleSearchForFacetValues:Pn,customRequest:On,initIndex:e=>t=>An(e)(t,{methods:{search:Nn,searchForFacetValues:Rn,findAnswers:In}})}})}Fn.version="4.19.1";var Bn=["footer","searchBox"];function zn(e){var t=e.appId,n=e.apiKey,o=e.indexName,i=e.placeholder,u=void 0===i?"Search docs":i,d=e.searchParameters,f=e.maxResultsPerGroup,p=e.onClose,m=void 0===p?Kt:p,h=e.transformItems,g=void 0===h?Gt:h,y=e.hitComponent,v=void 0===y?_t:y,b=e.resultsFooterComponent,w=void 0===b?function(){return null}:b,k=e.navigator,S=e.initialScrollY,x=void 0===S?0:S,E=e.transformSearchClient,_=void 0===E?Gt:E,C=e.disableUserPersonalization,j=void 0!==C&&C,O=e.initialQuery,A=void 0===O?"":O,T=e.translations,P=void 0===T?{}:T,I=e.getMissingResultsUrl,N=e.insights,R=void 0!==N&&N,D=P.footer,L=P.searchBox,M=s(P,Bn),F=c(r.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=F[0],z=F[1],U=r.useRef(null),$=r.useRef(null),q=r.useRef(null),H=r.useRef(null),V=r.useRef(null),G=r.useRef(10),W=r.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,K=r.useRef(A||W).current,Q=function(e,t,n){return r.useMemo((function(){var r=Fn(e,t);return r.addAlgoliaAgent("docsearch","3.6.2"),!1===/docsearch.js \(.*\)/.test(r.transporter.userAgent.value)&&r.addAlgoliaAgent("docsearch-react","3.6.2"),n(r)}),[e,t,n])}(t,n,_),Y=r.useRef(ln({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(o),limit:10})).current,Z=r.useRef(ln({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(o),limit:0===Y.getAll().length?7:4})).current,J=r.useCallback((function(e){if(!j){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===Y.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&Z.add(t)}}),[Y,Z,j]),X=r.useCallback((function(e){if(B.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,n={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(n)}}),[B.context.algoliaInsightsPlugin]),ee=r.useMemo((function(){return kt({id:"docsearch",defaultActiveItemId:0,placeholder:u,openOnFocus:!0,initialState:{query:K,context:{searchSuggestions:[]}},insights:R,navigator:k,onStateChange:function(e){z(e.state)},getSources:function(e){var r=e.query,i=e.state,l=e.setContext,s=e.setStatus;if(!r)return j?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,n=e.event;J(t),Wt(n)||m()},getItemUrl:function(e){return e.item.url},getItems:function(){return Z.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,n=e.event;J(t),Wt(n)||m()},getItemUrl:function(e){return e.item.url},getItems:function(){return Y.getAll()}}];var c=Boolean(R);return Q.search([{query:r,indexName:o,params:a({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(G.current),"hierarchy.lvl2:".concat(G.current),"hierarchy.lvl3:".concat(G.current),"hierarchy.lvl4:".concat(G.current),"hierarchy.lvl5:".concat(G.current),"hierarchy.lvl6:".concat(G.current),"content:".concat(G.current)],snippetEllipsisText:"\u2026",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20,clickAnalytics:c},d)}]).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var r=e.results[0],s=r.hits,u=r.nbHits,d=Vt(s,(function(e){return Zt(e)}),f);i.context.searchSuggestions.length0&&(re(),V.current&&V.current.focus())}),[K,re]),r.useEffect((function(){function e(){if($.current){var e=.01*window.innerHeight;$.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),r.createElement("div",l({ref:U},ne({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===B.status&&"DocSearch-Container--Stalled","error"===B.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&m()}}),r.createElement("div",{className:"DocSearch-Modal",ref:$},r.createElement("header",{className:"DocSearch-SearchBar",ref:q},r.createElement(on,l({},ee,{state:B,autoFocus:0===K.length,inputRef:V,isFromSelection:Boolean(K)&&K===W,translations:L,onClose:m}))),r.createElement("div",{className:"DocSearch-Dropdown",ref:H},r.createElement(nn,l({},ee,{indexName:o,state:B,hitComponent:v,resultsFooterComponent:w,disableUserPersonalization:j,recentSearches:Z,favoriteSearches:Y,inputRef:V,translations:M,getMissingResultsUrl:I,onItemClick:function(e,t){X(e),J(e),Wt(t)||m()}}))),r.createElement("footer",{className:"DocSearch-Footer"},r.createElement(Et,{translations:D}))))}function Un(e){var t=e.isOpen,n=e.onOpen,o=e.onClose,a=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;(27===e.keyCode&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?o():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&a&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&a(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,o,a,i])}},8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"079c9a32":[()=>n.e(13).then(n.bind(n,264)),"@site/docs/tokenomics/karma-token.md",264],"0f8cca8e":[()=>n.e(219).then(n.bind(n,4204)),"@site/docs/terms-of-use.md",4204],17896441:[()=>Promise.all([n.e(869),n.e(401)]).then(n.bind(n,2391)),"@theme/DocItem",2391],"1a4e3797":[()=>Promise.all([n.e(869),n.e(138)]).then(n.bind(n,9057)),"@theme/SearchPage",9057],"1d080eba":[()=>n.e(30).then(n.bind(n,3370)),"@site/docs/general-info/add-status-network.md",3370],"22dd74f7":[()=>n.e(567).then(n.t.bind(n,5226,19)),"@generated/docusaurus-plugin-content-docs/default/p/index-466.json",5226],"390b0396":[()=>n.e(435).then(n.bind(n,6545)),"@site/docs/tutorials/deploying-contracts/using-remix.md",6545],"5252cc52":[()=>n.e(900).then(n.bind(n,4210)),"@site/docs/tutorials/deploying-contracts/using-hardhat.md",4210],"572f3558":[()=>n.e(604).then(n.bind(n,4452)),"@site/docs/introduction/quick-start.md",4452],"5d1e787d":[()=>n.e(870).then(n.bind(n,2858)),"@site/docs/tools/testnet-faucets.md",2858],"5e95c892":[()=>n.e(647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"6b3e4299":[()=>n.e(683).then(n.bind(n,2908)),"@site/docs/general-info/network-details.md",2908],"7b3ceffd":[()=>n.e(553).then(n.bind(n,2960)),"@site/docs/tools/bridge.md",2960],"8c5da4da":[()=>n.e(453).then(n.bind(n,1488)),"@site/docs/privacy-policy.md",1488],"8ff8f49b":[()=>n.e(584).then(n.bind(n,6001)),"@site/docs/tutorials/deploying-contracts/using-foundry.md",6001],"904936a2":[()=>n.e(475).then(n.bind(n,6895)),"@site/docs/other/official-links.md",6895],"9598ac1c":[()=>n.e(286).then(n.bind(n,1546)),"@site/docs/tools/rpc.md",1546],"9a789939":[()=>n.e(846).then(n.bind(n,5617)),"@site/docs/tools/block-explorers.md",5617],a7bd4aaa:[()=>n.e(98).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,1377)),"@theme/DocRoot",1377],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],abd54abf:[()=>n.e(386).then(n.bind(n,1163)),"@site/docs/tokenomics/snt-token.md",1163],c141421f:[()=>n.e(957).then(n.t.bind(n,936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",936],c377a04b:[()=>n.e(361).then(n.bind(n,8321)),"@site/docs/index.md",8321],f03da4f0:[()=>n.e(885).then(n.bind(n,8052)),"@site/docs/general-info/contract-addresses/testnet-contracts.md",8052],f85d9794:[()=>n.e(301).then(n.bind(n,7371)),"@site/docs/general-info/contract-addresses/tokens.md",7371],f90b2cb2:[()=>n.e(847).then(n.bind(n,3091)),"@site/docs/general-info/bridge/bridging-testnet.md",3091]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,l.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},f=[],p=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const s=o.__props;return delete o.__props,(0,l.jsx)(u.W,{value:i,children:(0,l.jsx)(a,{...o,...s,...n})})}})}const f=[{path:"/search",component:d("/search","5de"),exact:!0},{path:"/",component:d("/","208"),routes:[{path:"/",component:d("/","34f"),routes:[{path:"/",component:d("/","30c"),routes:[{path:"/general-info/add-status-network",component:d("/general-info/add-status-network","f68"),exact:!0,sidebar:"tutorialSidebar"},{path:"/general-info/bridge/bridging-testnet",component:d("/general-info/bridge/bridging-testnet","105"),exact:!0,sidebar:"tutorialSidebar"},{path:"/general-info/contract-addresses/testnet-contracts",component:d("/general-info/contract-addresses/testnet-contracts","7ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/general-info/contract-addresses/tokens",component:d("/general-info/contract-addresses/tokens","aae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/general-info/network-details",component:d("/general-info/network-details","ec3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/introduction/quick-start",component:d("/introduction/quick-start","5ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/other/official-links",component:d("/other/official-links","d1f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/privacy-policy",component:d("/privacy-policy","9ff"),exact:!0},{path:"/terms-of-use",component:d("/terms-of-use","d65"),exact:!0},{path:"/tokenomics/karma-token",component:d("/tokenomics/karma-token","3a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tokenomics/snt-token",component:d("/tokenomics/snt-token","6f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tools/block-explorers",component:d("/tools/block-explorers","fbf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tools/bridge",component:d("/tools/bridge","a9e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tools/rpc",component:d("/tools/rpc","974"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tools/testnet-faucets",component:d("/tools/testnet-faucets","503"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tutorials/deploying-contracts/using-foundry",component:d("/tutorials/deploying-contracts/using-foundry","12c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tutorials/deploying-contracts/using-hardhat",component:d("/tutorials/deploying-contracts/using-hardhat","065"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tutorials/deploying-contracts/using-remix",component:d("/tutorials/deploying-contracts/using-remix","704"),exact:!0,sidebar:"tutorialSidebar"},{path:"/",component:d("/","5cb"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(545),i=n(4625),l=n(4784),s=n(8193);const c=[n(1911),n(119),n(6134),n(6294),n(1043)];var u=n(8328),d=n(6347),f=n(2831),p=n(4848);function m(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var h=n(5260),g=n(4586),y=n(6025),v=n(6342),b=n(9024),w=n(2131),k=n(4090),S=n(2967),x=n(440),E=n(1463);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,d.zy)();return e+(0,x.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function j(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,v.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(b.be,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(_,{}),(0,p.jsx)(E.A,{tag:S.C,locale:e}),(0,p.jsx)(h.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const O=new Map;var A=n(6125),T=n(6988),P=n(205);function I(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,P.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),I("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?I("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=I("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const L=D,M="__docusaurus-base-url-issue-banner-suggestion-container";function F(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return O.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return O.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(L,{location:e,children:V})}function W(){return(0,p.jsx)($.A,{children:(0,p.jsx)(T.l,{children:(0,p.jsxs)(A.x,{children:[(0,p.jsxs)(m,{children:[(0,p.jsx)(U,{}),(0,p.jsx)(j,{}),(0,p.jsx)(z,{}),(0,p.jsx)(G,{})]}),(0,p.jsx)(H,{})]})})})}var K=n(4054);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(6921);const Z=new Set,J=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch:e=>{if(!(e=>!X()&&!J.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,f.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(K).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!J.has(e))(e)&&(J.add(e),R(e))},te=Object.freeze(ee);function ne(e){let{children:t}=e;return"hash"===l.A.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const re=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(a.vd,{children:(0,p.jsx)(ne,{children:(0,p.jsx)(W,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(re)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};R(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(6540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"index","docs":[{"id":"general-info/add-status-network","path":"/general-info/add-status-network","sidebar":"tutorialSidebar"},{"id":"general-info/bridge/bridging-testnet","path":"/general-info/bridge/bridging-testnet","sidebar":"tutorialSidebar"},{"id":"general-info/contract-addresses/testnet-contracts","path":"/general-info/contract-addresses/testnet-contracts","sidebar":"tutorialSidebar"},{"id":"general-info/contract-addresses/tokens","path":"/general-info/contract-addresses/tokens","sidebar":"tutorialSidebar"},{"id":"general-info/network-details","path":"/general-info/network-details","sidebar":"tutorialSidebar"},{"id":"index","path":"/","sidebar":"tutorialSidebar"},{"id":"introduction/quick-start","path":"/introduction/quick-start","sidebar":"tutorialSidebar"},{"id":"other/official-links","path":"/other/official-links","sidebar":"tutorialSidebar"},{"id":"privacy-policy","path":"/privacy-policy"},{"id":"terms-of-use","path":"/terms-of-use"},{"id":"tokenomics/karma-token","path":"/tokenomics/karma-token","sidebar":"tutorialSidebar"},{"id":"tokenomics/snt-token","path":"/tokenomics/snt-token","sidebar":"tutorialSidebar"},{"id":"tools/block-explorers","path":"/tools/block-explorers","sidebar":"tutorialSidebar"},{"id":"tools/bridge","path":"/tools/bridge","sidebar":"tutorialSidebar"},{"id":"tools/rpc","path":"/tools/rpc","sidebar":"tutorialSidebar"},{"id":"tools/testnet-faucets","path":"/tools/testnet-faucets","sidebar":"tutorialSidebar"},{"id":"tutorials/deploying-contracts/using-foundry","path":"/tutorials/deploying-contracts/using-foundry","sidebar":"tutorialSidebar"},{"id":"tutorials/deploying-contracts/using-hardhat","path":"/tutorials/deploying-contracts/using-hardhat","sidebar":"tutorialSidebar"},{"id":"tutorials/deploying-contracts/using-remix","path":"/tutorials/deploying-contracts/using-remix","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"\ud83c\udfe0 Home"}}}}],"breadcrumbs":true}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-4GHNHQDPG2"],"anonymizeIP":true,"id":"default"}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh","ko","ja"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en-US","calendar":"gregory","path":"en"},"zh":{"label":"\u4e2d\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh"},"ko":{"label":"\ud55c\uad6d\uc5b4","direction":"ltr","htmlLang":"ko-KR","calendar":"gregory","path":"ko"},"ja":{"label":"\u65e5\u672c\u8a9e","direction":"ltr","htmlLang":"ja-JP","calendar":"gregory","path":"ja"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.5.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.5.2"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.5.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.5.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.5.2"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.5.2"}}}');var c=n(4848);const u={siteConfig:o.A,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(u);function f(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(6540),o=n(8193),a=n(5260),i=n(440),l=n(1957),s=n(3102),c=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,c.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(f,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(l.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(p,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(545),o=n(4848);function a(e){return(0,o.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),o=n(4625),a=n(440),i=n(4586),l=n(6654),s=n(8193),c=n(3427),u=n(6025),d=n(4848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...v}=e;const{siteConfig:b}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=b,S=b.future.experimental_router,{withBaseUrl:x}=(0,u.hH)(),E=(0,c.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=f||p;const j=(0,l.A)(C),O=C?.replace("pathname://","");let A=void 0!==O?(T=O,y&&(e=>e.startsWith("/"))(T)?x(T):T):void 0;var T;"hash"===S&&A?.startsWith("./")&&(A=A?.slice(1)),A&&j&&(A=(0,a.Ks)(A,{trailingSlash:w,baseUrl:k}));const P=(0,r.useRef)(!1),I=n?o.k2:o.N_,N=s.A.canUseIntersectionObserver,R=(0,r.useRef)(),D=()=>{P.current||null==A||(window.docusaurus.preload(A),P.current=!0)};(0,r.useEffect)((()=>(!N&&j&&s.A.canUseDOM&&null!=A&&window.docusaurus.prefetch(A),()=>{N&&R.current&&R.current.disconnect()})),[R,A,N,j]);const L=A?.startsWith("#")??!1,M=!v.target||"_self"===v.target,F=!A||!j||!M||L&&"hash"!==S;g||!L&&F||E.collectLink(A),v.id&&E.collectAnchor(v.id);const B={};return F?(0,d.jsx)("a",{ref:_,href:A,...C&&!j&&{target:"_blank",rel:"noopener noreferrer"},...v,...B}):(0,d.jsx)(I,{...v,onMouseEnter:D,onTouchStart:D,innerRef:e=>{_.current=e,N&&e&&j&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=A&&window.docusaurus.prefetch(A))}))})),R.current.observe(e))},to:A,...n&&{isActive:h,activeClassName:m},...B})}const p=r.forwardRef(f)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>s});var r=n(6540),o=n(4848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(6540),o=n(4586),a=n(6654);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,l=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:l}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===l)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const s=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+s:s}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:l}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6988);function a(){return(0,r.useContext)(o.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const o=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540),o=n(4848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},3886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>b,g1:()=>v});var r=n(6540),o=n(4070),a=n(7065),i=n(6342),l=n(679),s=n(9532),c=n(4848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,l.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(p.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,c.jsx)(h,{children:t})}function y(){const e=(0,r.useContext)(p);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=y(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function b(){const e=(0,o.Gy)(),[t]=y();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},2565:(e,t,n)=>{"use strict";n.d(t,{k:()=>a,v:()=>i});var r=n(4070),o=n(3886);function a(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r.Gy)(),t=(0,r.gk)(),n=(0,o.XK)();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],l=e[r].versions.find((e=>e.isLast));return a(r,(o??i??l).name)}))]}},609:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>c});var r=n(6540),o=n(9532),a=n(4848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},4718:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>f,w8:()=>h,B5:()=>x,Vd:()=>w,QB:()=>S,fW:()=>k,OF:()=>b,Y:()=>y});var r=n(6540),o=n(6347),a=n(2831),i=n(4070),l=n(9169);function s(e){return Array.from(new Set(e))}var c=n(3886),u=n(3025),d=n(609);function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const p=(e,t)=>void 0!==e&&(0,l.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||m(e.items,t))}function g(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>g(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>g(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,l.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,l.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function b(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function w(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>s([t,n,o].filter(Boolean))),[t,n,o])}function k(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${s(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function x(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,l=i.find((e=>(0,o.B6)(n.pathname,e)));if(!l)return null;const s=l.sidebar,c=s?r.docsSidebars[s]:void 0;return{docElement:(0,a.v)(i),sidebarName:s,sidebarItems:c}}},3025:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>y,vT:()=>p,gk:()=>m,Gy:()=>d,HW:()=>v,ht:()=>f,r7:()=>g,jh:()=>h});var r=n(6347),o=n(4586),a=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=s(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,f=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function m(e){void 0===e&&(e={});const t=p(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function h(e){return f(e).versions}function g(e){const t=f(e);return l(t)}function y(e){const t=f(e),{pathname:n}=(0,r.zy)();return c(t,n)}function v(e){const t=f(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},1911:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},6134:(e,t,n)=>{"use strict";var r=n(1765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.A,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(4164),o=n(1312),a=n(6342),i=n(8774),l=n(3427);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(4848);function u(e){let{as:t,id:n,...u}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:f}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const p=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",f?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},1957:(e,t,n)=>{"use strict";n.d(t,{A:()=>Ct});var r=n(6540),o=n(4164),a=n(7489),i=n(9024),l=n(6347),s=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=p();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(7559),y=n(4090);const v={skipToContent:"skipToContent_fXgn"};function b(){return(0,u.jsx)(h,{className:v.skipToContent})}var w=n(6342),k=n(5041);function S(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const x={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",x.closeButton,e.className),children:(0,u.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const j={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function O(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:j.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:j.announcementBarPlaceholder}),(0,u.jsx)(C,{className:j.announcementBarContent}),a&&(0,u.jsx)(E,{onClick:n,className:j.announcementBarClose})]})}var A=n(2069),T=n(3104);var P=n(9532),I=n(5600);const N=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,A.M)(),t=(0,I.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,P.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(N.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function L(){const e=(0,r.useContext)(N);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,I.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:D(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=L();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(5293),B=n(2303);function z(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,B.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.A)($.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.A)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,u.jsx)(z,{className:(0,o.A)($.toggleIcon,$.lightToggleIcon)}),(0,u.jsx)(U,{className:(0,o.A)($.toggleIcon,$.darkToggleIcon)})]})})}const H=r.memo(q),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,F.G)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(3465);function K(){return(0,u.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(S,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(K,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var Z=n(8774),J=n(6025),X=n(6654),ee=n(1252),te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...c}=e;const d=(0,J.Ay)(r),f=(0,J.Ay)(t),p=(0,J.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,X.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,m&&(0,u.jsx)(te.A,{...l&&{width:12,height:12}})]})};return o?(0,u.jsx)(Z.A,{href:s?p:o,...c,...h}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(f)},...c,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),le=n(9169),se=n(4586);const ce="dropdownNavbarItemMobile_S0Fm";function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,u.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,o.A)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:l.children??l.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Fe,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.A)(ce,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(Fe,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,u.jsx)(r,{...n})}var me=n(2131);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(961),ve=n(3219),be=n(5260),we=n(4255),ke=n(1062),Se=n(2967),xe=n(2565);function Ee(){return[`language:${(0,se.A)().i18n.currentLocale}`,function(){const e=(0,xe.v)();return[Se.C,...e]}().map((e=>`docusaurus_tag:${e}`))]}const _e={button:{buttonText:(0,s.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,s.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,s.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,s.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,s.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,s.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,s.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,s.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,s.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,s.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,s.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,s.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,s.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,s.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,s.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,s.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ce=null;function je(e){let{hit:t,children:n}=e;return(0,u.jsx)(Z.A,{to:t.url,children:n})}function Oe(e){let{state:t,onClose:n}=e;const r=(0,we.w)();return(0,u.jsx)(Z.A,{to:r(t.query),onClick:n,children:(0,u.jsx)(s.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ae(e){let{contextualSearch:t,externalUrlRegex:o,...a}=e;const{siteMetadata:i}=(0,se.A)(),s=(0,ke.C)(),c=Ee(),d=a.searchParameters?.facetFilters??[],f=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(c,d):d,p={...a.searchParameters,facetFilters:f},m=(0,l.W6)(),h=(0,r.useRef)(null),g=(0,r.useRef)(null),[y,v]=(0,r.useState)(!1),[b,w]=(0,r.useState)(void 0),k=(0,r.useCallback)((()=>Ce?Promise.resolve():Promise.all([n.e(158).then(n.bind(n,8158)),Promise.all([n.e(869),n.e(913)]).then(n.bind(n,8913)),Promise.all([n.e(869),n.e(416)]).then(n.bind(n,416))]).then((e=>{let[{DocSearchModal:t}]=e;Ce=t}))),[]),S=(0,r.useCallback)((()=>{if(!h.current){const e=document.createElement("div");h.current=e,document.body.insertBefore(e,document.body.firstChild)}}),[]),x=(0,r.useCallback)((()=>{S(),k().then((()=>v(!0)))}),[k,S]),E=(0,r.useCallback)((()=>{v(!1),g.current?.focus()}),[]),_=(0,r.useCallback)((e=>{"f"===e.key&&(e.metaKey||e.ctrlKey)||(e.preventDefault(),w(e.key),x())}),[x]),C=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(o,t)?window.location.href=t:m.push(t)}}).current,j=(0,r.useRef)((e=>a.transformItems?a.transformItems(e):e.map((e=>({...e,url:s(e.url)}))))).current,O=(0,r.useMemo)((()=>e=>(0,u.jsx)(Oe,{...e,onClose:E})),[E]),A=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return(0,ve.E8)({isOpen:y,onOpen:x,onClose:E,onInput:_,searchButtonRef:g}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(be.A,{children:(0,u.jsx)("link",{rel:"preconnect",href:`https://${a.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,u.jsx)(ve.Bc,{onTouchStart:k,onFocus:k,onMouseOver:k,onClick:x,ref:g,translations:_e.button}),y&&Ce&&h.current&&(0,ye.createPortal)((0,u.jsx)(Ce,{onClose:E,initialScrollY:window.scrollY,initialQuery:b,navigator:C,transformItems:j,hitComponent:je,transformSearchClient:A,...a.searchPagePath&&{resultsFooterComponent:O},...a,searchParameters:p,placeholder:_e.placeholder,translations:_e.modal}),h.current)]})}function Te(){const{siteConfig:e}=(0,se.A)();return(0,u.jsx)(Ae,{...e.themeConfig.algolia})}const Pe={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ie(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.A)(n,Pe.navbarSearchContainer),children:t})}var Ne=n(4070),Re=n(4718);var De=n(3886);function Le(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Me={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.A)(),f=(0,me.o)(),{search:p,hash:m}=(0,l.zy)(),h=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(pe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Ie,{className:n,children:(0,u.jsx)(Te,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Ne.zK)(r),i=(0,Re.QB)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Ne.zK)(r),i=(0,Re.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Re.Vd)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,l.zy)(),f=(0,Ne.zK)(n),p=(0,Ne.jh)(n),{savePreferredVersionName:m}=(0,De.g1)(n),h=[...o,...p.map((function(e){const t=Le(e,f);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>m(e.name)}})),...a],g=(0,Re.Vd)(n)[0],y=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,v=t&&h.length>1?void 0:Le(g,f).path;return h.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:y,to:v,isActive:r?()=>!1:void 0}):(0,u.jsx)(pe,{...i,mobile:t,label:y,to:v,items:h,isActive:r?()=>!1:void 0})}};function Fe(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Me[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function Be(){const e=(0,A.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Fe,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function ze(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ue(){const e=0===(0,w.p)().navbar.items.length,t=L();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(ze,{onClick:()=>t.hide()}),t.content]})}function $e(){const e=(0,A.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(M,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Be,{}),secondaryMenu:(0,u.jsx)(Ue,{})}):null}const qe={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function He(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Ve(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,A.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,T.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[qe.navbarHideable,!d&&qe.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(He,{onClick:i.toggle}),(0,u.jsx)($e,{})]})}var Ge=n(440);const We={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ke(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Qe(e){let{error:t}=e;const n=(0,Ge.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:We.errorBoundaryError,children:n})}class Ye extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Ze="right";function Je(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Xe(){const{toggle:e,shown:t}=(0,A.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(Je,{})})}const et={colorModeToggle:"colorModeToggle_DEke"};function tt(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Ye,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Fe,{...e})},t)))})}function nt(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function rt(){const e=(0,A.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Ze)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(nt,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Xe,{}),(0,u.jsx)(K,{}),(0,u.jsx)(tt,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(tt,{items:r}),(0,u.jsx)(G,{className:et.colorModeToggle}),!o&&(0,u.jsx)(Ie,{children:(0,u.jsx)(Te,{})})]})})}function ot(){return(0,u.jsx)(Ve,{children:(0,u.jsx)(rt,{})})}function at(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,J.Ay)(n),s=(0,J.Ay)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,X.A)(r)&&(0,u.jsx)(te.A,{})]})}function it(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(at,{item:t})},t.href??t.to)}function lt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(it,{item:e},t)))})]})}function st(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(lt,{column:e},t)))})}function ct(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function ut(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(at,{item:t})}function dt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(ut,{item:e}),t.length!==n+1&&(0,u.jsx)(ct,{})]},n)))})})}function ft(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(st,{columns:t}):(0,u.jsx)(dt,{links:t})}var pt=n(1122);const mt="footerLogoLink_BH7S";function ht(e){let{logo:t}=e;const{withBaseUrl:n}=(0,J.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(pt.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function gt(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:mt,target:t.target,children:(0,u.jsx)(ht,{logo:t})}):(0,u.jsx)(ht,{logo:t})}function yt(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function vt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function bt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(vt,{style:o,links:n&&n.length>0&&(0,u.jsx)(ft,{links:n}),logo:r&&(0,u.jsx)(gt,{logo:r}),copyright:t&&(0,u.jsx)(yt,{copyright:t})})}const wt=r.memo(bt),kt=(0,P.fM)([F.a,k.o,T.Tv,De.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(I.y_,{children:(0,u.jsx)(A.e,{children:(0,u.jsx)(R,{children:t})})})}]);function St(e){let{children:t}=e;return(0,u.jsx)(kt,{children:t})}var xt=n(1107);function Et(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(xt.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Ke,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Qe,{error:t})})]})})})}const _t={mainWrapper:"mainWrapper_z2l0"};function Ct(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,u.jsxs)(St,{children:[(0,u.jsx)(i.be,{title:l,description:s}),(0,u.jsx)(b,{}),(0,u.jsx)(O,{}),(0,u.jsx)(ot,{}),(0,u.jsx)("div",{id:d,className:(0,o.A)(g.G.wrapper.main,_t.mainWrapper,r),children:(0,u.jsx)(a.A,{fallback:e=>(0,u.jsx)(Et,{...e}),children:t})}),!n&&(0,u.jsx)(wt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8774),o=n(6025),a=n(4586),i=n(6342),l=n(1122),s=n(4848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...f}=e,p=(0,o.Ay)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.A,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:h,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(5260),o=n(4848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),o=n(4164),a=n(2303),i=n(5293);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(4848);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>c});var r=n(6540),o=n(8193),a=n(205),i=n(3109),l=n(4848);const s="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return p({collapsibleRef:u,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(u.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(6540),o=n(2303),a=n(679),i=n(9532),l=n(6342),s=n(4848);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),f=e=>c.set(String(e)),p=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&f(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(6540),o=n(8193),a=n(9532),i=n(679),l=n(6342),s=n(4848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,m=e=>o.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},2069:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(6540),o=n(5600),a=n(4581),i=n(7485),l=n(6342),s=n(9532),c=n(4848);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,l.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[s,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(s)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function f(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function p(){const e=r.useContext(u);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>s,y_:()=>l});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(6540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4255:(e,t,n)=>{"use strict";n.d(t,{b:()=>l,w:()=>s});var r=n(6540),o=n(4586),a=n(7485);const i="q";function l(){return(0,a.l)(i)}function s(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.A)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(6540),o=n(8193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},481:(e,t,n)=>{"use strict";n.d(t,{s:()=>o});var r=n(4586);function o(e){const{siteConfig:t}=(0,r.A)(),{title:n,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${n}`:n}},7485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,l:()=>s});var r=n(6540),o=n(6347),a=n(9532);function i(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){const t=(0,o.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function s(e){const t=function(e){return l((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}(e)??"",n=function(e){const t=(0,o.W6)();return(0,r.useCallback)(((n,r)=>{const o=new URLSearchParams(t.location.search);n?o.set(e,n):o.delete(e),(r?.push?t.push:t.replace)({search:o.toString()})}),[e,t])}(e);return[t,n]}},9024:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>m});var r=n(6540),o=n(4164),a=n(5260),i=n(3102);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(6025),c=n(481),u=n(4848);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=(0,c.s)(t),{withBaseUrl:d}=(0,s.hH)(),f=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.A,{children:[t&&(0,u.jsx)("title",{children:l}),t&&(0,u.jsx)("meta",{property:"og:title",content:l}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,u.jsx)("meta",{property:"og:image",content:f}),f&&(0,u.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,o.A)(i,t);return(0,u.jsxs)(f.Provider,{value:l,children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(p,{className:(0,o.A)(r,a),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>u});var r=n(6540),o=n(205),a=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},1252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),o=n(8328),a=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>c,gk:()=>p});var r=n(6540),o=n(8193),a=n(2303),i=(n(205),n(9532)),l=n(4848);const s=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{C:()=>r});const r="default"},679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(6540);const r=JSON.parse('{"N":"localStorage","M":""}'),o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?s:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),o=n(6347),a=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,o.zy)(),c=(0,a.Ks)(s,{trailingSlash:n,baseUrl:e}),u=l===i?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),o=n(6347),a=n(9532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(4586);function o(){return(0,r.A)().siteConfig.themeConfig}},8126:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var r=n(4586);function o(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},1062:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(6540),o=n(1252),a=n(6025),i=n(8126);function l(){const{withBaseUrl:e}=(0,a.hH)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.c)();return(0,r.useCallback)((r=>{const a=new URL(r);if((0,o.G)(t,a.href))return r;const i=`${a.pathname+a.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),l="/"===i||i===r?i:(s=i,c=n,c?o(s):a(s));var s,c;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(2566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},440:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(1635);var o=n(2983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(2566);var i=n(253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>p,sC:()=>O,AO:()=>f});var r=n(8168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,h(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(8380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),a.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++o;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),y&&v.push.apply(v,i([y])),"string"==typeof c?l.splice.apply(l,[s,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},8692:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=8692},3157:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(c),l=(l||[]).map(c);var u=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var f,p=r(s),m=u;o(m);){for(var h in f={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(f[e]=!0)}))}for(var y in d)if(!(y in u))for(var v in p(y))if(v in u){f[y]=!0;break}for(var b in m=f)u[b]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=r(e);else{var f=i(u.map((function(e){var t=c(e);return delete s[e],t})));a?o=a(f,(function(){return r(e)})):r(e)}return l[e]=o}for(var u in n)c(u);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,u,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),o=n(9982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n