From 1e89b2f409f27653ad22eb7201e3bafed7bac70c Mon Sep 17 00:00:00 2001 From: Shea Ketsdever Date: Wed, 11 Oct 2023 15:13:12 -0500 Subject: [PATCH 1/9] Describe fast mode in quickstart guide --- docs/flashbots-protect/quick-start.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/flashbots-protect/quick-start.mdx b/docs/flashbots-protect/quick-start.mdx index 80cbd06b..ecf60c76 100644 --- a/docs/flashbots-protect/quick-start.mdx +++ b/docs/flashbots-protect/quick-start.mdx @@ -6,17 +6,19 @@ import ProtectButtonSelector from "@site/src/components/ProtectButtonSelector"; ## Key Considerations -Before you get started with Flashbots Protect here are a few things to be mindful of: - -It has the following key benefits: +Flashbots Protect has the following key benefits: - **Configurable:** you can choose which builders to send to and your mev-share settings. - **Frontrunning protection:** your transaction will not be seen by hungry sandwich bots in the public mempool. - **Get MEV back**: if your transaction creates MEV, you get up to 90% of it back through [MEV-Share](/flashbots-mev-share/introduction). - **No failed transactions:** your transaction will only be included if it doesn't include any reverts, so you don't pay for failed transactions. -### Speeding up your transaction's inclusion +### Faster Transactions + +You can speed up your transaction's inclusion by using Protect in fast mode. Click the "fast" option when [configuring your Protect RPC](/flashbots-protect/quick-start#using-flashbots-protect) or manually set your RPC to `rpc.flashbots.net/fast`. -Transactions sent through Flashbots Protect are, by default, only shared with Flashbots Builder, which builds only a subset of all Ethereum blocks. To enhance the rate of transaction inclusion, you may choose to share your transaction with additional builders. This can be accomplished by selecting other builders in the advanced options when [configuring your Protect RPC](/flashbots-protect/quick-start#using-flashbots-protect). +Fast mode has 2 key differences from the default Protect experience: +1. **Shared with all builders:** By default, Protect transactions are only shared with the Flashbots Builder, which builds only a subset of all Ethereum blocks. In fast mode, transactions are shared with all [registered builders](`https://github.com/flashbots/dowg/blob/main/builder-registrations.json`) to increase the number of blocks the user's transaction can be included in. +2. **Larger refund paid to validator:** By default, only 10% of MEV-Share refunds are paid to validators. In fast mode, validators receive 50% of refunds which makes it more likely that the user’s transactions will be chosen in a given block. **Note**: When you send your transaction to a builder, you are entrusting them not to frontrun your transaction or disclose it to third parties who might. From 226623e2d8ef2e4e5709bc7db864058100bf05f6 Mon Sep 17 00:00:00 2001 From: Shea Ketsdever Date: Wed, 11 Oct 2023 16:03:37 -0500 Subject: [PATCH 2/9] Fast mode UI functionality --- .../ProtectButtonSelector/index.tsx | 47 ++++++++++++------- .../ProtectButtonSelector/styles.module.scss | 9 +++- 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/src/components/ProtectButtonSelector/index.tsx b/src/components/ProtectButtonSelector/index.tsx index fea99b63..a90a2d96 100644 --- a/src/components/ProtectButtonSelector/index.tsx +++ b/src/components/ProtectButtonSelector/index.tsx @@ -1,13 +1,19 @@ +/** + * Copyright (c) Flashbots Ltd. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React, { useEffect, useState } from "react" -import SimpleDropdown from '../SimpleDropdown' import FlashbotsProtectButton, { generateRpcUrl, HintPreferences } from 'protect-button'; +import SimpleDropdown from '../SimpleDropdown' import Checkbox from '../Checkbox' import AlignItems from '../AlignItems/AlignItems' import GridBlock from '../GridBlock/GridBlock' import { Builder, useSupportedBuilders } from '../mev-share/useSupportedBuilders' import styles from './styles.module.scss'; -const ProtectButtonSelector = () => { +function ProtectButtonSelector() { const [selectedBuilders, setSelectedBuilders] = useState([]) const [calldata, setCalldata] = useState(false) const [logs, setLogs] = useState(false) @@ -16,7 +22,8 @@ const ProtectButtonSelector = () => { const [functionSelector, setFunctionSelector] = useState(false) const [noHints, setNoHints] = useState(false) const [allBuilders, setAllBuilders] = useState(false) - const [advancedOptionsShown, setAdvancedOptionsShown] = useState(true) + const [advancedOptionsShown, setAdvancedOptionsShown] = useState(false) + const [fastMode, setFastMode] = useState(false) const supportedBuilders = useSupportedBuilders().map(builder => builder.name) @@ -31,8 +38,9 @@ const ProtectButtonSelector = () => { // Generate the RPC URL const rpcUrl = generateRpcUrl({ - hints: hints, + hints, builders: advancedOptionsShown ? selectedBuilders : undefined + // TODO also accept "fast" }).toString(); const onSetNoHints = (val: boolean) => { @@ -96,17 +104,19 @@ const ProtectButtonSelector = () => { } } - const BuilderCheckbox = ({ name }: { name: string }) => toggleBuilder(name)} /> + function BuilderCheckbox({ name }: { name: string }) { + return toggleBuilder(name)} /> +} - const RenderRpcUrl = () => ( -
+ function RenderRpcUrl() { + return
RPC URL:
{rpcUrl}
- ); +} - const RenderHints = () => ( -
+ function RenderHints() { + return
MEV-Share Hints
@@ -115,30 +125,33 @@ const ProtectButtonSelector = () => { - +
{/* spacer */}
- ); +} - const RenderBuilders = () => ( -
+ function RenderBuilders() { + return
Builders
{supportedBuilders.map((builder, idx) => )} - {} +
- ); +} return ( - { + { setAdvancedOptionsShown(!advancedOptionsShown) }} isOpen={advancedOptionsShown}> <>Connect Wallet to Protect +
+ +
diff --git a/src/components/ProtectButtonSelector/styles.module.scss b/src/components/ProtectButtonSelector/styles.module.scss index a13a94ee..38ce43a1 100644 --- a/src/components/ProtectButtonSelector/styles.module.scss +++ b/src/components/ProtectButtonSelector/styles.module.scss @@ -17,4 +17,11 @@ align-items: center; width: 80%; word-break: break-all; - } \ No newline at end of file + } + +.fastContainer { + display: flex; + flex-direction: column; + align-items: center; + padding-top: 10px; +} \ No newline at end of file From 086b015e9d3454357127bccee09a1984bc2d25f1 Mon Sep 17 00:00:00 2001 From: brock Date: Thu, 12 Oct 2023 14:20:26 -0700 Subject: [PATCH 3/9] remove .vscode/ --- .vscode/extensions.json | 12 ------------ .vscode/settings.json | 23 ----------------------- 2 files changed, 35 deletions(-) delete mode 100644 .vscode/extensions.json delete mode 100644 .vscode/settings.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 3a5fabe0..00000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - "recommendations": [ - "streetsidesoftware.code-spell-checker", - "esbenp.prettier-vscode", - "dbaeumer.vscode-eslint", - "stylelint.vscode-stylelint", - "EditorConfig.EditorConfig", - "Gruntfuggly.todo-tree" - ], - "unwantedRecommendations": [] -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 156b97dd..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - }, - "eslint.options": { - "extensions": [ - ".js", - ".jsx", - ".mdx", - ".ts", - ".tsx" - ] - }, - "eslint.validate": [ - "mdx", - "javascript", - "javascriptreact", - "typescript", - "typescriptreact" - ], - "editor.defaultFormatter": "esbenp.prettier-vscode", - "javascript.validate.enable": false, -} From b8666db5f90c0607d43a0b54779b3438298fcd24 Mon Sep 17 00:00:00 2001 From: brock Date: Thu, 12 Oct 2023 14:21:00 -0700 Subject: [PATCH 4/9] ignore .vscode/ --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index bbd77919..e0782f5e 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,5 @@ node_modules .vercel .env*.local -.idea/ \ No newline at end of file +.idea/ +.vscode From 575170f118b7e0aa6349ce2701fb42cae3bea4f8 Mon Sep 17 00:00:00 2001 From: brock Date: Mon, 16 Oct 2023 11:45:47 -0700 Subject: [PATCH 5/9] [unfinished] add local protect-button to test --- docs/flashbots-protect/quick-start.mdx | 2 +- package.json | 2 +- .../ProtectButtonSelector/index.tsx | 76 ++++++++----------- yarn.lock | 4 +- 4 files changed, 34 insertions(+), 50 deletions(-) diff --git a/docs/flashbots-protect/quick-start.mdx b/docs/flashbots-protect/quick-start.mdx index ecf60c76..56b240aa 100644 --- a/docs/flashbots-protect/quick-start.mdx +++ b/docs/flashbots-protect/quick-start.mdx @@ -17,7 +17,7 @@ Flashbots Protect has the following key benefits: You can speed up your transaction's inclusion by using Protect in fast mode. Click the "fast" option when [configuring your Protect RPC](/flashbots-protect/quick-start#using-flashbots-protect) or manually set your RPC to `rpc.flashbots.net/fast`. Fast mode has 2 key differences from the default Protect experience: -1. **Shared with all builders:** By default, Protect transactions are only shared with the Flashbots Builder, which builds only a subset of all Ethereum blocks. In fast mode, transactions are shared with all [registered builders](`https://github.com/flashbots/dowg/blob/main/builder-registrations.json`) to increase the number of blocks the user's transaction can be included in. +1. **Shared with all builders:** By default, Protect transactions are only shared with the Flashbots Builder, which builds only a subset of all Ethereum blocks. In fast mode, transactions are shared with all [registered builders](https://github.com/flashbots/dowg/blob/main/builder-registrations.json) to increase the number of blocks the user's transaction can be included in. 2. **Larger refund paid to validator:** By default, only 10% of MEV-Share refunds are paid to validators. In fast mode, validators receive 50% of refunds which makes it more likely that the user’s transactions will be chosen in a given block. **Note**: When you send your transaction to a builder, you are entrusting them not to frontrun your transaction or disclose it to third parties who might. diff --git a/package.json b/package.json index 834fdfe9..b25475d6 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "docusaurus-plugin-sass": "^0.2.1", "dotenv": "^8.2.0", "prism-react-renderer": "^2.1.0", - "protect-button": "^0.4.5", + "protect-button": "../protect-button/protect", "react": "^18.2.0", "react-dom": "^18.2.0", "react-loadable": "^5.5.0", diff --git a/src/components/ProtectButtonSelector/index.tsx b/src/components/ProtectButtonSelector/index.tsx index a90a2d96..90fab645 100644 --- a/src/components/ProtectButtonSelector/index.tsx +++ b/src/components/ProtectButtonSelector/index.tsx @@ -10,10 +10,14 @@ import SimpleDropdown from '../SimpleDropdown' import Checkbox from '../Checkbox' import AlignItems from '../AlignItems/AlignItems' import GridBlock from '../GridBlock/GridBlock' -import { Builder, useSupportedBuilders } from '../mev-share/useSupportedBuilders' +import { useSupportedBuilders } from '../mev-share/useSupportedBuilders' import styles from './styles.module.scss'; -function ProtectButtonSelector() { +function BuilderCheckbox({ name, selectedBuilders, fastMode, toggleBuilder }: { name: string, selectedBuilders: string[], fastMode: boolean, toggleBuilder: (name: string) => any }) { + return toggleBuilder(name)} /> +} + +export default function ProtectButtonSelector () { const [selectedBuilders, setSelectedBuilders] = useState([]) const [calldata, setCalldata] = useState(false) const [logs, setLogs] = useState(false) @@ -93,7 +97,7 @@ function ProtectButtonSelector() { } else { setSelectedBuilders(selectedBuilders.concat(name)); } - }; + } const toggleAllBuilders = (val: boolean) => { setAllBuilders(val); @@ -104,42 +108,6 @@ function ProtectButtonSelector() { } } - function BuilderCheckbox({ name }: { name: string }) { - return toggleBuilder(name)} /> -} - - function RenderRpcUrl() { - return
-
RPC URL:
-
{rpcUrl}
-
-} - - function RenderHints() { - return
- MEV-Share Hints -
- - - - - - - -
{/* spacer */} - -
-} - - function RenderBuilders() { - return
- Builders -
- {supportedBuilders.map((builder, idx) => )} - -
-} - return ( { @@ -147,20 +115,38 @@ function ProtectButtonSelector() { }} isOpen={advancedOptionsShown}> - <>Connect Wallet to Protect + Connect Wallet to Protect
- +
+
RPC URL:
+
{rpcUrl}
+
- - +
+ MEV-Share Hints +
+ + + + + + + +
{/* spacer */} + +
+
+ Builders +
+ {supportedBuilders.map((builder: string) => )} + +
); } - -export default ProtectButtonSelector diff --git a/yarn.lock b/yarn.lock index c021dc53..e4305a68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9320,10 +9320,8 @@ property-information@^6.0.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3" integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg== -protect-button@^0.4.5: +protect-button@../protect-button/protect: version "0.4.5" - resolved "https://registry.yarnpkg.com/protect-button/-/protect-button-0.4.5.tgz#f3456b75ca55a8b9d733ce021c07e5ba7e014b64" - integrity sha512-MYKHADSmc05CLPoJhdoiDFEXldYU6+KU+iAhjb2FPo6TTRf8kbbUfMoX/LrwXluoMTa8C4GQEg2FTCfyOvc6EQ== proto-list@~1.2.1: version "1.2.4" From 39e2dc5213f991812921821b5c91607c7e9a40ca Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:27:49 -0700 Subject: [PATCH 6/9] fix protect-button errors --- package.json | 2 + .../ProtectButtonSelector/index.tsx | 57 ++++++++++--------- src/tsconfig.json | 2 +- yarn.lock | 17 ++++++ 4 files changed, 49 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index b25475d6..689ae53c 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,8 @@ "@docusaurus/eslint-plugin": "^3.0.0-beta.0", "@docusaurus/module-type-aliases": "^3.0.0-beta.0", "@docusaurus/tsconfig": "^3.0.0-beta.0", + "@tsconfig/docusaurus": "^2.0.2", + "@types/node": "^20.8.6", "@types/react": "^18.2.23", "@types/react-helmet": "^6.1.2", "@types/react-router-dom": "^5.1.8", diff --git a/src/components/ProtectButtonSelector/index.tsx b/src/components/ProtectButtonSelector/index.tsx index 90fab645..f27d67c3 100644 --- a/src/components/ProtectButtonSelector/index.tsx +++ b/src/components/ProtectButtonSelector/index.tsx @@ -14,10 +14,10 @@ import { useSupportedBuilders } from '../mev-share/useSupportedBuilders' import styles from './styles.module.scss'; function BuilderCheckbox({ name, selectedBuilders, fastMode, toggleBuilder }: { name: string, selectedBuilders: string[], fastMode: boolean, toggleBuilder: (name: string) => any }) { - return toggleBuilder(name)} /> + return toggleBuilder(name)} /> } -export default function ProtectButtonSelector () { +export default function ProtectButtonSelector() { const [selectedBuilders, setSelectedBuilders] = useState([]) const [calldata, setCalldata] = useState(false) const [logs, setLogs] = useState(false) @@ -31,7 +31,7 @@ export default function ProtectButtonSelector () { const supportedBuilders = useSupportedBuilders().map(builder => builder.name) - const hints: HintPreferences = advancedOptionsShown ? { + const hints: HintPreferences | undefined = advancedOptionsShown ? { calldata, logs, defaultLogs, @@ -43,8 +43,8 @@ export default function ProtectButtonSelector () { // Generate the RPC URL const rpcUrl = generateRpcUrl({ hints, - builders: advancedOptionsShown ? selectedBuilders : undefined - // TODO also accept "fast" + builders: advancedOptionsShown ? selectedBuilders : undefined, + fast: fastMode }).toString(); const onSetNoHints = (val: boolean) => { @@ -115,36 +115,37 @@ export default function ProtectButtonSelector () { }} isOpen={advancedOptionsShown}> - Connect Wallet to Protect + Connect Wallet to Protect + <>
- +
-
RPC URL:
-
{rpcUrl}
+
RPC URL:
+
{rpcUrl}
-
- MEV-Share Hints -
- - - - - - - -
{/* spacer */} - -
-
- Builders -
- {supportedBuilders.map((builder: string) => )} - -
+
+ MEV-Share Hints +
+ + + + + + + +
{/* spacer */} + +
+
+ Builders +
+ {supportedBuilders.map((builder: string) => )} + +
diff --git a/src/tsconfig.json b/src/tsconfig.json index 665fece1..cfe58f5d 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -1,6 +1,6 @@ { // This file is not used in compilation. It is here just for a nice editor experience. - "extends": "@docusaurus/tsconfig", + "extends": "@tsconfig/docusaurus/tsconfig.json", "compilerOptions": { "lib": ["DOM", "ESNext"], "baseUrl": ".", diff --git a/yarn.lock b/yarn.lock index e4305a68..f15d98ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2396,6 +2396,11 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== +"@tsconfig/docusaurus@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/docusaurus/-/docusaurus-2.0.2.tgz#f96c7453ce9969ef938284eac74441e2d646efd7" + integrity sha512-12HWfYmgUl4M2o76/TFufGtI68wl2k/b8qPrIrG7ci9YJLrpAtadpy897Bz5v29Mlkr7a1Hq4KHdQTKtU+2rhQ== + "@types/acorn@^4.0.0": version "4.0.6" resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" @@ -2625,6 +2630,13 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.3.tgz#e5188135fc2909b46530c798ef49be65083be3fd" integrity sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA== +"@types/node@^20.8.6": + version "20.8.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.6.tgz#0dbd4ebcc82ad0128df05d0e6f57e05359ee47fa" + integrity sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ== + dependencies: + undici-types "~5.25.1" + "@types/normalize-package-data@^2.4.0": version "2.4.2" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz#9b0e3e8533fe5024ad32d6637eb9589988b6fdca" @@ -11057,6 +11069,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~5.25.1: + version "5.25.3" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" + integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" From 69f7374fc73df85dfcb07d5fe37cff5bc2aa5d7f Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:32:08 -0700 Subject: [PATCH 7/9] update protect-button dep: point to npm release --- package.json | 2 +- yarn.lock | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 689ae53c..77a8a43f 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "docusaurus-plugin-sass": "^0.2.1", "dotenv": "^8.2.0", "prism-react-renderer": "^2.1.0", - "protect-button": "../protect-button/protect", + "protect-button": "^0.4.6", "react": "^18.2.0", "react-dom": "^18.2.0", "react-loadable": "^5.5.0", diff --git a/yarn.lock b/yarn.lock index f15d98ce..6a6b2463 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9332,8 +9332,10 @@ property-information@^6.0.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3" integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg== -protect-button@../protect-button/protect: - version "0.4.5" +protect-button@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/protect-button/-/protect-button-0.4.6.tgz#ee42e5be2b0b023cff5f70e4c5722b94dbbf584b" + integrity sha512-lx4sXkDMuS0VRrRw/7OiZ7KiiiXDrgehCdquHtHdmgJbWbLH3eHju99roWx6TDycRe+SFO2FLIPrYSRlrTie6w== proto-list@~1.2.1: version "1.2.4" From 303608261d9ed8ff78461d5125e590d3ccdf3073 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:34:21 -0700 Subject: [PATCH 8/9] ignore .eslintcache --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e0782f5e..4df59208 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ node_modules .idea/ .vscode +.eslintcache From d996f5503ae307de70c4cd73b8bf04a53307fcb8 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:43:16 -0700 Subject: [PATCH 9/9] remove unnecessary import --- package.json | 1 - yarn.lock | 12 ------------ 2 files changed, 13 deletions(-) diff --git a/package.json b/package.json index 77a8a43f..dec5d2a0 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,6 @@ "@docusaurus/module-type-aliases": "^3.0.0-beta.0", "@docusaurus/tsconfig": "^3.0.0-beta.0", "@tsconfig/docusaurus": "^2.0.2", - "@types/node": "^20.8.6", "@types/react": "^18.2.23", "@types/react-helmet": "^6.1.2", "@types/react-router-dom": "^5.1.8", diff --git a/yarn.lock b/yarn.lock index 6a6b2463..60a0fcb9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2630,13 +2630,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.3.tgz#e5188135fc2909b46530c798ef49be65083be3fd" integrity sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA== -"@types/node@^20.8.6": - version "20.8.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.6.tgz#0dbd4ebcc82ad0128df05d0e6f57e05359ee47fa" - integrity sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ== - dependencies: - undici-types "~5.25.1" - "@types/normalize-package-data@^2.4.0": version "2.4.2" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz#9b0e3e8533fe5024ad32d6637eb9589988b6fdca" @@ -11071,11 +11064,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~5.25.1: - version "5.25.3" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" - integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== - unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"