From 1f906b26a90b3fba857de777f28b3563c324afaa Mon Sep 17 00:00:00 2001 From: Kartikay Date: Mon, 11 Dec 2023 00:43:11 +0530 Subject: [PATCH 1/4] Fix import error Signed-off-by: Kartikay --- packages/site/src/pages/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/site/src/pages/index.tsx b/packages/site/src/pages/index.tsx index 3538845..c9f063e 100644 --- a/packages/site/src/pages/index.tsx +++ b/packages/site/src/pages/index.tsx @@ -23,7 +23,6 @@ import ArrowDropDownCircleOutlinedIcon from '@mui/icons-material/ArrowDropDownCi import ReceiptIcon from '@mui/icons-material/Receipt'; import IconButton from '@mui/material/IconButton'; import OpenInNewIcon from '@mui/icons-material/OpenInNew'; -import { Button, TextField, Typography, List, Dialog, TableBody, TableCell, TableHead, TableRow, TableContainer, Table } from '@mui/material'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import DialogTitle from '@mui/material/DialogTitle'; From f6fd7a27e0ac54e28b26a5f647db1afd3c5b91f5 Mon Sep 17 00:00:00 2001 From: aritroCoder Date: Mon, 11 Dec 2023 01:25:05 +0530 Subject: [PATCH 2/4] added network type in snap state Signed-off-by: aritroCoder --- packages/snap/src/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/snap/src/index.ts b/packages/snap/src/index.ts index 281846b..d4fc425 100644 --- a/packages/snap/src/index.ts +++ b/packages/snap/src/index.ts @@ -161,16 +161,18 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ pvtKey, address, password, // tip: use hashed password here + network, }: { pvtKey: string; address: string; password: string; + network: string; } = request.params; await snap.request({ method: 'snap_manageState', params: { operation: 'update', - newState: { pvtKey, address, password }, + newState: { pvtKey, address, password, network }, }, }); break; @@ -182,6 +184,7 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ pvtKey: string; address: string; password: string; + network: string; } = await snap.request({ method: 'snap_manageState', params: { From 7506a424de298e3014e11c834ab56aa1e00e9d92 Mon Sep 17 00:00:00 2001 From: Kartikay Date: Mon, 11 Dec 2023 01:54:53 +0530 Subject: [PATCH 3/4] Added APT to USD server endpoint Signed-off-by: Kartikay --- server/index.ts | 5 +++++ server/src/aptToUsd.ts | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 server/src/aptToUsd.ts diff --git a/server/index.ts b/server/index.ts index 736932f..28a8b67 100644 --- a/server/index.ts +++ b/server/index.ts @@ -10,6 +10,7 @@ import { genTxn } from './src/GenTxn'; import { fundMe } from './src/Faucet'; import { getTransByHash } from './src/GetTransByHash'; import { getGasPriceEstimation } from './src/gasPrice'; +import { convertAptToUsd } from './src/aptToUsd'; import { AptosConfig, Network} from '@aptos-labs/ts-sdk'; @@ -67,6 +68,10 @@ app.post('/getTransByHash', async (req: Request, res: Response) => { res.json(await getTransByHash(req.body)); }); +app.get('/aptToUsd', async (req:Request,res: Response) => { + res.json({APT : await convertAptToUsd()}); +}); + app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); diff --git a/server/src/aptToUsd.ts b/server/src/aptToUsd.ts new file mode 100644 index 0000000..dd5b950 --- /dev/null +++ b/server/src/aptToUsd.ts @@ -0,0 +1,32 @@ +/* eslint-disable */ + + +export async function convertAptToUsd() { + const response1 = await fetch('https://www.binance.com/api/v3/ticker/price?symbol=APTUSDT') + const data1 = await response1.json(); + const price1 = parseFloat(data1.price); + console.log(price1) + + const response2 = await fetch('https://api-pub.bitfinex.com/v2/tickers?symbols=tAPTUSD') + const data2 = await response2.json(); + const price2 = (data2[0][1] + data2[0][3] + data2[0][7])/3; + console.log(price2) + + const response3 = await fetch('https://api.coinbase.com/v2/prices/APT-USD/spot'); + const data3 = await response3.json(); + const price3 = parseFloat(data3.data.amount); + console.log(price3); + + const response4 = await fetch('https://api.huobi.pro/market/detail/merged?symbol=aptusdt'); + const data4 = await response4.json(); + const price4 = (data4.tick.bid[0] + data4.tick.ask[0])/2; + console.log(price4); + + const response5 = await fetch('https://www.mexc.com/open/api/v2/market/ticker?symbol=APT_USDT'); + const data5 = await response5.json(); + const price5 = (parseFloat(data5.data[0].ask) + parseFloat(data5.data[0].bid) + parseFloat(data5.data[0].last))/3; + console.log(price5) + + return (price1 + price2 + price3 + price4 + price5)/5; + +} \ No newline at end of file From d03e94cda9c66426e98e43dccb195cd3f3f379e0 Mon Sep 17 00:00:00 2001 From: Hemant Chaurasia Date: Mon, 11 Dec 2023 03:25:44 +0530 Subject: [PATCH 4/4] network dropdown added in header --- packages/site/src/components/Header.tsx | 72 ++++++++++++++++++++++- packages/site/src/components/SnapLogo.tsx | 27 ++++----- packages/site/src/pages/index.tsx | 16 +---- packages/snap/snap.manifest.json | 2 +- 4 files changed, 83 insertions(+), 34 deletions(-) diff --git a/packages/site/src/components/Header.tsx b/packages/site/src/components/Header.tsx index fd88739..4e6623f 100644 --- a/packages/site/src/components/Header.tsx +++ b/packages/site/src/components/Header.tsx @@ -1,6 +1,9 @@ import { useContext } from 'react'; import styled, { useTheme } from 'styled-components'; - +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; +import { useState, useEffect } from 'react'; +import ArrowDropDownCircleOutlinedIcon from '@mui/icons-material/ArrowDropDownCircleOutlined'; import { MetamaskActions, MetaMaskContext } from '../hooks'; import { connectSnap, getThemePreference, getSnap } from '../utils'; import { HeaderButtons } from './Buttons'; @@ -60,6 +63,21 @@ export const Header = ({ dispatch({ type: MetamaskActions.SetError, payload: error }); } }; + const [anchorEl, setAnchorEl] = useState(null); + const [selectedNetwork, setSelectedNetwork] = useState('mainnet'); + + const handleDropdownClick = (event) => { + setAnchorEl(event.currentTarget); + }; + + const handleDropdownClose = () => { + setAnchorEl(null); + }; + + const handleNetworkSelect = (network) => { + setSelectedNetwork(network); + handleDropdownClose(); + }; return ( @@ -67,6 +85,58 @@ export const Header = ({ SNAPTOS +
+ {selectedNetwork.toUpperCase()}{' '} + {/* Display the selected network in uppercase */} + +
+ + handleNetworkSelect('mainnet')} + sx={{ fontSize: '15px', font: 'Roboto' }} + > + Mainnet + + handleNetworkSelect('testnet')} + sx={{ fontSize: '15px', font: 'Roboto' }} + > + Testnet + + handleNetworkSelect('devnet')} + sx={{ fontSize: '15px', font: 'Roboto' }} + > + Devnet + +           + {' '} +
( - - - - - - - - - - -); \ No newline at end of file + + + + + + + + + +); \ No newline at end of file diff --git a/packages/site/src/pages/index.tsx b/packages/site/src/pages/index.tsx index 3538845..2c50ea7 100644 --- a/packages/site/src/pages/index.tsx +++ b/packages/site/src/pages/index.tsx @@ -2,20 +2,6 @@ import React from 'react'; import { useContext, useState, useEffect } from 'react'; import styled from 'styled-components'; -import { - Button, - TextField, - Modal, - Typography, - List, - Dialog, - TableBody, - TableCell, - TableHead, - TableRow, - TableContainer, - Table, -} from '@mui/material'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; @@ -492,7 +478,7 @@ const Index = () => { return ( - Welcome to SnapTos + Welcome to SNAPTOS Integrate Aptos Blockchain with metamask diff --git a/packages/snap/snap.manifest.json b/packages/snap/snap.manifest.json index 86b0421..6d4fc08 100644 --- a/packages/snap/snap.manifest.json +++ b/packages/snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/template-snap-monorepo.git" }, "source": { - "shasum": "DR9ISZ2H+H7PTHXOTUVWXrDureyEs9nKyTxeDE7HueI=", + "shasum": "G8+Y4mDQwRvuZFYYwVdxAlCV1Hrhc+hrs60Hd9JcyKM=", "location": { "npm": { "filePath": "dist/bundle.js",