diff --git a/package.json b/package.json index 18828da..5d10fee 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "postcss": "8.4.22", "react": "18.2.0", "react-dom": "18.2.0", - "react-icons": "^4.8.0", + "react-icons": "^4.12.0", "react-transition-state": "1.1.5", "styled-components": "^6.1.1", "tailwindcss": "3.3.1", diff --git a/src/hooks/use1inch.tsx b/src/hooks/use1inch.tsx deleted file mode 100644 index d0c688a..0000000 --- a/src/hooks/use1inch.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { NetworkEnum } from "@1inch/fusion-sdk"; -import axios from "axios"; -import { useCallback } from "react"; - -type Use1inchParams = { - fromTokenAddress: string; - toTokenAddress: string; - amount: string; -}; - -export const CHAIN_MAPPINGS = { - 1: NetworkEnum.ETHEREUM, - 42161: NetworkEnum.ARBITRUM, - 137: NetworkEnum.POLYGON, - // 1101: NetworkEnum.POLYGON, zk version - 100: NetworkEnum.GNOSIS, -} as Record; - -export const use1inch = ({ - fromTokenAddress, - toTokenAddress, - amount, -}: Use1inchParams) => { - const getQuote = useCallback(async () => { - if (fromTokenAddress && toTokenAddress && amount) { - const _quote = await axios.get("/api/getOneInch", { - params: { - fromTokenAddress, - toTokenAddress, - amount, - }, - }); - return _quote; - } - return null; - }, [fromTokenAddress, toTokenAddress, amount]); - - return { getQuote }; -}; diff --git a/src/pages/api/getOneInch.ts b/src/pages/api/getOneInch.ts deleted file mode 100644 index 6def267..0000000 --- a/src/pages/api/getOneInch.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { NextApiRequest, NextApiResponse } from "next"; -import { FusionSDK, NetworkEnum } from "@1inch/fusion-sdk"; - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - const fromTokenAddress = req.query.fromTokenAddress; - const toTokenAddress = req.query.toTokenAddress; - const amount = req.query.amount; - console.log(fromTokenAddress, toTokenAddress, amount); - - try { - const sdk = new FusionSDK({ - url: "https://api.1inch.dev/fusion", - network: NetworkEnum.ETHEREUM, - authKey: process.env.ONE_INCH_API_KEY, - }); - - const quote = await sdk.getQuote({ - fromTokenAddress: fromTokenAddress as string, - toTokenAddress: toTokenAddress as string, - amount: amount as string, - }); - res.status(200).json({ quote }); - return; - } catch (error) { - console.log(error); - res.status(500).json({ - error: "1inch API error", - }); - return; - } -} diff --git a/src/pages/api/getQuote.ts b/src/pages/api/getQuote.ts deleted file mode 100644 index 50a67fa..0000000 --- a/src/pages/api/getQuote.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { FusionSDK, NetworkEnum } from "@1inch/fusion-sdk"; -import type { NextApiRequest, NextApiResponse } from "next"; -import { NextResponse } from "next/server"; -import { parseEther } from "viem"; - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - if (req.method !== "POST") { - res.status(405).json({ error: "Method not allowed" }); - return; - } - - const body = req.body; - let response = null; - - // try { - // response = await axios.get( - // `https://pro-api.coinmarketcap.com/v2/cryptocurrency/info?symbol=${body.fromToken}}`, - // { - // headers: { - // "X-CMC_PRO_API_KEY": process.env.COINMARKETCAP_API_KEY, - // }, - // } - // ); - // } catch (ex) { - // response = null; - // // error - // console.log(ex); - // // reject(ex); - // } - // if (response) { - // // success - // const json = response.data.data; - // return json; - // } - - const fromTokenAddress = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; - const toTokenAddress = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; - const amount = body.amount; - - // return res.json("hello~!"); - - const sdk = new FusionSDK({ - url: "https://api.1inch.dev/fusion", - network: NetworkEnum.ETHEREUM, - authKey: process.env.ONE_INCH_API_KEY, - }); - - try { - const quote = await sdk.getQuote({ - fromTokenAddress: fromTokenAddress as string, - toTokenAddress: toTokenAddress as string, - amount: parseEther(amount.toString()).toString(), - }); - - console.log("getquote :", quote); - - return NextResponse.json({ quote }); - } catch (error) { - console.log(error); - return NextResponse.json({}); - } -} diff --git a/src/pages/api/tokenPrice.ts b/src/pages/api/tokenPrice.ts deleted file mode 100644 index ba4c880..0000000 --- a/src/pages/api/tokenPrice.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { NextApiRequest, NextApiResponse } from "next"; -const Moralis = require("moralis").default; - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - try { - Moralis.start({ - apiKey: process.env.MORALIS_KEY, - }); - - let fetch; - const nodeFetch = await import("node-fetch"); - fetch = nodeFetch.default; - const { query } = req; - - const responseOne = await Moralis.EvmApi.token.getTokenPrice({ - address: query.addressOne, - }); - - const responseTwo = await Moralis.EvmApi.token.getTokenPrice({ - address: query.addressTwo, - }); - - const response = await fetch( - "https://api.exchangerate-api.com/v4/latest/USD" - ); - const data = await response.json(); - const usdToInrRate = data.rates.INR; - const usdToJpyRate = data.rates.JPY; - const usdToKrwRate = data.rates.KRW; - const usdToSgdRate = data.rates.SGD; - const usdToMyrRate = data.rates.MYR; - const usdToIdrRate = data.rates.IDR; - - const usdPrices = { - tokenOne: responseOne.raw.usdPrice, - tokenTwo: responseTwo.raw.usdPrice, - ratio: responseOne.raw.usdPrice / responseTwo.raw.usdPrice, - }; - - const inrPrices = { - tokenOne: usdPrices.tokenOne * usdToInrRate, - tokenTwo: usdPrices.tokenTwo * usdToInrRate, - ratio: usdPrices.ratio, // This ratio remains the same as it's a relative value - }; - - const sgdPrices = { - tokenOne: usdPrices.tokenOne * usdToSgdRate, - tokenTwo: usdPrices.tokenTwo * usdToSgdRate, - ratio: usdPrices.ratio, - }; - - const myrPrices = { - tokenOne: usdPrices.tokenOne * usdToMyrRate, - tokenTwo: usdPrices.tokenTwo * usdToMyrRate, - ratio: usdPrices.ratio, - }; - - const idrPrices = { - tokenOne: usdPrices.tokenOne * usdToIdrRate, - tokenTwo: usdPrices.tokenTwo * usdToIdrRate, - ratio: usdPrices.ratio, - }; - - const jpyPrices = { - tokenOne: usdPrices.tokenOne * usdToJpyRate, - tokenTwo: usdPrices.tokenTwo * usdToJpyRate, - ratio: usdPrices.ratio, // This ratio remains the same as it's a relative value - }; - - const krwPrices = { - tokenOne: usdPrices.tokenOne * usdToKrwRate, - tokenTwo: usdPrices.tokenTwo * usdToKrwRate, - ratio: usdPrices.ratio, // This ratio remains the same as it's a relative value - }; - - return res.status(200).json(usdPrices); - } catch (error) { - return res.status(500).json({ error: "Moralis API error" }); - } -} diff --git a/yarn.lock b/yarn.lock index bdae2a3..b7f5878 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9105,10 +9105,10 @@ react-focus-lock@^2.9.4: use-callback-ref "^1.3.0" use-sidecar "^1.1.2" -react-icons@^4.8.0: - version "4.8.0" - resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz" - integrity sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg== +react-icons@^4.12.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.12.0.tgz#54806159a966961bfd5cdb26e492f4dafd6a8d78" + integrity sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw== react-is@^16.13.1, react-is@^16.7.0: version "16.13.1"