Skip to content

Commit

Permalink
add rollups tab
Browse files Browse the repository at this point in the history
  • Loading branch information
pablomendezroyo committed Sep 11, 2023
1 parent 21e0863 commit 66c5fb9
Show file tree
Hide file tree
Showing 7 changed files with 143 additions and 0 deletions.
7 changes: 7 additions & 0 deletions packages/admin-ui/src/components/sidebar/navbarItems.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
} from "react-icons/md";
import { SiEthereum } from "react-icons/si";
import { BiGitRepoForked } from "react-icons/bi";
import { GiRolledCloth } from "react-icons/gi";
// URLs
import { relativePath as dashboardRelativePath } from "pages/dashboard";
import { relativePath as devicesRelativePath } from "pages/vpn";
Expand All @@ -28,6 +29,7 @@ import { relativePath as supportRelativePath } from "pages/support";
import { relativePath as wifiRelativePath } from "pages/wifi";
import { relativePath as communityRelativePath } from "pages/community";
import { relativePath as stakersRelativePath } from "pages/stakers";
import { relativePath as rollupsRelativePath } from "pages/rollups";
import { relativePath as repositoryRelativePath } from "pages/repository";

export const fundedBy: { logo: string; text: string; link: string }[] = [
Expand Down Expand Up @@ -111,6 +113,11 @@ export const basicItems: {
href: stakersRelativePath,
icon: SiEthereum
},
{
name: "Rollups",
href: rollupsRelativePath,
icon: GiRolledCloth
},
{
name: "Repository",
href: repositoryRelativePath,
Expand Down
2 changes: 2 additions & 0 deletions packages/admin-ui/src/pages/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import * as system from "./system";
import * as wifi from "./wifi";
import * as community from "./community";
import * as stakers from "./stakers";
import * as rollups from "./rollups";
import * as repository from "./repository";

export const pages = {
Expand All @@ -17,6 +18,7 @@ export const pages = {
installer,
packages,
stakers,
rollups,
sdk,
support,
community,
Expand Down
5 changes: 5 additions & 0 deletions packages/admin-ui/src/pages/rollups/components/Optimism.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import React from "react";

export default function Optimism() {
return <div>Optimism</div>;
}
5 changes: 5 additions & 0 deletions packages/admin-ui/src/pages/rollups/components/Polygon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import React from "react";

export default function Polygon() {
return <div>Polygon</div>;
}
58 changes: 58 additions & 0 deletions packages/admin-ui/src/pages/rollups/components/RollupsRoot.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import React from "react";
import Optimism from "./Optimism";
import Polygon from "./Polygon";
import Title from "components/Title";
import { NavLink, Routes, Route } from "react-router-dom";
import { title } from "../data";

const RollupsRoot: React.FC = () => {
const rollupsItems: {
subPath: string;
title: string;
component: () => React.JSX.Element;
}[] = [
{
subPath: "optimism",
title: "Optimism",
component: () => Optimism()
},
{
subPath: "polygon",
title: "Polygon",
component: () => Polygon()
}
];

return (
<>
<Title title={title} />
<div className="horizontal-navbar">
{rollupsItems.map(route => (
<button key={route.subPath} className="item-container">
<NavLink
to={route.subPath}
className="item no-a-style"
style={{ whiteSpace: "nowrap" }}
>
{route.title}
</NavLink>
</button>
))}
</div>

<div className="section-spacing">
<Routes>
{rollupsItems.map(route => (
<Route
key={route.subPath}
path={route.subPath}
element={route.component()}
/>
))}
</Routes>
</div>
</>
);
};

export default RollupsRoot;
62 changes: 62 additions & 0 deletions packages/admin-ui/src/pages/rollups/data.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
export const relativePath = "rollups/optimism"; // default redirect to optimism
export const rootPath = "rollups/*";
export const title = "Rollups";
export const disclaimer = `## Terms of Use - DAppNode
Effective as of Oct 14, 2020
By downloading, accessing or using this DAppNode Package (“DNP”), you (referenced herein as “you” or the “user”) certify that you have read and agreed to the terms and conditions below (the “Terms”) which form a binding contract between you and DAppNode Association (referenced herein as “we” or “us”). If you do not agree to the Terms, do not download or use DAppNode nor any of the DNPs.
### About DAppNode
DAppNode is Free Open Source Software (“FOSS”) aimed at facilitating the use of decentralized technologies. DAppNode is developed by the DAppNode Association, a voluntary association with the purpose of empowering users to participate in decentralized networks and to help such networks become more resilient by promoting the deployment of more nodes.
The modular structure of the DAppNode FOSS allows for the wrapping of 3rd party software with the intention of facilitating its deployment. In no way we are responsible for the misuse of such software and in no way we warrant its functionalities. We accept no responsibiity for its errors, or for the errors that the wrapping process might have introduced. Any usage of DAppNode and a DNP is strictly at your own risk.
### About this DNP
This software is experimental, presented ‘as is’ and inherently carries risks. By installing it, you acknowledge that DAppNode Association has done its best to mitigate these risks and accept to waive any liability or responsibility for DAppNode Association in case of any shortage, discrepancy, damage, loss or destruction of any digital asset managed within this DAppNode package.
This package helps block proposers receive blocks from block producers to be proposed to the Ethereum network via relayers. Dappnode has no affiliation with any block producers nor relayers and is in no way responsible for the content of such blocks. The user is the sole responsible for complying with any regulations the user is subject to.
This is experimental open source software released under an GPLv3 license and may contain errors and/or bugs. No guarantee or representations whatsoever is made regarding its suitability (or its use) for any purpose or regarding its compliance with any applicable laws and regulations. Use of the software is at your own risk and discretion and by using the software you acknowledge that you have read this disclaimer, understand its contents, assume all risk related thereto and hereby release, waive, discharge and covenant not to sue DAppNode Association or any officers, employees or affiliates from and for any direct or indirect liability resulting from the use of the software as permissible by applicable laws and regulations.
### Licensing Terms
DAppNode FOSS is a fully open-source software program licensed pursuant to the GNU General Public License v3.0.
The DAppNode name, the term “DAppNode” and all related names, logos, product and service names, designs and slogans are trademarks of DAppNode Association or its affiliates and/or licensors. You must not use such marks without our prior written permission.
### Risks of Operating DAppNode
The use of DAppNode and the 3rd party software included within its different DNPs can lead to loss of money. Blockchain technologies and in particular Ethereum are still experimental systems and ETH and other cryptocurrencies remain a risky investment. You alone are responsible for your actions on DAppNode including the security of your cryptocurrency and meeting any applicable minimum system requirements.
Use the 3rd party software included within its different DNPs might be subject to Terms and Conditions of the 3rd party. DAppNode association has done its best to include such Terms and Conditions, however we do not warrant the accuracy, completeness or usefulness of the 3rd party Terms and Conditions. Any reliance you place on such information is strictly at your own risk. We recommend consulting with the 3rd party responsible for the software for its most updated Terms and Conditions.
We make no claims that DAppNode is appropriate or permitted for use in any specific jurisdiction. Access to DAppNode may not be legal by certain persons or in certain jurisdictions or countries. If you access DAppNode, you do so on your own initiative and are responsible for compliance with local laws.
Some Internet plans will charge an additional amount for any excess upload bandwidth used that isn’t included in the plan and may terminate your connection without warning because of overuse. We advise that you check whether your Internet connection is subjected to such limitations and monitor your bandwidth use so that you can stop DAppNode before you reach your bandwidth limit.
### Warranty Disclaimer
DAPPNODE IS PROVIDED ON AN “AS-IS” BASIS AND MAY INCLUDE ERRORS, OMISSIONS, OR OTHER INACCURACIES. DAPPNODE ASSOCIATION AND ITS CONTRIBUTORS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT DAPNODDE FOR ANY PURPOSE, AND HEREBY EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT OR ANY OTHER IMPLIED WARRANTY UNDER THE UNIFORM COMPUTER INFORMATION TRANSACTIONS ACT AS ENACTED BY ANY STATE. WE ALSO MAKE NO REPRESENTATIONS OR WARRANTIES THAT DAPPNODE WILL OPERATE ERROR-FREE, UNINTERRUPTED, OR IN A MANNER THAT WILL MEET YOUR REQUIREMENTS AND/OR NEEDS. THEREFORE, YOU ASSUME THE ENTIRE RISK REGARDING THE QUALITY AND/OR PERFORMANCE OF DAPPNODE AND ANY TRANSACTIONS ENTERED INTO THEREON.
### Limitation of Liability
In no event will DAppNode Association or any of its contributors be liable, whether in contract, warranty, tort (including negligence, whether active, passive or imputed), product liability, strict liability or other theory, breach of statutory duty or otherwise arising out of, or in connection with, your use of DAppNode, for any direct, indirect, incidental, special or consequential damages (including any loss of profits or data, business interruption or other pecuniary loss, or damage, loss or other compromise of data, in each case whether direct, indirect, incidental, special or consequential) arising out of the use of DAppNode, even if we or other users have been advised of the possibility of such damages. The foregoing limitations and disclaimers shall apply to the maximum extent permitted by applicable law, even if any remedy fails of its essential purpose. You acknowledge and agree that the limitations of liability afforded us hereunder constitute a material and actual inducement and condition to entering into these Terms, and are reasonable, fair and equitable in scope to protect our legitimate interests in light of the fact that we are not receiving consideration from you for providing DAppNode.
### Indemnification
To the maximum extent permitted by law, you will defend, indemnify and hold DAppNode and its contributors harmless from and against any and all claims, actions, suits, investigations, or proceedings by any third party (including any party or purported party to or beneficiary or purported beneficiary of any transaction on DAppNode), as well as any and all losses, liabilities,
damages, costs, and expenses (including reasonable attorneys’ fees) arising out of, accruing from, or in any way related to (i) your breach of the terms of this Agreement, (ii) any transaction, or the failure to occur of any transaction on DAppNode, and (iii) your negligence, fraud, or willful misconduct.
### Compliance with Laws and Tax Obligations
Your use of DAppNode is subject to all applicable laws of any governmental authority, including, without limitation, federal, state and foreign securities laws, tax laws, tariff and trade laws, ordinances, judgments, decrees, injunctions, writs and orders or like actions of any governmental authority and rules, regulations, orders, interpretations, licenses, and permits of any federal, regional, state, county, municipal or other governmental authority and you agree to comply with all such laws in your use of DAppNode. The users of DAppNode are solely responsible to determinate what, if any, taxes apply to their cryptocurrency transactions. The owners of, or contributors to, DAppNode are not responsible for determining the taxes that apply to cryptocurrency transactions.
### Miscellaneous
We reserve the right to revise these Terms, and your rights and obligations are at all times subject to the then-current Terms provided on DAppNode. Your continued use of DAppNode constitutes acceptance of such revised Terms.
These Terms constitute the entire agreement between you and DAppNode Association regarding use of DAppNode FOSS and will supersede all prior agreements whether, written or oral. No usage of trade or other regular practice or method of dealing between the parties will be used to modify, interpret, supplement, or alter the terms of these Terms.
If any portion of these Terms is held invalid or unenforceable, such invalidity or enforceability will not affect the other provisions of these Terms, which will remain in full force and effect, and the invalid or unenforceable portion will be given effect to the greatest extent possible. The failure of a party to require performance of any provision will not affect that party’s right to require performance at any time thereafter, nor will a waiver of any breach or default of these Terms or any provision of these Terms constitute a waiver of any subsequent breach or default or a waiver of the provision itself.`;
4 changes: 4 additions & 0 deletions packages/admin-ui/src/pages/rollups/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import RollupsRoot from "./components/RollupsRoot";

export { rootPath, relativePath } from "./data";
export const RootComponent = RollupsRoot;

0 comments on commit 66c5fb9

Please sign in to comment.