diff --git a/README.md b/README.md index 1b2c88e5b..ab7109a62 100644 --- a/README.md +++ b/README.md @@ -16,24 +16,6 @@ npm install && npm run dev - All articles are markdown and stored in `/src/content/docs/`. - Navigation is JSON in `/src/config/sidebar.ts` -## Tooling on Scroll - -If you'd like to add an entry to our [tooling list](http://docs.scroll.xyz/en/developers/scroll-contracts), create a PR to add a new `mdx` file in the [tooling content folder](src/content/tools), using the following template. You can also refer to other existing entries for reference. - -``` ---- -name: "Safe" -category: ["Identity", "Wallet"] -excerpt: "Safe allows you to create smart wallet on chain." -logo: { src: "https://app.safe.global/images/safe-logo-green.png", alt: "Safe Logo" } -website: "https://app.safe.global" -network: ["Mainnet", "Testnet] -noAdditionalInfo: false ---- - -Add additional info here about how to access this tool on Scroll (ex. contract addresses, tutorials, API URLs) -``` - ## Credits - Special thanks to the Chainlink team whose documentation we forked. Their repo is available [here](https://github.com/smartcontractkit/documentation) and viewable at [https://docs.chain.link/](https://docs.chain.link/). diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 546093ecb..3b90f3921 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -25,8 +25,8 @@ }, "nodesCTA": { "title": "Need to run your own Scroll Node?", - "description": "See the Node Operator’s Guide to learn about starting and maintaining Scroll Nodes.", - "buttonText": "Node Operator’s Guide" + "description": "See the Node Operator's Guide to learn about starting and maintaining Scroll Nodes.", + "buttonText": "Node Operator's Guide" }, "TutorialsCTA": { "title": "Watch tutorials", @@ -90,7 +90,6 @@ "erc1155TokenBridge": "ERC1155 Token Bridge", "theScrollMessenger": "The Scroll Messenger", "transactionFeesOnScroll": "Transaction Fees on Scroll", - "toolingDeployedOnScroll": "Tooling deployed On Scroll", "developerEcosystem": "Developer Ecosystem", "l2Fee": "L2 Fee", "l1Fee": "L1 Fee", diff --git a/src/components/Tooling/Content/AdditionalInfo/AdditionalInfo.module.css b/src/components/Tooling/Content/AdditionalInfo/AdditionalInfo.module.css deleted file mode 100644 index b2dd66711..000000000 --- a/src/components/Tooling/Content/AdditionalInfo/AdditionalInfo.module.css +++ /dev/null @@ -1,107 +0,0 @@ -.additionalInfo { - height: 100%; - overflow: auto; - background: rgba(255, 255, 255, 0.5); - border-radius: 15px; - display: flex; - justify-content: center; - max-width: 532px; - margin: 0 auto; - position: relative; -} -.closeButton { - position: absolute; - right: 20px; - top: 20px; - cursor: pointer; - display: none; -} -.infoBox { - padding: 18px 20px; - width: 100%; -} - -.infoBox p { - font-size: 14px; -} - -.title { - font-size: 18px; - font-style: normal; - font-weight: 600; - line-height: normal; - letter-spacing: 0.18px; - margin-bottom: 15px; -} - -.content { - max-height: 460px; - overflow: auto; -} - -.noToolInfo { - text-align: center; - margin: 0 auto; - height: max-content; - max-width: 280px; - align-self: center; -} - -.noToolInfo svg { - margin-bottom: 20px; -} - -.noToolInfoTitle { - color: #ababab; - text-align: center; - font-size: 18px; - font-style: normal; - font-weight: 600; - line-height: normal; - letter-spacing: 0.18px; - margin-bottom: 8px; -} - -.noToolInfoDescription { - color: #ababab; - text-align: center; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 18px; /* 128.571% */ - letter-spacing: 0.14px; -} - -@media screen and (max-width: 1300px) { - .closeButton { - display: block; - } - .additionalContainer { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: rgba(16, 16, 16, 0.2); - z-index: 9999; - height: 100%; - max-height: 100%; - padding: 20px; - display: flex; - } - .additionalInfo { - background: #ffffff; - border-radius: 15px; - justify-self: center; - align-self: center; - width: 100%; - height: 532px; - } - - .noToolSelected { - display: none; - } - .noToolInfo { - padding-top: 20px; - } -} diff --git a/src/components/Tooling/Content/AdditionalInfo/AdditionalInfo.tsx b/src/components/Tooling/Content/AdditionalInfo/AdditionalInfo.tsx deleted file mode 100644 index 5b5dda0f0..000000000 --- a/src/components/Tooling/Content/AdditionalInfo/AdditionalInfo.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import styles from "./AdditionalInfo.module.css" -import { useState, useEffect, useMemo } from "preact/hooks" -import { clsx } from "~/lib" - -enum Status { - NO_ADDITIONAL_INFO, - HAS_ADDITIONAL_INFO, - NO_TOOL_SELECTED, -} - -const AdditionalInfo = ({ data, selectedTool, onClose }) => { - const status = useMemo(() => { - if (!selectedTool) { - return Status.NO_TOOL_SELECTED - } - - if (selectedTool && !selectedTool.remarkPluginFrontmatter.noAdditionalInfo) { - return Status.HAS_ADDITIONAL_INFO - } - - return Status.NO_ADDITIONAL_INFO - }, [selectedTool]) - - return ( - <> -
-
-
- - - -
- - {status === Status.HAS_ADDITIONAL_INFO && ( -
-
{selectedTool.remarkPluginFrontmatter.name}
-
{data}
-
- )} - {status !== Status.HAS_ADDITIONAL_INFO && ( -
- - - - - - - - - - - - - - - - - - - {status === Status.NO_TOOL_SELECTED ? ( - <> -
No tool selected
-
- Try selecting a tool to learn more about using it on Scroll. -
- - ) : ( - <> -
No additional information for this project
-
- Try selecting another tool to learn more about using it on Scroll. -
- - )} -
- )} -
-
- - ) -} - -export default AdditionalInfo diff --git a/src/components/Tooling/Content/Category/Category.module.css b/src/components/Tooling/Content/Category/Category.module.css deleted file mode 100644 index 6060d581c..000000000 --- a/src/components/Tooling/Content/Category/Category.module.css +++ /dev/null @@ -1,31 +0,0 @@ -.toolsCategory { - display: flex; - flex-wrap: wrap; - padding-left: 0; -} -.toolsCategory .item { - display: inline-flex; - height: 44px; - padding: 0px 30px; - flex-direction: column; - justify-content: center; - align-items: center; - flex-shrink: 0; - border-radius: 100px; - margin-top: 0; - cursor: pointer; - margin-right: 13px; - margin-bottom: 10px; - border-width: 1px; - border-style: solid; -} -.toolsCategory .item.active { -} -@media screen and (max-width: 50em) { - .toolsCategory .item { - height: 36px; - padding: 0px 20px; - margin-right: 12px; - margin-bottom: 12px; - } -} diff --git a/src/components/Tooling/Content/Category/Category.tsx b/src/components/Tooling/Content/Category/Category.tsx deleted file mode 100644 index df0b819af..000000000 --- a/src/components/Tooling/Content/Category/Category.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { useState, useEffect, useMemo } from "preact/hooks" -import { clsx } from "~/lib" -import styles from "./Category.module.css" - -const Category = ({ categories, value, onChange }) => { - return ( - - ) -} - -export default Category diff --git a/src/components/Tooling/Content/Content.module.css b/src/components/Tooling/Content/Content.module.css deleted file mode 100644 index d84b42e7b..000000000 --- a/src/components/Tooling/Content/Content.module.css +++ /dev/null @@ -1,24 +0,0 @@ -.toolsContainer { - border-radius: 27px; - /* background: #fff8f3; */ - padding: 30px; - margin-bottom: 30px; -} - -.toolsList { - display: grid; - grid-template-columns: 1fr minmax(424px, 1fr); - /* grid-template-columns: 8fr 2fr; */ - gap: 30px; - margin-top: 30px; -} - -.toolsList > div { - overflow: scroll; -} - -@media screen and (max-width: 1300px) { - .toolsList { - grid-template-columns: 1fr; - } -} diff --git a/src/components/Tooling/Content/Content.tsx b/src/components/Tooling/Content/Content.tsx deleted file mode 100644 index dc655f051..000000000 --- a/src/components/Tooling/Content/Content.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import styles from "./Content.module.css" -import { clsx } from "~/lib" -import { useState, useEffect, useMemo } from "preact/hooks" -import SearchInput from "./Search/SearchInput" -import NetworkSelector from "./NetworkSelector/NetworkSelector" -import Category from "./Category/Category" -import List from "./List/List" -import AdditionalInfo from "./AdditionalInfo/AdditionalInfo" - -const Content = ({ tools, toolsMarkdown }) => { - const categories = [...new Set(tools.flatMap((tool) => tool.remarkPluginFrontmatter.category))] - - const [selectedTool, setSelectedTool] = useState(null) - - const [searchParams, setSearchParams] = useState({ - category: [], - network: "All networks", - keyword: "", - }) - - const handleChangeCategory = (value) => { - setSearchParams((prev) => { - const newCategory = prev.category.includes(value) - ? prev.category.filter((item) => item !== value) - : [...prev.category, value] - - return { - ...prev, - category: newCategory, - } - }) - } - - const handleChangeNetwork = (value) => { - setSearchParams((pre) => ({ - ...pre, - network: value, - })) - } - - const handleChangeKeyword = (e) => { - setSearchParams((prev) => ({ - ...prev, - keyword: e.target.value, - })) - } - - const handleToolClick = (blog) => { - setSelectedTool(blog) - } - - useEffect(() => { - if (selectedTool) { - document.querySelectorAll(".tools-item").forEach((div) => { - div.style.display = "none" - }) - const selectedDiv = document.getElementById(selectedTool.id) - if (selectedDiv) { - selectedDiv.style.display = "block" - } - } - }, [selectedTool]) - - const filteredTools = useMemo(() => { - // setSelectedTool(null) - return tools.filter((tool) => { - const categoryMatch = - searchParams.category.length === 0 || - searchParams.category.some((category) => tool.remarkPluginFrontmatter.category.includes(category)) - const networkMatch = - searchParams.network === "All networks" || tool.remarkPluginFrontmatter.network.includes(searchParams.network) - const keywordMatch = tool.remarkPluginFrontmatter.name.toLowerCase().includes(searchParams.keyword.toLowerCase()) - - return categoryMatch && networkMatch && keywordMatch - }) - }, [searchParams]) - - return ( -
- -
- - -
- -
- - handleToolClick(null)} data={toolsMarkdown} selectedTool={selectedTool} /> -
-
- ) -} - -export default Content diff --git a/src/components/Tooling/Content/List/List.module.css b/src/components/Tooling/Content/List/List.module.css deleted file mode 100644 index 213f3243e..000000000 --- a/src/components/Tooling/Content/List/List.module.css +++ /dev/null @@ -1,62 +0,0 @@ -.toolsContainerList { - border-radius: 15px; - height: 532px; - overflow: auto; -} -.toolItem { - display: flex; - padding: 20px; -} - -.toolItem:hover, -.toolItem.active { - background-color: #f9f9f9; - cursor: pointer; -} - -.toolItem:not(:last-child) { - border-bottom: 1px solid #ece8e3; -} - -.logo { - width: 66px; - height: fit-content; - flex-shrink: 0; - border-radius: 15px; - margin-right: 15px; - margin-top: 6px; -} - -.toolInfo { - width: 100%; -} - -.toolName { - color: #101010; - font-size: 18px; - font-style: normal; - font-weight: 600; - line-height: normal; - letter-spacing: 0.18px; - display: flex; - justify-items: center; - align-items: center; -} - -.category { - display: inline-block; - padding: 3px 5px; - font-size: 12px; - color: #0f8e7e; - letter-spacing: 0.12px; - border-radius: 5px; - background: #dffcf8; - margin-right: 5px; -} - -.toolDescription { - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 18px; -} diff --git a/src/components/Tooling/Content/List/List.tsx b/src/components/Tooling/Content/List/List.tsx deleted file mode 100644 index 9895bc14d..000000000 --- a/src/components/Tooling/Content/List/List.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import styles from "./List.module.css" -import LinesEllipsis from "../../../../components/LinesEllipsis" -import { clsx } from "~/lib" - -const List = ({ tools, onChange, selectedTool }) => { - const handleReflow = (value) => { - // don't trigger measure when the height exceeds the standard height by default - // if (!isExpended && cardRef.current!.clientHeight > standardHeight) { - // return - // } - // onResize() - } - - return ( -
- {tools.map((tool, index) => ( -
onChange(tool)} - className={clsx( - styles.toolItem, - tool.id === selectedTool?.id && "bg-[#f9f9f9] dark:bg-black", - "hover:bg-[#f9f9f9] dark:hover:bg-black" - )} - > - {tool.remarkPluginFrontmatter.logo.alt} -
-
-
- {tool.remarkPluginFrontmatter.name} - window.open(tool.remarkPluginFrontmatter.website, "_blank")} - > - - - - - - - - - -
- - {!tool.remarkPluginFrontmatter.noAdditionalInfo && ( - - - - - - )} -
-
- {tool.remarkPluginFrontmatter.category.map((category, index) => ( - - {category} - - ))} -
- -  ... more - - } - basedOn="words" - onReflow={handleReflow} - /> -
-
- ))} -
- ) -} - -export default List diff --git a/src/components/Tooling/Content/NetworkSelector/NetworkSelector.module.css b/src/components/Tooling/Content/NetworkSelector/NetworkSelector.module.css deleted file mode 100644 index 573d68b87..000000000 --- a/src/components/Tooling/Content/NetworkSelector/NetworkSelector.module.css +++ /dev/null @@ -1,56 +0,0 @@ -.container { - height: 40px; - width: 218px; - position: relative; - z-index: 1; -} - -.networkSelector { - position: absolute; - left: 0; - top: 0; - width: 218px; - border-radius: 20px; - border: 1px solid #101010; - background: #fff; - display: flex; - justify-content: space-between; - padding: 0 12px; - align-items: flex-start; - cursor: pointer; - overflow: visible; -} - -.networkSelector .optionsList { - margin-bottom: 0; - padding-left: 0; - flex: 1; - margin-left: 7px; - color: #101010; - list-style: none; -} - -.optionsList li { - height: 38px; - line-height: 38px; - font-size: 16px; - font-weight: bold; - font-family: var(--font-family-body-text); - letter-spacing: 0.16px; -} - -@media (max-width: 50em) { - .container, - .networkSelector { - } - .optionsList { - margin-left: 0; - } -} - -@media (max-width: 604px) { - .container, - .networkSelector { - width: 148px; - } -} diff --git a/src/components/Tooling/Content/NetworkSelector/NetworkSelector.tsx b/src/components/Tooling/Content/NetworkSelector/NetworkSelector.tsx deleted file mode 100644 index adf563d7a..000000000 --- a/src/components/Tooling/Content/NetworkSelector/NetworkSelector.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useState, useEffect, useMemo } from "preact/hooks" -import { clsx } from "~/lib" -import styles from "./NetworkSelector.module.css" - -const NetworkSelector = ({ value, onChange }) => { - const [isModalOpen, setIsModalOpen] = useState(false) - const networks = ["All networks", "Mainnet", "Testnet"] - - const handleNetworkClick = (network) => { - onChange(network) - setIsModalOpen(!isModalOpen) - } - - const filteredNetworks = useMemo(() => { - if (isModalOpen) { - return [value, ...networks.filter((network) => network !== value)] - } - return [value] - }, [isModalOpen, networks, value]) - - return ( -
-
- - - - - - - -
-
- ) -} - -export default NetworkSelector diff --git a/src/components/Tooling/Content/Search/SearchInput.module.css b/src/components/Tooling/Content/Search/SearchInput.module.css deleted file mode 100644 index e33b5efa2..000000000 --- a/src/components/Tooling/Content/Search/SearchInput.module.css +++ /dev/null @@ -1,80 +0,0 @@ -.wrapper { - display: flex; - align-items: center; - justify-content: center; - gap: 1rem; - width: 100%; - flex-shrink: 0; - overflow: hidden; - - flex: 1; - height: 40px; - border-radius: 20px; - padding: unset; - margin-right: 30px; -} - -.input { - margin: 0; - font-size: 16px; - width: 100%; - outline: none; - display: block; - appearance: none; - flex-grow: 1; - padding-left: 36px; - border-bottom: 1px solid #000; - border-radius: 0; - background: url(/assets/search.svg) left 12px top 50% / 17px no-repeat; - border: none; - height: 35px; - line-height: 35px; - padding-bottom: 0; - @apply text-black border-black; -} -.input.large { - height: 48px; - border-bottom: none; - padding-bottom: 0; - background: transparent url(/svgs/search.svg) left center no-repeat; - background-size: 20px auto; -} - -.input::placeholder { - font-style: italic; -} - -.input:focus { - outline: none; - border-radius: 0; -} - -.closeButton { - background-color: transparent; - border: none; - padding: 0; - display: none; - height: 25px; -} - -@media (max-width: 50em) { - .wrapper { - margin-right: 16px; - } - - .input { - @apply pl-[40px]; - } - - .input:focus { - @apply rounded-primary; - } - - .closeButton { - display: block; - } - - .closeButtonMobile { - display: none; - } -} diff --git a/src/components/Tooling/Content/Search/SearchInput.tsx b/src/components/Tooling/Content/Search/SearchInput.tsx deleted file mode 100644 index 3e6b20c91..000000000 --- a/src/components/Tooling/Content/Search/SearchInput.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React, { ChangeEvent, useCallback, useEffect, useState, useRef } from "react" -import styles from "./SearchInput.module.css" -import { clsx } from "~/lib" - -const SearchInput = ({ value, onChange }) => { - const inputRef = useRef(null) - - return ( -
- -
- ) -} - -export default SearchInput diff --git a/src/components/Tooling/Tooling.astro b/src/components/Tooling/Tooling.astro deleted file mode 100644 index ffd5c22c3..000000000 --- a/src/components/Tooling/Tooling.astro +++ /dev/null @@ -1,30 +0,0 @@ ---- -import { getCollection } from "astro:content" -import Content from "./Content/Content.tsx" - -const pages = await getCollection("tools") - -const tools = await Promise.all( - pages.map(async (page) => { - const renderedPage = await page.render() - return { - ...renderedPage, - id: "tool-" + renderedPage.remarkPluginFrontmatter.name.toLowerCase().replace(/ /g, "-"), - } - }) -) ---- - - - - - { - tools.map((tool, index) => ( - - )) - } - - - diff --git a/src/config/sidebar.ts b/src/config/sidebar.ts index 4907e81cb..a4694dad2 100644 --- a/src/config/sidebar.ts +++ b/src/config/sidebar.ts @@ -137,10 +137,6 @@ export const getSidebar = () => { // }, // ], }, - { - title: t("sidebar.developers.toolingDeployedOnScroll"), - url: formatUrl("developers/tooling-deployed-on-scroll"), - }, { title: t("sidebar.developers.developerEcosystem"), url: formatUrl("developers/developer-ecosystem"), diff --git a/src/content/config.ts b/src/content/config.ts index c863de902..cf99dbf3c 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -32,25 +32,6 @@ const docsCollection = defineCollection({ }), }) -const toolsCollection = defineCollection({ - schema: z.object({ - name: z.string(), - excerpt: z.string(), - category: z.array(z.string()), - // network: z.string().optional(), - network: z.array(z.string()).optional(), - logo: z - .object({ - src: z.string().optional(), - alt: z.string().optional(), - }) - .optional(), - website: z.string().optional(), - noAdditionalInfo: z.boolean().optional(), - }), -}) - export const collections = { docs: docsCollection, - tools: toolsCollection, } diff --git a/src/content/docs/en/developers/faq.mdx b/src/content/docs/en/developers/faq.mdx index 692d1abd2..748241e85 100644 --- a/src/content/docs/en/developers/faq.mdx +++ b/src/content/docs/en/developers/faq.mdx @@ -28,11 +28,12 @@ Yes. Please refer to our list of [Unofficial Faucets](https://docs.scroll.io/en/ **Where can I find the list of developer tooling available on Scroll?** -See the full list here: [Scroll Developer Tooling](https://docs.scroll.io/en/developers/tooling-deployed-on-scroll/). +See the full list here: [Scroll Developer Tooling](https://scroll.io/ecosystem). **Where can I explore the ecosystem of projects deployed on Scroll?** -The live ecosystem page is here: [Scroll Ecosystem Data page](https://docs.scroll.io/en/developers/developer-ecosystem/) and the full list [Scroll Ecosystem Projects](https://scroll.io/ecosystem). +Use our [Dune dashboard](https://docs.scroll.io/en/developers/developer-ecosystem/) to explore live ecosystem data and visit the [Scroll Ecosystem Projects](https://scroll.io/ecosystem) for the full list. + ## Node Questions diff --git a/src/content/docs/en/developers/tooling-deployed-on-scroll.mdx b/src/content/docs/en/developers/tooling-deployed-on-scroll.mdx deleted file mode 100644 index da1cd22ad..000000000 --- a/src/content/docs/en/developers/tooling-deployed-on-scroll.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -section: developers -date: Last Modified -title: "Tooling deployed on Scroll" -lang: "en" -permalink: "developers/tooling-deployed-on-scroll/" -excerpt: "" -widerContent: true ---- - -import Aside from "../../../../components/Aside.astro" -import Tooling from "../../../../components/Tooling/Tooling.astro" - -This is a community maintained database of developer tooling that is available on Scroll. We welcome [PRs to add or edit](https://github.com/scroll-tech/scroll-documentation?tab=readme-ov-file#tooling-on-scroll) information! - - - - - - diff --git a/src/content/tools/en/0x.mdx b/src/content/tools/en/0x.mdx deleted file mode 100644 index f16c30948..000000000 --- a/src/content/tools/en/0x.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: "0x" -category: ["Defi"] -excerpt: "Embed swaps in your on-chain app." -logo: - { - src: "https://cdn.prod.website-files.com/66967cfef0a246cbbb9aee94/66967cfef0a246cbbb9af016_0x-logo-light.svg", - alt: "0x Logo", - } -website: "https://0x.org/" -network: ["Mainnet"] -noAdditionalInfo: false ---- - -0x is your all-in-one solution for building financial products on crypto rails. We offer a suite of APIs to help developers build faster, get the best prices, and deliver a great user experience. With over 71 million transactions and $148B+ in volume from 8 million+ users, our APIs power top apps like Coinbase Wallet, Robinhood Wallet, Matcha, Metamask, Zerion, and Zapper. - -0x provides the [Swap API](https://0x.org/docs/0x-swap-api/introduction) and [Gasless API](https://0x.org/docs/gasless-api/introduction). - -Get started building with [0x Swap API on Scroll](https://www.levelup.xyz/content/0x-on-scroll). For Scroll, use `534352` as the `chainId`. - -See the [0x cheat sheet](https://0x.org/docs/introduction/0x-cheat-sheet) for additional information on how to make a 0x API request. diff --git a/src/content/tools/en/aave.mdx b/src/content/tools/en/aave.mdx deleted file mode 100644 index c5dfc3808..000000000 --- a/src/content/tools/en/aave.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: "Aave" -category: ["Defi"] -excerpt: "" -logo: { src: "https://pbs.twimg.com/profile_images/1808921860781821952/CmtvkzWo_400x400.png", alt: "Aave Logo" } -website: "https://search.onaave.com/?q=Scroll" -network: ["Mainnet", "Testnet"] ---- - -You can find contract addresses for Aave on [Scroll Mainnet](https://github.com/bgd-labs/aave-address-book/blob/main/src/AaveV3Scroll.sol) and [Scroll Sepolia](https://github.com/bgd-labs/aave-address-book/blob/main/src/AaveV3ScrollSepolia.sol). \ No newline at end of file diff --git a/src/content/tools/en/across.mdx b/src/content/tools/en/across.mdx deleted file mode 100644 index 2b1197917..000000000 --- a/src/content/tools/en/across.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: "Across" -category: ["Bridge"] -excerpt: "Across is an interoperability protocol powered by intents, enabling the fastest and lowest-cost way to transfer value without security tradeoffs." -logo: { src: "https://3563890891-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo33kX1T6RRp4inOcEH1d%2Fuploads%2FYTdMDAZ1jNPOF9bkNdMO%2FAcross%20Logomark%20Aqua%20Circle.png?alt=media&token=6619a5be-ea2a-4967-844e-d07caac3fdc2", alt: "Across Logo" } -website: "https://across.to/" -network: ["Mainnet", "Testnet"] ---- - -**_Scroll Mainnet contracts:_** - -- Scroll_SpokePool: -[`0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96`](https://scrollscan.com/address/0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96) -- MulticallHandler: -[`0xD2CDF46556543316e7D34e8eDc4624e2bB95e3B6`](https://scrollscan.com/address/0x924a9f036260DdD5808007E1AA95f08eD08aA569) - -**_Scroll Sepolia contracts:_** - -- Scroll_SpokePool: -[`0x95B3A7A7344BBd7b1033275CA3Ce89494baA6A40`](https://sepolia.scrollscan.com/address/0x95B3A7A7344BBd7b1033275CA3Ce89494baA6A40) \ No newline at end of file diff --git a/src/content/tools/en/alchemy.mdx b/src/content/tools/en/alchemy.mdx deleted file mode 100644 index 242940111..000000000 --- a/src/content/tools/en/alchemy.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: "Alchemy" -category: ["Data", "Infra"] -excerpt: "The web3 developer platform that provides a suite of tools for building and managing blockchain applications." -logo: { src: "https://static.alchemyapi.io/docs-homepage-assets/images/chains/alchemy.svg", alt: "Alchemy Logo" } -website: "https://www.alchemy.com/" -network: ["Mainnet", "Testnet"] ---- - -Get started building on Scroll with Alchemy at [docs.alchemy.com/reference/scroll-api-quickstart](https://docs.alchemy.com/reference/scroll-chain-api-quickstart). \ No newline at end of file diff --git a/src/content/tools/en/anyrand.mdx b/src/content/tools/en/anyrand.mdx deleted file mode 100644 index 8fe17fedd..000000000 --- a/src/content/tools/en/anyrand.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: "Anyrand" -category: ["Oracle"] -excerpt: "Permissionlessly verifiable random number generator for any EVM network." -logo: { src: "https://docs.anyrand.com/img/anyrand-logo.svg", alt: "Anyrand Logo" } -website: "https://anyrand.com/" -network: ["Mainnet", "Testnet"] ---- - -**_Official Anyrand docs:_** - -[docs.anyrand.com](https://docs.anyrand.com/) \ No newline at end of file diff --git a/src/content/tools/en/arcana.mdx b/src/content/tools/en/arcana.mdx deleted file mode 100644 index 8ce08248f..000000000 --- a/src/content/tools/en/arcana.mdx +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: "Arcana Network" -category: ["Wallet", "Infra", "Onboarding", "Chain Abstraction"] -excerpt: "Arcana Network Chain Abstraction SDK enables unified balance across chains for app users." -logo: { src: "https://github.com/arcana-network/branding/blob/main/Arcana%20-%20Logomark%20-%20Pink%20on%20Grey.png?raw=true", alt: "Arcana Network Logo" } -website: "https://arcana.network/" -network: ["Mainnet"] ---- - -[Arcana Network](https://arcana.network/) offers developers a suite of tools to onboard users from any ecosystem to Scroll, effortlessly. - -* **[Arcana Chain Abstraction (CA) SDK](https://www.npmjs.com/package/@arcana/ca-sdk)** -* **[Arcana CA Wallet (Standalone)](https://chromewebstore.google.com/detail/arcana-wallet/nieddmedbnibfkfokcionggafcmcgkpi)** - -The [Chain Abstraction](https://docs.arcana.network/ca/introduction/ca/#chain-abstraction) feature aggregates user’s USDC, USDT, and ETH balances from other blockchains into a single [unified balance](https://docs.arcana.network/ca/introduction/ca/#unified-balance) that users can spend directly on Scroll without the friction of bridging, allowing for a seamless experience. - -**Arcana Chain Abstraction (CA) SDK**: - -Arcana’s Chain Abstraction SDK can be integrated with **any Web3 app** on Scroll to enable unified balance for the app users. Unified balance lets users spend their consolidated multi-chain token balance on Scroll. The integration is quick and easy: - -- Minimal changes to the frontend code -- No smart contract changes required -- Users can bring existing browser-based third-party wallets -- No lockups or transfer of assets required - -**Arcana CA Wallet (Standalone)**: - -A standalone wallet with built-in chain abstraction. Users can view and spend their unified unified balance across a variety of [supported apps](https://docs.arcana.network/web3-stack/ca_stack/#apps). Reach out to us if you’d like your app to be supported by Arcana - -**References** - -* Developers: - - [How to integrate a Scroll App with Arcana Chain Abstraction SDK?](https://blog.arcana.network/arcanas-chain-abstraction-sdk-on-scroll/) - - [CA SDK API](https://ca-sdk-ref-guide.netlify.app/) - - [CA SDK Demo](https://sdk.arcana.network) -* Users: [Try the Arcana CA Wallet](https://chromewebstore.google.com/detail/arcana-wallet/nieddmedbnibfkfokcionggafcmcgkpi) -* Arcana Network [Website](https://arcana.network/) \ No newline at end of file diff --git a/src/content/tools/en/chainlink.mdx b/src/content/tools/en/chainlink.mdx deleted file mode 100644 index a9a4fe30e..000000000 --- a/src/content/tools/en/chainlink.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: "Chainlink" -category: ["Oracle", "Bridge"] -excerpt: "" -logo: { src: "https://pbs.twimg.com/profile_images/1800426318099595264/N7yf_kOD_400x400.jpg", alt: "Chainlink Logo" } -website: "https://chain.link/" -network: ["Mainnet", "Testnet"] ---- - -You can find contract addresses for Chainlink for Scroll Mainnet and Scroll Sepolia testnet: - -- [LINK Token Contracts for Scroll](https://docs.chain.link/resources/link-token-contracts#scroll) -- [L2 Sequencer Data Feeds](https://docs.chain.link/data-feeds/l2-sequencer-feeds#available-networks) -- [Price Feed Addresses for Scroll](https://docs.chain.link/data-feeds/price-feeds/addresses?network=scroll&page=1) - - diff --git a/src/content/tools/en/eas.mdx b/src/content/tools/en/eas.mdx deleted file mode 100644 index ae3bdfab6..000000000 --- a/src/content/tools/en/eas.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: "Ethereum Attestation Service" -category: ["Identity"] -excerpt: "Ethereum Attestation Service (EAS) is an infrastructure public good for making attestations onchain or offchain about anything." -logo: { src: "https://pbs.twimg.com/profile_images/1593335725751083008/0XMyDyLq_400x400.png", alt: "EAS Logo" } -website: "https://attest.org/" -network: ["Mainnet", "Testnet"] ---- - -**_Scroll Mainnet contracts:_** - -- EAS: -[`0xC47300428b6AD2c7D03BB76D05A176058b47E6B0`](https://scrollscan.com/address/0xC47300428b6AD2c7D03BB76D05A176058b47E6B0) -- SchemaRegistry: -[`0xD2CDF46556543316e7D34e8eDc4624e2bB95e3B6`](https://scrollscan.com/address/0xD2CDF46556543316e7D34e8eDc4624e2bB95e3B6) -- EIP712Proxy: -[`0x77b7DA1c40762Cd8AFfE2069b575328EfD4D9801`](https://scrollscan.com/address/0x77b7DA1c40762Cd8AFfE2069b575328EfD4D9801) -- Indexer: `Not deployed yet` - -**_Scroll Sepolia contracts:_** - -- EAS: -[`0xaEF4103A04090071165F78D45D83A0C0782c2B2a`](https://sepolia.scrollscan.com/address/0xaEF4103A04090071165F78D45D83A0C0782c2B2a) -- SchemaRegistry: -[`0x55D26f9ae0203EF95494AE4C170eD35f4Cf77797`](https://sepolia.scrollscan.com/address/0x55D26f9ae0203EF95494AE4C170eD35f4Cf77797) -- EIP712Proxy: -[`0xB3574f76b1720E61FdA98702c7016674CD6Eaa7b`](https://sepolia.scrollscan.com/address/0xB3574f76b1720E61FdA98702c7016674CD6Eaa7b) -- Indexer: -[`0x7C2cb1eDC328491da52de2a0afc44D3B0Ae7ee17`](https://sepolia.scrollscan.com/address/0x7C2cb1eDC328491da52de2a0afc44D3B0Ae7ee17) \ No newline at end of file diff --git a/src/content/tools/en/pimlico.mdx b/src/content/tools/en/pimlico.mdx deleted file mode 100644 index a10e3bccc..000000000 --- a/src/content/tools/en/pimlico.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: "Pimlico" -category: ["Infra","Chain Abstraction"] -excerpt: "Gass-less experience, account abstraction infrastructure and boundlers." -logo: { src: "https://avatars.githubusercontent.com/u/125581500?s=200&v=4", alt: "Pimlico Logo" } -website: "https://www.pimlico.io/" -network: ["Mainnet", "Testnet"] ---- - -**_Official Pimlico docs:_** - -[docs.pimlico.io](https://docs.pimlico.io/) \ No newline at end of file diff --git a/src/content/tools/en/privy.mdx b/src/content/tools/en/privy.mdx deleted file mode 100644 index 363d4ed87..000000000 --- a/src/content/tools/en/privy.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: "Privy" -category: ["Wallet","Onboarding"] -excerpt: "Wallet and onboarding tooling for developers." -logo: { src: "https://framerusercontent.com/images/AwTsKmlC3D7Q0nXT1xH0qt3jHkI.png", alt: "Privy Logo" } -website: "https://www.privy.io/" -network: ["Mainnet", "Testnet"] ---- - -**_Official Privy docs:_** - -[docs.privy.io](https://docs.privy.io/welcome) \ No newline at end of file diff --git a/src/content/tools/en/pyth.mdx b/src/content/tools/en/pyth.mdx deleted file mode 100644 index 5ae511b99..000000000 --- a/src/content/tools/en/pyth.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: "Pyth" -category: ["Oracle"] -excerpt: "Pyth Network is the largest first-party oracle network, focusing on delivering real-time financial data." -logo: { src: "https://pbs.twimg.com/profile_images/1876029224277966848/ZvI083Fa_400x400.jpg", alt: "Pyth Logo" } -website: "https://pyth.network/" -network: ["Mainnet", "Testnet"] ---- - -You can find contract addresses for Pyth for Scroll Mainnet and Scroll Sepolia: - -- [How to use Pyth on Scroll](https://docs.pyth.network/price-feeds/use-real-time-data/evm) -- [Price Feed IDs for Scroll](https://www.pyth.network/developers/price-feed-ids) -- [Pyth Scroll Mainnet and Scroll Sepolia contracts](https://docs.pyth.network/price-feeds/contract-addresses/evm) - - diff --git a/src/content/tools/en/quicknode.mdx b/src/content/tools/en/quicknode.mdx deleted file mode 100644 index 49ea04b78..000000000 --- a/src/content/tools/en/quicknode.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: "QuickNode" -category: ["Data", "Infra"] -excerpt: "A comprehensive platform for web3 data and infrastructure tools, featuring the fastest RPCs, serverless blockchain functions, and robust ETL tools, all supported by enterprise-level reliability and security." -logo: - { - src: "https://pbs.twimg.com/profile_images/1875136807781662720/MJP7n4UN_400x400.jpg", - alt: "QuickNode Logo", - } -website: "https://www.quicknode.com/chains/scroll?utm_source=scroll-docs" -network: ["Mainnet", "Testnet"] -noAdditionalInfo: false ---- - -QuickNode supercharges your blockchain projects with fast, secure infrastructure built to scale. It supports over 60 chains, low-latency RPC endpoints, flexible serverless functions, and smart ETL tooling that keep your apps running seamlessly. SOC 1 and SOC 2 compliance ensures your data is safe, plus 24/7 global support ready to help when you need it. QuickNode is your go-to partner for unlocking the true potential of Web3 development. - -###### Get started for free - - -- Fastest RPC endpoints: [docs/scroll](https://www.quicknode.com/docs/scroll?utm_source=scroll-docs) - -- Blockchain ETL solution, Streams: [docs/streams](https://www.quicknode.com/docs/streams/getting-started?utm_source=scroll-docs) - -- Blockchain Serverless Functions: [docs/functions](https://www.quicknode.com/docs/functions/getting-started?utm_source=scroll-docs) - -###### Resources: - -- [Docs](https://www.quicknode.com/docs/welcome?utm_source=scroll-docs) -- [Step-by-step guides](https://www.quicknode.com/guides/welcome?utm_source=scroll-docs) -- [Video tutorials](https://www.youtube.com/@QuickNode) diff --git a/src/content/tools/en/reown.mdx b/src/content/tools/en/reown.mdx deleted file mode 100644 index 2125dcad2..000000000 --- a/src/content/tools/en/reown.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: "Reown" -category: ["Onboarding", "Wallet"] -excerpt: "Reown provides developers with tools to enable seamless wallet interactions across their Web3 apps and wallets." -logo: { src: "https://avatars.githubusercontent.com/u/179229932", alt: "Reown Logo" } -website: "https://reown.com/?utm_source=scroll&utm_medium=docs&utm_campaign=backlinks" -network: ["Mainnet", "Testnet"] ---- - -**[Reown (prev. known as WalletConnect)](https://reown.com/?utm_source=scroll&utm_medium=docs&utm_campaign=backlinks)** provides developers with tools to enable seamless wallet interactions across their Web3 apps and wallets. - -Reown has two major product offerings, they are, **AppKit** and **WalletKit**. - -### AppKit - -AppKit is a powerful, free, and fully open-source SDK for developers looking to integrate wallet connections and other Web3 functionalities into their apps on any EVM and non-EVM chain. In just a few simple steps, you can provide your users with seamless wallet access, one-click authentication, social logins, and notifications—streamlining their experience while enabling advanced features like on-ramp functionality, in-app token swaps and smart accounts. - -### WalletKit -WalletKit is a robust, open-source SDK designed to empower seamless wallet connections and interactions across any blockchain. With WalletKit, you can offer your users a simple and secure way to connect with thousands of apps, enabling features like one-click authentication, secure transaction signing, and streamlined wallet address verification. Its chain-agnostic design ensures effortless multi-chain support, eliminating the need for complex integrations while delivering unmatched connectivity and security. - -To summarize, **AppKit** is for **Web3 applications** and **WalletKit** is for **Web3 wallets**. - -You will be able to use Reown AppKit to power end-to-end wallet interactions on your Web3 app deployed on Scroll. - -Some links to learn more about Reown: -- [Website](https://reown.com/?utm_source=scroll&utm_medium=docs&utm_campaign=backlinks) -- [Blog](https://reown.com/blog?utm_source=scroll&utm_medium=docs&utm_campaign=backlinks) -- [Docs](https://docs.reown.com/?utm_source=scroll&utm_medium=docs&utm_campaign=backlinks) diff --git a/src/content/tools/en/safe.mdx b/src/content/tools/en/safe.mdx deleted file mode 100644 index 7397d0ad2..000000000 --- a/src/content/tools/en/safe.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -name: "Safe" -category: ["Identity", "Wallet"] -excerpt: "" -logo: { src: "https://app.safe.global/images/safe-logo-green.png", alt: "Safe Logo" } -website: "https://app.safe.global" -network: ["Mainnet", "Testnet"] ---- - -Scroll Mainnet is available in the [official Safe app](app.safe.global), and the transaction service API is at https://safe-transaction-scroll.safe.global. Here are the relevant contracts for Scroll Mainnet: - -- CompatibilityFallbackHandler: [`0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4`](https://scrollscan.com/address/0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4) -- CreateCall: [`0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4`](https://scrollscan.com/address/0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4) -- DefaultCallbackHandler: [`0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd`](https://scrollscan.com/address/0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd) -- GnosisSafe: [`0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552`](https://scrollscan.com/address/0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552) -- GnosisSafeL2: [`0x3E5c63644E683549055b9Be8653de26E0B4CD36E`](https://scrollscan.com/address/0x3E5c63644E683549055b9Be8653de26E0B4CD36E) -- GnosisSafeProxyFactory: [`0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2`](https://scrollscan.com/address/0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2) -- MultiSend: [`0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761`](https://scrollscan.com/address/0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761) -- MultiSendCallOnly: [`0x40A2aCCbd92BCA938b02010E17A5b8929b49130D`](https://scrollscan.com/address/0x40A2aCCbd92BCA938b02010E17A5b8929b49130D) -- SignMessageLib: [`0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2`](https://scrollscan.com/address/0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2) -- SimulateTxAccessor: [`0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da`](https://scrollscan.com/address/0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da) - -You can access Safe on Scroll Sepolia [here](https://safe.scroll.xyz/), and the transaction service API is at https://transaction-sepolia.safe.scroll.xyz. Here are the relevant contracts for Scroll Sepolia: - -- CompatibilityFallbackHandler: [`0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4`](https://sepolia.scrollscan.com/address/0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4) -- CreateCall: [`0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4`](https://sepolia.scrollscan.com/address/0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4) -- DefaultCallbackHandler: [`0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd`](https://sepolia.scrollscan.com/address/0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd) -- GnosisSafe: [`0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552`](https://sepolia.scrollscan.com/address/0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552) -- GnosisSafeL2: [`0x3E5c63644E683549055b9Be8653de26E0B4CD36E`](https://sepolia.scrollscan.com/address/0x3E5c63644E683549055b9Be8653de26E0B4CD36E) -- GnosisSafeProxyFactory: [`0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2`](https://sepolia.scrollscan.com/address/0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2) -- MultiSend: [`0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761`](https://sepolia.scrollscan.com/address/0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761) -- MultiSendCallOnly: [`0x40A2aCCbd92BCA938b02010E17A5b8929b49130D`](https://sepolia.scrollscan.com/address/0x40A2aCCbd92BCA938b02010E17A5b8929b49130D) -- SignMessageLib: [`0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2`](https://sepolia.scrollscan.com/address/0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2) -- SimulateTxAccessor: [`0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da`](https://sepolia.scrollscan.com/address/0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da) \ No newline at end of file diff --git a/src/content/tools/en/sentio.mdx b/src/content/tools/en/sentio.mdx deleted file mode 100644 index 46e4fcd08..000000000 --- a/src/content/tools/en/sentio.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: "Sentio" -category: ["Debug", "Data"] -excerpt: "" -logo: { src: "https://app.sentio.xyz/logo-mini.png", alt: "Sentio Logo" } -website: "https://sentio.xyz" -network: ["Mainnet", "Testnet"] ---- - -Sentio provides a powerful, all-in-one solution for transaction debugging, simulation, data indexing, and visualization, offering complete context in a single platform. - -**_Sentio Debugger:_** - -Best tool to help users understand how a transaction works. It has advanced features such as: - -- [Simulation](https://docs.sentio.xyz/docs/simulation): Run lightning-fast simulations and inspect the simulation result in great detail -- [Dynamic logging](https://docs.sentio.xyz/docs/dynamic-logging): Add custom `console.log` for transactions to extract specific information, as part of a broader contract override feature -- [Code Insight](https://docs.sentio.xyz/docs/code-insight): Navigate through Solidity code seamlessly, just like in an IDE - -**_Sentio Indexer:_** - -A state-of-the-art indexing service with integrated user experience: - -- Support both [Sentio processor](https://docs.sentio.xyz/docs/processor-basic), a blazing fast data indexer powered by the Sentio SDK that streamlines data ingestion, processing, and storage—all with maximum flexibility in TypeScript, as well as [hosted subgraph processor]((https://docs.sentio.xyz/docs/hosted-subgraph)) -- Query using SQL/GraphQL and visualize results with an intuitive click-and-drag interface \ No newline at end of file diff --git a/src/content/tools/en/thegraph.mdx b/src/content/tools/en/thegraph.mdx deleted file mode 100644 index 719fe8a5d..000000000 --- a/src/content/tools/en/thegraph.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: "The Graph" -category: ["Debug", "Data"] -excerpt: "Getting historical data on a smart contract can be frustrating when you’re building a dapp. The Graph provides an easy way to query smart contract data through APIs known as subgraphs." -logo: { src: "https://avatars.githubusercontent.com/u/38020273?s=200&v=4", alt: "The Graph Logo" } -website: "https://thegraph.com" -network: ["Mainnet", "Testnet"] ---- - -Getting historical data on a smart contract can be frustrating when you’re building a dapp. [The Graph](https://thegraph.com/) provides an easy way to query smart contract data through APIs known as subgraphs. The Graph’s infrastructure relies on a decentralized network of indexers, enabling your dapp to become truly decentralized. - -The Graph supports both Scroll mainnet & testnet. - -#### Quick Start - -These subgraphs only take a few minutes to set up. To get started, follow these three steps: - -1. Initialize your subgraph project -2. Deploy & Publish -3. Query from your dapp - -Pricing: **All developers receive 100K free queries per month on the decentralized network**. After these free queries, you only pay based on usage at $4 for every 100K queries. - -Here’s a step by step walk through that includes screenshots: -[The Graph Quick Start](https://edgeandnode.notion.site/The-Graph-Quick-Start-cd924d4d17674c5492216ef7c5e0503d?pvs=74) diff --git a/src/content/tools/en/uniswap.mdx b/src/content/tools/en/uniswap.mdx deleted file mode 100644 index 7ca99201f..000000000 --- a/src/content/tools/en/uniswap.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -name: "Uniswap v3" -category: ["Defi"] -excerpt: "" -logo: { src: "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Uniswap_Logo.svg/2051px-Uniswap_Logo.svg.png", alt: "Uniswap Logo" } -website: "https://uniswap.org/" -network: ["Mainnet", "Testnet"] ---- - -**_Scroll Mainnet_** - -- Main Contracts - - Core Factory: [`0x70C62C8b8e801124A4Aa81ce07b637A3e83cb919`](https://scrollscan.com/address/0x70C62C8b8e801124A4Aa81ce07b637A3e83cb919) - - NFT Position Manager: [`0xB39002E4033b162fAc607fc3471E205FA2aE5967`](https://scrollscan.com/address/0xB39002E4033b162fAc607fc3471E205FA2aE5967) - - Router: [`0xfc30937f5cDe93Df8d48aCAF7e6f5D8D8A31F636`](https://scrollscan.com/address/0xfc30937f5cDe93Df8d48aCAF7e6f5D8D8A31F636) -- Additional Contracts - - multicall2Address: [`0xC1D2e074C38FdD5CA965000668420C80316F0915`](https://scrollscan.com/address/0xC1D2e074C38FdD5CA965000668420C80316F0915) - - proxyAdminAddress: [`0x1E6dcAb806A42055098f23E2B3ac72D6E195F967`](https://scrollscan.com/address/0x1E6dcAb806A42055098f23E2B3ac72D6E195F967) - - tickLensAddress: [`0x85780e12e90D2a684eB8E7404c985b5B5c8ce7E9`](https://scrollscan.com/address/0x85780e12e90D2a684eB8E7404c985b5B5c8ce7E9) - - nftDescriptorLibraryAddressV1_3_0: [`0xAeE9c206ba89F3DA25EEe4636208519e0B86965B`](https://scrollscan.com/address/0xAeE9c206ba89F3DA25EEe4636208519e0B86965B) - - nonfungibleTokenPositionDescriptorAddressV1_3_0: [`0xACcf12204b7591B2ECCEFe737440B0f53748B191`](https://scrollscan.com/address/0xACcf12204b7591B2ECCEFe737440B0f53748B191) - - descriptorProxyAddress: [`0x675DD953225D296A44790dC1390a1E7eF378f464`](https://scrollscan.com/address/0x675DD953225D296A44790dC1390a1E7eF378f464) - - v3MigratorAddress: [`0xF00577B5Dd0DA227298E954Ed11356F264Cf93d4`](https://scrollscan.com/address/0xF00577B5Dd0DA227298E954Ed11356F264Cf93d4) - - v3StakerAddress: [`0xFdFbE973c9ecB036Ecfb7af697FcACe789D3f928`](https://scrollscan.com/address/0xFdFbE973c9ecB036Ecfb7af697FcACe789D3f928) - - quoterV2Address: [`0x2566e082Cb1656d22BCbe5644F5b997D194b5299`](https://scrollscan.com/address/0x2566e082Cb1656d22BCbe5644F5b997D194b5299) - -**_Scroll Sepolia_** - -- Frontend website: [https://uniswap-showcase.sepolia.scroll.xyz/](https://uniswap-showcase.sepolia.scroll.xyz/) -- Main Contracts - - Core Factory: [`0xB856587fe1cbA8600F75F1b1176E44250B11C788`](https://sepolia.scrollscan.com/address/0xB856587fe1cbA8600F75F1b1176E44250B11C788) - - NFT Position Manager: [`0xbbAd0e891922A8A4a7e9c39d4cc0559117016fec`](https://sepolia.scrollscan.com/address/0xbbAd0e891922A8A4a7e9c39d4cc0559117016fec) - - Router: [`0x17AFD0263D6909Ba1F9a8EAC697f76532365Fb95`](https://sepolia.scrollscan.com/address/0x17AFD0263D6909Ba1F9a8EAC697f76532365Fb95) -- Additional Contracts - - multicall2Address: [`0x8c181f4B9040F1a2C941EfD3b608712cF86F1957`](https://sepolia.scrollscan.com/address/0x8c181f4B9040F1a2C941EfD3b608712cF86F1957) - - proxyAdminAddress: [`0xD4A9910732b6f301F6F210Ebe7a3dBf16d9E9DD4`](https://sepolia.scrollscan.com/address/0xD4A9910732b6f301F6F210Ebe7a3dBf16d9E9DD4) - - tickLensAddress: [`0x9804Da978427a49929f2E6Ea32A9594F03f9296e`](https://sepolia.scrollscan.com/address/0x9804Da978427a49929f2E6Ea32A9594F03f9296e) - - nftDescriptorLibraryAddressV1_3_0: [`0x45Bd3B62B7A3aA53371c98049b0f7A9C1A4B5a6c`](https://sepolia.scrollscan.com/address/0x45Bd3B62B7A3aA53371c98049b0f7A9C1A4B5a6c) - - nonfungibleTokenPositionDescriptorAddressV1_3_0: [`0x24d4E4a572Dc1e0dbF92a0d7768Ac80df516b2C2`](https://sepolia.scrollscan.com/address/0x24d4E4a572Dc1e0dbF92a0d7768Ac80df516b2C2) - - descriptorProxyAddress: [`0xa8986417d0EAe50607696b9b0cb7ec5aFBE67765`](https://sepolia.scrollscan.com/address/0xa8986417d0EAe50607696b9b0cb7ec5aFBE67765) - - v3MigratorAddress: [`0x38E33D067F03a5cDc02C301b2c306cb0414549Bf`](https://sepolia.scrollscan.com/address/0x38E33D067F03a5cDc02C301b2c306cb0414549Bf) - - v3StakerAddress: [`0xe7b82794Cab21e665a3e6f8ea562d392AA6E0619`](https://sepolia.scrollscan.com/address/0xe7b82794Cab21e665a3e6f8ea562d392AA6E0619) - - quoterV2Address: [`0xd5dd33650Ef1DC6D23069aEDC8EAE87b0D3619B2`](https://sepolia.scrollscan.com/address/0xd5dd33650Ef1DC6D23069aEDC8EAE87b0D3619B2)