From 39bb7abfc9f1b27183b1c81ae236c259fdd039a8 Mon Sep 17 00:00:00 2001
From: letier3110 <38981658+letier3110@users.noreply.github.com>
Date: Fri, 1 Jul 2022 08:34:47 +0100
Subject: [PATCH] added ghostnet
---
package.json | 8 +-
src/app/components/atoms/MainSelect.js | 106 +++---
src/app/components/atoms/RiskAlert.js | 40 +--
src/app/components/hooks/handleDeploy.js | 158 ++++-----
src/app/components/layout/AssetsGroup.js | 168 ++++-----
src/app/components/layout/ButtonGroup.js | 98 +++---
src/app/components/layout/Faq.js | 59 ++--
src/app/components/layout/FormBox.js | 412 +++++++++++------------
src/app/components/layout/Themes.js | 96 +++---
src/app/defaults.js | 17 +-
10 files changed, 584 insertions(+), 578 deletions(-)
diff --git a/package.json b/package.json
index 943fb8b..3a61fd9 100644
--- a/package.json
+++ b/package.json
@@ -3,16 +3,16 @@
"version": "0.1.0",
"private": true,
"dependencies": {
- "@airgap/beacon-sdk": "3.1.1",
+ "@airgap/beacon-sdk": "3.1.0",
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
"@material-ui/core": "^4.12.3",
"@material-ui/icons": "^4.11.2",
"@mui/icons-material": "^5.0.3",
"@mui/material": "^5.0.3",
- "@taquito/beacon-wallet": "^10.1.3",
- "@taquito/michelson-encoder": "^10.1.2",
- "@taquito/taquito": "^10.1.2",
+ "@taquito/beacon-wallet": "13.0.0",
+ "@taquito/michelson-encoder": "13.0.0",
+ "@taquito/taquito": "13.0.0",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
diff --git a/src/app/components/atoms/MainSelect.js b/src/app/components/atoms/MainSelect.js
index 5455bc4..6cfc861 100644
--- a/src/app/components/atoms/MainSelect.js
+++ b/src/app/components/atoms/MainSelect.js
@@ -1,53 +1,53 @@
-import React from "react";
-import { styled } from "@mui/material/styles";
-import MenuItem from "@mui/material/MenuItem";
-import Select from "@mui/material/Select";
-import InputBase from "@mui/material/InputBase";
-
-const MainInput = styled(InputBase)(({ theme, colorType }) => ({
- ...theme.custom.secondaryFont,
- background: `${theme.custom.color[colorType].default} 0% 0% no-repeat padding-box`,
- ...theme.custom.box,
- "& .MuiInputBase-input": {
- ...theme.custom.secondaryFont,
- "padding-left": "30px",
- background: `${theme.custom.color[colorType].default} 0% 0% no-repeat padding-box`,
- "&:hover": {
- "background-color": theme.custom.color[colorType].secondary,
- },
- "&:focus": {
- "background-color": theme.custom.color[colorType].secondary,
- },
- },
- "& .MuiSvgIcon-root": {
- ...theme.custom.secondaryFont,
- "&:hover": {
- ...theme.custom.secondaryFont,
- },
- },
-}));
-
-const StyledItem = styled(MenuItem)(({ theme }) => ({
- ...theme.custom.inputFont,
-}));
-
-const MainSelect = ({ onChange, defaultValue, text, items, colorType }) => {
- colorType = colorType || "type1";
-
- return (
- }
- >
- {items.map((item) => {
- return {item};
- })}
-
- );
-};
-
-export default MainSelect;
+import React from "react";
+import { styled } from "@mui/material/styles";
+import MenuItem from "@mui/material/MenuItem";
+import Select from "@mui/material/Select";
+import InputBase from "@mui/material/InputBase";
+
+const MainInput = styled(InputBase)(({ theme, colorType }) => ({
+ ...theme.custom.secondaryFont,
+ background: `${theme.custom.color[colorType].default} 0% 0% no-repeat padding-box`,
+ ...theme.custom.box,
+ "& .MuiInputBase-input": {
+ ...theme.custom.secondaryFont,
+ "paddingLeft": "30px",
+ background: `${theme.custom.color[colorType].default} 0% 0% no-repeat padding-box`,
+ "&:hover": {
+ "backgroundColor": theme.custom.color[colorType].secondary,
+ },
+ "&:focus": {
+ "backgroundColor": theme.custom.color[colorType].secondary,
+ },
+ },
+ "& .MuiSvgIcon-root": {
+ ...theme.custom.secondaryFont,
+ "&:hover": {
+ ...theme.custom.secondaryFont,
+ },
+ },
+}));
+
+const StyledItem = styled(MenuItem)(({ theme }) => ({
+ ...theme.custom.inputFont,
+}));
+
+const MainSelect = ({ onChange, defaultValue, text, items, colorType }) => {
+ colorType = colorType || "type1";
+
+ return (
+ }
+ >
+ {items.map((item) => {
+ return {item};
+ })}
+
+ );
+};
+
+export default MainSelect;
diff --git a/src/app/components/atoms/RiskAlert.js b/src/app/components/atoms/RiskAlert.js
index 86e055d..8b8fa7f 100644
--- a/src/app/components/atoms/RiskAlert.js
+++ b/src/app/components/atoms/RiskAlert.js
@@ -1,20 +1,20 @@
-import React from "react";
-
-import Alert from "@mui/material/Alert";
-import { styled } from "@mui/material/styles";
-
-const ColoredAllert = styled(Alert)(({ theme, colorType }) => ({
- ...theme.custom.secondaryFont,
- background: `${theme.custom.color[colorType].default} 0% 0% no-repeat padding-box`,
- margin: "0 auto 5vh auto",
-}));
-
-const RiskAlert = () => {
- return (
-
- Use at your own risk!
-
- );
-};
-
-export default RiskAlert;
+import React from "react";
+
+import Alert from "@mui/material/Alert";
+import { styled } from "@mui/material/styles";
+
+const ColoredAllert = styled(Alert)(({ theme, colorType }) => ({
+ ...theme.custom.secondaryFont,
+ background: `${theme.custom.color[colorType].default} 0% 0% no-repeat padding-box`,
+ margin: "0 auto 5vh auto",
+}));
+
+const RiskAlert = () => {
+ return (
+
+ Use at your own risk!
+
+ );
+};
+
+export default RiskAlert;
diff --git a/src/app/components/hooks/handleDeploy.js b/src/app/components/hooks/handleDeploy.js
index 385f52e..8665a77 100644
--- a/src/app/components/hooks/handleDeploy.js
+++ b/src/app/components/hooks/handleDeploy.js
@@ -1,79 +1,79 @@
-import { MichelsonMap } from "@taquito/michelson-encoder";
-
-import fa2MultiAsset from "../assets/MultiAsset.json";
-import fa2GranularMultiAsset from "../assets/GranularMultiAsset.json";
-import { BigNumber } from "bignumber.js";
-
-const handleDeploy = async (
- admin,
- contractName,
- contractDescription,
- tokensString,
- type,
- wallet,
- setFetching
-) => {
- setFetching(true);
- try {
- const tokens = JSON.parse(tokensString);
- let metadata = MichelsonMap.fromLiteral({
- "": Buffer("tezos-storage:contents", "ascii").toString("hex"),
- contents: Buffer(
- JSON.stringify({
- version: "v0.0.1",
- name: contractName,
- description: contractDescription,
- authors: ["FA2 Bakery"],
- source: {
- tools: ["Ligo"],
- },
- interfaces: ["TZIP-012", "TZIP-016"],
- }),
- "ascii"
- ).toString("hex"),
- });
- const storage = {
- admin: {
- admin: admin,
- pending_admin: null,
- paused: type == "Basic" ? false : MichelsonMap.fromLiteral({}),
- },
- assets: {
- token_total_supply: MichelsonMap.fromLiteral({}),
- ledger: MichelsonMap.fromLiteral({}),
- operators: MichelsonMap.fromLiteral({}),
- token_metadata: MichelsonMap.fromLiteral({}),
- },
- metadata: metadata,
- };
- tokens.forEach((token, index) => {
- const tokenSupply = token.supply * new BigNumber(10).pow(token.decimals);
- storage.assets.token_total_supply.set(index, tokenSupply);
- storage.assets.ledger.set([admin, index], tokenSupply);
- storage.assets.token_metadata.set(index, {
- token_id: index,
- token_info: MichelsonMap.fromLiteral({
- symbol: Buffer(token.symbol, "ascii").toString("hex"),
- name: Buffer(token.name, "ascii").toString("hex"),
- decimals: Buffer(token.decimals, "ascii").toString("hex"),
- shouldPreferSymbol: Buffer("true", "ascii").toString("hex"),
- description: Buffer(token.description, "ascii").toString("hex"),
- thumbnailUri: Buffer(token.icon, "ascii").toString("hex"),
- }),
- });
- });
- console.log(fa2MultiAsset);
- await wallet
- .originate({
- code: type == "Basic" ? fa2MultiAsset : fa2GranularMultiAsset,
- storage,
- })
- .send();
- } catch (e) {
- console.error(e);
- } finally {
- setFetching(false);
- }
-};
-
-export default handleDeploy;
+import { MichelsonMap } from "@taquito/michelson-encoder";
+
+import fa2MultiAsset from "../assets/MultiAsset.json";
+import fa2GranularMultiAsset from "../assets/GranularMultiAsset.json";
+import { BigNumber } from "bignumber.js";
+
+const handleDeploy = async (
+ admin,
+ contractName,
+ contractDescription,
+ tokensString,
+ type,
+ wallet,
+ setFetching
+) => {
+ setFetching(true);
+ try {
+ const tokens = JSON.parse(tokensString);
+ let metadata = MichelsonMap.fromLiteral({
+ "": Buffer("tezos-storage:contents", "ascii").toString("hex"),
+ contents: Buffer(
+ JSON.stringify({
+ version: "v0.0.1",
+ name: contractName,
+ description: contractDescription,
+ authors: ["FA2 Bakery"],
+ source: {
+ tools: ["Ligo"],
+ },
+ interfaces: ["TZIP-012", "TZIP-016"],
+ }),
+ "ascii"
+ ).toString("hex"),
+ });
+ const storage = {
+ admin: {
+ admin: admin,
+ pending_admin: null,
+ paused: type === "Basic" ? false : MichelsonMap.fromLiteral({}),
+ },
+ assets: {
+ token_total_supply: MichelsonMap.fromLiteral({}),
+ ledger: MichelsonMap.fromLiteral({}),
+ operators: MichelsonMap.fromLiteral({}),
+ token_metadata: MichelsonMap.fromLiteral({}),
+ },
+ metadata: metadata,
+ };
+ tokens.forEach((token, index) => {
+ const tokenSupply = token.supply * new BigNumber(10).pow(token.decimals);
+ storage.assets.token_total_supply.set(index, tokenSupply);
+ storage.assets.ledger.set([admin, index], tokenSupply);
+ storage.assets.token_metadata.set(index, {
+ token_id: index,
+ token_info: MichelsonMap.fromLiteral({
+ symbol: Buffer(token.symbol, "ascii").toString("hex"),
+ name: Buffer(token.name, "ascii").toString("hex"),
+ decimals: Buffer(token.decimals, "ascii").toString("hex"),
+ shouldPreferSymbol: Buffer("true", "ascii").toString("hex"),
+ description: Buffer(token.description, "ascii").toString("hex"),
+ thumbnailUri: Buffer(token.icon, "ascii").toString("hex"),
+ }),
+ });
+ });
+ console.log(fa2MultiAsset);
+ await wallet
+ .originate({
+ code: type === "Basic" ? fa2MultiAsset : fa2GranularMultiAsset,
+ storage,
+ })
+ .send();
+ } catch (e) {
+ console.error(e);
+ } finally {
+ setFetching(false);
+ }
+};
+
+export default handleDeploy;
diff --git a/src/app/components/layout/AssetsGroup.js b/src/app/components/layout/AssetsGroup.js
index 92fec82..703fd45 100644
--- a/src/app/components/layout/AssetsGroup.js
+++ b/src/app/components/layout/AssetsGroup.js
@@ -1,84 +1,84 @@
-import React from "react";
-import FormField from "../atoms/FormField";
-import Box from "@mui/material/Box";
-import MainButton from "../atoms/MainButton";
-import HorizontalStack from "../atoms/HorizontalStack";
-
-const AssetsGroup = ({ tokens, setTokens, handleRemove }) => {
- return (
-
- {tokens.map((tokenInfo, index) => (
-
-
-
- Asset 0
-
- handleRemove(index)}
- >{" "}
-
-
- {
- tokens[index].name = e.target.value;
- setTokens(tokens);
- }}
- >
- {
- tokens[index].symbol = e.target.value;
- setTokens(tokens);
- }}
- >
-
-
- {
- tokens[index].supply = e.target.value;
- setTokens(tokens);
- }}
- >
- {
- tokens[index].decimals = e.target.value;
- setTokens(tokens);
- }}
- >
-
- {
- tokens[index].icon = e.target.value;
- setTokens(tokens);
- }}
- >
- {
- tokens[index].description = e.target.value;
- setTokens(tokens);
- }}
- >
-
- ))}
-
- );
-};
-
-export default AssetsGroup;
+import React from "react";
+import FormField from "../atoms/FormField";
+import Box from "@mui/material/Box";
+import MainButton from "../atoms/MainButton";
+import HorizontalStack from "../atoms/HorizontalStack";
+
+const AssetsGroup = ({ tokens, setTokens, handleRemove }) => {
+ return (
+
+ {tokens.map((tokenInfo, index) => (
+
+
+
+ Asset 0
+
+ handleRemove(index)}
+ >{" "}
+
+
+ {
+ tokens[index].name = e.target.value;
+ setTokens(tokens);
+ }}
+ >
+ {
+ tokens[index].symbol = e.target.value;
+ setTokens(tokens);
+ }}
+ >
+
+
+ {
+ tokens[index].supply = e.target.value;
+ setTokens(tokens);
+ }}
+ >
+ {
+ tokens[index].decimals = e.target.value;
+ setTokens(tokens);
+ }}
+ >
+
+ {
+ tokens[index].icon = e.target.value;
+ setTokens(tokens);
+ }}
+ >
+ {
+ tokens[index].description = e.target.value;
+ setTokens(tokens);
+ }}
+ >
+
+ ))}
+
+ );
+};
+
+export default AssetsGroup;
diff --git a/src/app/components/layout/ButtonGroup.js b/src/app/components/layout/ButtonGroup.js
index 7a9b7bd..0963e96 100644
--- a/src/app/components/layout/ButtonGroup.js
+++ b/src/app/components/layout/ButtonGroup.js
@@ -1,49 +1,49 @@
-import React from "react";
-
-import { useBeacon } from "../hooks/useBeacon";
-import MainButton from "../atoms/MainButton";
-import MainSelect from "../atoms/MainSelect";
-import Stack from "@mui/material/Stack";
-import { DEFAULT_NETWORK, NETWORKS } from "../../defaults";
-import { useState } from "react";
-
-const ButtonGroup = () => {
- const { connect, disconnect, pkh } = useBeacon();
- const [network, setNetwork] = useState(DEFAULT_NETWORK);
-
- return (
-
- {!pkh ? (
- connect(network).catch(console.log)}
- >
- ) : (
- <>
- {}}
- >
- disconnect().catch(console.log)}
- >
- >
- )}
- item.name)}
- onChange={(e) => {
- setNetwork(
- NETWORKS.find((element) => element.name == e.target.value)
- );
- console.log(e.target.value);
- disconnect().catch(console.log);
- }}
- >
-
- );
-};
-
-export default ButtonGroup;
+import React from "react";
+
+import { useBeacon } from "../hooks/useBeacon";
+import MainButton from "../atoms/MainButton";
+import MainSelect from "../atoms/MainSelect";
+import Stack from "@mui/material/Stack";
+import { DEFAULT_NETWORK, NETWORKS } from "../../defaults";
+import { useState } from "react";
+
+const ButtonGroup = () => {
+ const { connect, disconnect, pkh } = useBeacon();
+ const [network, setNetwork] = useState(DEFAULT_NETWORK);
+
+ return (
+
+ {!pkh ? (
+ connect(network).catch(console.log)}
+ >
+ ) : (
+ <>
+ { }}
+ >
+ disconnect().catch(console.log)}
+ >
+ >
+ )}
+ item.name)}
+ onChange={(e) => {
+ setNetwork(
+ NETWORKS.find((element) => element.name === e.target.value)
+ );
+ console.log(e.target.value);
+ disconnect().catch(console.log);
+ }}
+ >
+
+ );
+};
+
+export default ButtonGroup;
diff --git a/src/app/components/layout/Faq.js b/src/app/components/layout/Faq.js
index 5497a91..9c3d316 100644
--- a/src/app/components/layout/Faq.js
+++ b/src/app/components/layout/Faq.js
@@ -1,30 +1,29 @@
-import Box from "@mui/material/Box";
-import FaqItem from "../atoms/FaqItem";
-import Typography from "@mui/material/Typography";
-import faqs from "../assets/Faqs.json";
-import { styled } from "@mui/material/styles";
-
-const MainTypography = styled(Typography)(({ theme }) => ({
- font: "normal normal bold Open Sans",
-}));
-
-function Faq() {
- return (
-
-
- FAQ
-
- {faqs.map((item, index) => {
- return (
-
- );
- })}
-
- );
-}
-
-export default Faq;
+import Box from "@mui/material/Box";
+import FaqItem from "../atoms/FaqItem";
+import Typography from "@mui/material/Typography";
+import faqs from "../assets/Faqs.json";
+import { styled } from "@mui/material/styles";
+
+const MainTypography = styled(Typography)(({ theme }) => ({
+ font: "normal normal bold Open Sans",
+}));
+
+function Faq() {
+ return (
+
+
+ FAQ
+
+ {faqs.map((item, index) =>
+
+ )}
+
+ );
+}
+
+export default Faq;
diff --git a/src/app/components/layout/FormBox.js b/src/app/components/layout/FormBox.js
index 673c654..f4616e5 100644
--- a/src/app/components/layout/FormBox.js
+++ b/src/app/components/layout/FormBox.js
@@ -1,206 +1,206 @@
-import React, { useCallback, useState } from "react";
-import FormField from "../atoms/FormField";
-import useBeacon from "../hooks/useBeacon";
-import handleDeploy from "../hooks/handleDeploy";
-import Box from "@mui/material/Box";
-import Paper from "@mui/material/Paper";
-import MainButton from "../atoms/MainButton";
-import MainSelect from "../atoms/MainSelect";
-import HorizontalStack from "../atoms/HorizontalStack";
-import Stack from "@mui/material/Stack";
-
-const validateInput = (
- admin,
- contractName,
- contractDescription,
- tokensString
-) => {
- if (
- [admin, contractName, contractDescription].some(
- (str) => !str || str.trim() == ""
- )
- )
- return false;
- if (
- tokensString.some((token) => {
- return Object.values(token).some((str) => !str || str.trim() == "");
- })
- )
- return false;
- return true;
-};
-const FormBox = () => {
- const { pkh, Tezos } = useBeacon();
-
- const [tokensString, setTokens] = useState("[]");
- const tokens = JSON.parse(tokensString);
- const [admin, setAdmin] = useState(pkh);
- const [contractName, setContractName] = useState("");
- const [contractDescription, setContractDescription] = useState("");
- const [tokenType, setTokenType] = useState("Basic");
- const [, setFetching] = useState(false);
-
- const handleClick = useCallback(async () => {
- if (validateInput(admin, contractName, contractDescription, tokens)) {
- await handleDeploy(
- admin,
- contractName,
- contractDescription,
- tokensString,
- tokenType,
- Tezos.wallet,
- setFetching
- );
- }
- }, [
- setFetching,
- Tezos.wallet,
- tokensString,
- admin,
- contractName,
- contractDescription,
- tokenType,
- tokens,
- ]);
- return (
- {
- event.preventDefault();
- }}
- sx={{
- px: 8,
- py: 5,
- display: "flex",
- flexDirection: "column",
- }}
- >
-
- setAdmin(e.target.value)}
- >
- setContractName(e.target.value)}
- >
- setContractDescription(e.target.value)}
- maxRows="4"
- minRows="4"
- >
-
- setTokenType(e.target.value)}
- items={["Basic", "Granular"]}
- >
-
- setTokens(
- JSON.stringify(
- tokens.concat({
- name: "",
- symbol: "",
- decimals: "",
- supply: "",
- description: "",
- icon: "",
- })
- )
- )
- }
- >{" "}
-
- {tokens.map((tokenInfo, index) => (
-
-
-
- Asset {index}
-
- {
- tokens.splice(index, 1);
- setTokens(JSON.stringify(tokens));
- }}
- >{" "}
-
-
- {
- tokens[index].name = e.target.value;
- setTokens(JSON.stringify(tokens));
- }}
- >
- {
- tokens[index].symbol = e.target.value;
- setTokens(JSON.stringify(tokens));
- }}
- >
-
-
- {
- tokens[index].supply = e.target.value;
- setTokens(JSON.stringify(tokens));
- }}
- >
- {
- tokens[index].decimals = e.target.value;
- setTokens(JSON.stringify(tokens));
- }}
- >
-
- {
- tokens[index].icon = e.target.value;
- setTokens(JSON.stringify(tokens));
- }}
- >
- {
- tokens[index].description = e.target.value;
- setTokens(JSON.stringify(tokens));
- }}
- >
-
- ))}
-
-
-
- );
-};
-
-export default FormBox;
+import React, { useCallback, useState } from "react";
+import FormField from "../atoms/FormField";
+import useBeacon from "../hooks/useBeacon";
+import handleDeploy from "../hooks/handleDeploy";
+import Box from "@mui/material/Box";
+import Paper from "@mui/material/Paper";
+import MainButton from "../atoms/MainButton";
+import MainSelect from "../atoms/MainSelect";
+import HorizontalStack from "../atoms/HorizontalStack";
+import Stack from "@mui/material/Stack";
+
+const validateInput = (
+ admin,
+ contractName,
+ contractDescription,
+ tokensString
+) => {
+ if (
+ [admin, contractName, contractDescription].some(
+ (str) => !str || str.trim() === ""
+ )
+ )
+ return false;
+ if (
+ tokensString.some((token) => {
+ return Object.values(token).some((str) => !str || str.trim() === "");
+ })
+ )
+ return false;
+ return true;
+};
+const FormBox = () => {
+ const { pkh, Tezos } = useBeacon();
+
+ const [tokensString, setTokens] = useState("[]");
+ const tokens = JSON.parse(tokensString);
+ const [admin, setAdmin] = useState(pkh);
+ const [contractName, setContractName] = useState("");
+ const [contractDescription, setContractDescription] = useState("");
+ const [tokenType, setTokenType] = useState("Basic");
+ const [, setFetching] = useState(false);
+
+ const handleClick = useCallback(async () => {
+ if (validateInput(admin, contractName, contractDescription, tokens)) {
+ await handleDeploy(
+ admin,
+ contractName,
+ contractDescription,
+ tokensString,
+ tokenType,
+ Tezos.wallet,
+ setFetching
+ );
+ }
+ }, [
+ setFetching,
+ Tezos.wallet,
+ tokensString,
+ admin,
+ contractName,
+ contractDescription,
+ tokenType,
+ tokens,
+ ]);
+ return (
+ {
+ event.preventDefault();
+ }}
+ sx={{
+ px: 8,
+ py: 5,
+ display: "flex",
+ flexDirection: "column",
+ }}
+ >
+
+ setAdmin(e.target.value)}
+ >
+ setContractName(e.target.value)}
+ >
+ setContractDescription(e.target.value)}
+ maxRows="4"
+ minRows="4"
+ >
+
+ setTokenType(e.target.value)}
+ items={["Basic", "Granular"]}
+ >
+
+ setTokens(
+ JSON.stringify(
+ tokens.concat({
+ name: "",
+ symbol: "",
+ decimals: "",
+ supply: "",
+ description: "",
+ icon: "",
+ })
+ )
+ )
+ }
+ >{" "}
+
+ {tokens.map((tokenInfo, index) => (
+
+
+
+ Asset {index}
+
+ {
+ tokens.splice(index, 1);
+ setTokens(JSON.stringify(tokens));
+ }}
+ >{" "}
+
+
+ {
+ tokens[index].name = e.target.value;
+ setTokens(JSON.stringify(tokens));
+ }}
+ >
+ {
+ tokens[index].symbol = e.target.value;
+ setTokens(JSON.stringify(tokens));
+ }}
+ >
+
+
+ {
+ tokens[index].supply = e.target.value;
+ setTokens(JSON.stringify(tokens));
+ }}
+ >
+ {
+ tokens[index].decimals = e.target.value;
+ setTokens(JSON.stringify(tokens));
+ }}
+ >
+
+ {
+ tokens[index].icon = e.target.value;
+ setTokens(JSON.stringify(tokens));
+ }}
+ >
+ {
+ tokens[index].description = e.target.value;
+ setTokens(JSON.stringify(tokens));
+ }}
+ >
+
+ ))}
+
+
+
+ );
+};
+
+export default FormBox;
diff --git a/src/app/components/layout/Themes.js b/src/app/components/layout/Themes.js
index e898f33..5b944a0 100644
--- a/src/app/components/layout/Themes.js
+++ b/src/app/components/layout/Themes.js
@@ -1,48 +1,48 @@
-import { createTheme } from "@mui/material/styles";
-
-export const defaultTheme = createTheme({
- custom: {
- color: {
- type1: {
- default: "#4973F2",
- secondary: "#668CFF",
- },
- type2: {
- // default: "#F27E61",
- default: "#5226BF",
- secondary: "#8255F2",
- },
- type3: {
- default: "#223773",
- secondary: "#3655B3",
- },
- background: "#f2f4f3",
- font: "#FAFAFA",
- },
- mainFont: {
- font: "normal normal bold 16px/22px Roboto",
- "letter-spacing": "-0.16px",
- "text-transform": "none",
- "text-align": "center",
- },
- secondaryFont: {
- color: "#FAFAFA",
- font: "normal normal normal 16px/22px Roboto",
- "letter-spacing": "-0.16px",
- "text-transform": "none",
- "text-align": "center",
- },
- inputFont: {
- font: "normal normal normal 14px/18px Roboto",
- "letter-spacing": "-0.16px",
- "text-transform": "none",
- "text-align": "left",
- },
- box: {
- "box-shadow": "4px 8px 20px #1F1F1F1A",
- "border-radius": "4px",
- "min-width": 150,
- height: 35,
- },
- },
-});
+import { createTheme } from "@mui/material/styles";
+
+export const defaultTheme = createTheme({
+ custom: {
+ color: {
+ type1: {
+ default: "#4973F2",
+ secondary: "#668CFF",
+ },
+ type2: {
+ // default: "#F27E61",
+ default: "#5226BF",
+ secondary: "#8255F2",
+ },
+ type3: {
+ default: "#223773",
+ secondary: "#3655B3",
+ },
+ background: "#f2f4f3",
+ font: "#FAFAFA",
+ },
+ mainFont: {
+ font: "normal normal bold 16px/22px Roboto",
+ "letterSpacing": "-0.16px",
+ "textTransform": "none",
+ "textAlign": "center",
+ },
+ secondaryFont: {
+ color: "#FAFAFA",
+ font: "normal normal normal 16px/22px Roboto",
+ "letterSpacing": "-0.16px",
+ "textTransform": "none",
+ "textAlign": "center",
+ },
+ inputFont: {
+ font: "normal normal normal 14px/18px Roboto",
+ "letterSpacing": "-0.16px",
+ "textTransform": "none",
+ "textAlign": "left",
+ },
+ box: {
+ "boxShadow": "4px 8px 20px #1F1F1F1A",
+ "borderRadius": "4px",
+ "minWidth": 150,
+ height: 35,
+ },
+ },
+});
diff --git a/src/app/defaults.js b/src/app/defaults.js
index f5e6379..83f36aa 100644
--- a/src/app/defaults.js
+++ b/src/app/defaults.js
@@ -6,32 +6,39 @@ export const NETWORKS = [
nextNetworkIndex: 1,
name: "Mainnet",
type: "main",
- rpcBaseURL: "https://mainnet.smartpy.io",
+ rpcBaseURL: "https://mainnet.smartpy.io/",
},
{
id: NetworkType.JAKARTANET,
nextNetworkIndex: 2,
name: "Jakarta",
type: "test",
- rpcBaseURL: "https://jakartanet.tezos.marigold.dev",
+ rpcBaseURL: "https://jakartanet.tezos.marigold.dev/",
+ },
+ {
+ id: NetworkType.GHOSTNET,
+ nextNetworkIndex: 4,
+ name: "Ghostnet",
+ type: "test",
+ rpcBaseURL: "https://rpc.ghostnet.teztnets.xyz/",
},
{
id: NetworkType.ITHACANET,
nextNetworkIndex: 3,
name: "Ithacanet",
type: "test",
- rpcBaseURL: "https://ithacanet.ecadinfra.com",
+ rpcBaseURL: "https://ithacanet.ecadinfra.com/",
},
{
id: NetworkType.HANGZHOUNET,
- nextNetworkIndex: 4,
+ nextNetworkIndex: 5,
name: "Hangzhou",
type: "test",
rpcBaseURL: "https://hangzhounet.smartpy.io/",
},
{
id: NetworkType.GRANADANET,
- nextNetworkIndex: 5,
+ nextNetworkIndex: 6,
name: "Granadanet",
type: "test",
rpcBaseURL: "https://granadanet.smartpy.io/",