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 ( - - ); -}; - -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 ( + + ); +}; + +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/",