diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a418fda56..b2411fe74 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,8 +1,2 @@ -* @ethereum-optimism/docs-reviewers - -# Giving Marine privileges to review RPC providers, account abstraction, oracles, alt-da, and block explorers -/pages/builders/tools/connect/rpc-providers.mdx @ethereum-optimism/docs-reviewers @0xmariniere -/pages/builders/tools/build/block-explorers.mdx @ethereum-optimism/docs-reviewers @0xmariniere -/pages/builders/tools/build/oracles.mdx @ethereum-optimism/docs-reviewers @0xmariniere -/pages/builders/chain-operators/features/alt-da-mode.mdx @ethereum-optimism/docs-reviewers @0xmariniere -/pages/builders/tools/build/account-abstraction.mdx @ethereum-optimism/docs-reviewers @0xmariniere +# Code reviewers +* @squdgy @paulgnz diff --git a/.github/ISSUE_TEMPLATE/general_docs_request.md b/.github/ISSUE_TEMPLATE/general_docs_request.md index 749c30c84..adb553059 100644 --- a/.github/ISSUE_TEMPLATE/general_docs_request.md +++ b/.github/ISSUE_TEMPLATE/general_docs_request.md @@ -1,6 +1,6 @@ --- name: General docs request -about: Template for general documentation requests from the Optimism Collective +about: Template for general documentation requests for the Metal L2 docs title: "[DOCS] Add PR title" labels: 'community-request,documentation' @@ -20,4 +20,4 @@ Provide links to any related content pages for this documentation request. This ## Additional Context Provide any additional context about this documentation request. What problems did you run into that caused you to make this request? -Which existing documentation pages did you already try as a solution to your problem? Why do you think the requested page(s) will be beneficial to developers in the Optimism Collective? +Which existing documentation pages did you already try as a solution to your problem? Why do you think the requested page(s) will be beneficial to developers working with Metal L2? diff --git a/.github/ISSUE_TEMPLATE/suggest_faq_item.yaml b/.github/ISSUE_TEMPLATE/suggest_faq_item.yaml index cb07e9acd..ec92f5c05 100644 --- a/.github/ISSUE_TEMPLATE/suggest_faq_item.yaml +++ b/.github/ISSUE_TEMPLATE/suggest_faq_item.yaml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Before submitting this suggestion, be sure to read our expectations for [FAQ content](https://docs.optimism.io/contribute/style-guide#faqs).
For an example FAQ guide with question+answer pairs, see [Security Model FAQ](https://docs.optimism.io/security/faq#security-model-faq). + Before submitting this suggestion, be sure to read our expectations for [FAQ content](https://docs.metall2.com/contribute/style-guide#faqs).
For an example FAQ guide with question+answer pairs, see [Security Model FAQ](https://docs.metall2.com/security/faq#security-model-faq). - type: markdown id: project_info attributes: @@ -26,7 +26,7 @@ body: id: faq_where_should_it_live attributes: label: What page will this FAQ item live? - description: list the page where the FAQ (question + answer) would be most relevant on docs.optimism.io + description: list the page where the FAQ (question + answer) would be most relevant on docs.metall2.com validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml b/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml index b08efa08c..21dbfb684 100644 --- a/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml +++ b/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Before suggesting a new glossary term or glossary term update, make sure you've read [glossary page](https://docs.optimism.io/resources/glossary). + Before suggesting a new glossary term or glossary term update, make sure you've read [glossary page](https://docs.metall2.com/resources/glossary). - type: markdown attributes: value: | diff --git a/.github/ISSUE_TEMPLATE/suggest_troubleshooting_item.yaml b/.github/ISSUE_TEMPLATE/suggest_troubleshooting_item.yaml index 287ed464d..f17083de7 100644 --- a/.github/ISSUE_TEMPLATE/suggest_troubleshooting_item.yaml +++ b/.github/ISSUE_TEMPLATE/suggest_troubleshooting_item.yaml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Before submitting this suggestion, be sure to read our expectations for [troubleshooting content](https://docs.optimism.io/contribute/style-guide#troubleshooting-guides).
For an example troubleshooting guide with problem+solution pairs, see [Troubleshooting: L2 Rollup](https://docs.optimism.io/builders/chain-operators/management/troubleshooting). + Before submitting this suggestion, be sure to read our expectations for [troubleshooting content](https://docs.metall2.com/contribute/style-guide#troubleshooting-guides).
For an example troubleshooting guide with problem+solution pairs, see [Troubleshooting: L2 Rollup](https://docs.metall2.com/builders/chain-operators/management/troubleshooting). - type: markdown id: project_info attributes: @@ -26,7 +26,7 @@ body: id: troubleshooting_where_should_it_live attributes: label: What page will this troubleshooting item live? - description: list the page where the troubleshooting (problem + solution) would be most relevant on docs.optimism.io + description: list the page where the troubleshooting (problem + solution) would be most relevant on docs.metall2.com validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/suggest_tutorial.yaml b/.github/ISSUE_TEMPLATE/suggest_tutorial.yaml index 890af9b74..c706d2e3e 100644 --- a/.github/ISSUE_TEMPLATE/suggest_tutorial.yaml +++ b/.github/ISSUE_TEMPLATE/suggest_tutorial.yaml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - We'll consider [our defined content types](https://docs.optimism.io/contribute/style-guide#content-types/) when reviewing the tutorial, so please take a look there first. + We'll consider [our defined content types](https://docs.metall2.com/contribute/style-guide#content-types/) when reviewing the tutorial, so please take a look there first. - type: markdown id: tutorial_info attributes: @@ -46,7 +46,7 @@ body: id: tutorial_hosted attributes: label: Hosted on Optimism.io or hosted elsewhere? - description: Let us know if you want your tutorial to be hosted on the docs.optimism.io website or if it is published elsewhere and you want us to link out to the tutorial + description: Let us know if you want your tutorial to be hosted on the docs.metall2.com website or if it is published elsewhere and you want us to link out to the tutorial options: - "Hosted on optimism.io" - "Hosted elsewhere" diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml new file mode 100644 index 000000000..cc4824d03 --- /dev/null +++ b/.github/workflows/links.yml @@ -0,0 +1,48 @@ +name: Check Links + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-and-run-lychee: + runs-on: ubuntu-latest + + steps: + - name: Checkout MetalPay/metal-l2-docs + uses: actions/checkout@v2 + with: + repository: 'MetalPay/metal-l2-docs' + path: 'docs' + + - name: Checkout lycheeverse/lychee + uses: actions/checkout@v2 + with: + repository: 'lycheeverse/lychee' + path: 'lychee' + + - name: Set up Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + with: + save-if: ${{ github.ref == 'refs/heads/main' }} + + - name: Build Lychee + run: | + cd lychee + cargo build --release + + - name: Add Lychee to PATH + run: echo "$GITHUB_WORKSPACE/lychee/target/release" >> $GITHUB_PATH + + - name: Run Lychee + run: | + cd docs + lychee --config ./lychee.toml --quiet "./pages" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b7e4cd152..b17619ea1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,29 +1,29 @@ -# Contributing to Optimism Docs +# Contributing to Metal L2 Docs Thanks for taking the time to contribute! ❤️ -Optimism's documentation is open-source, hosted on GitHub in the `ethereum-optimism/docs` repository which renders on the corresponding official website hosted at [docs.optimism.io](https://docs.optimism.io). This guide will give you an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. Please note that contributions, pull requests, and issues should be written in English at this time. We will be running a dedicated project in the future to add language support to the technical docs, so please reach out via our [developer support channel](https://github.com/ethereum-optimism/developers/) if you are interested in helping with that project. +Metal L2's documentation is open-source, hosted on GitHub in the `MetalPay/metal-l2-docs` repository which renders on the corresponding official website hosted at [docs.metall2.com](https://docs.metall2.com). This guide will give you an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. Please note that contributions, pull requests, and issues should be written in English at this time. -The Optimism Documentation team reviews pull requests and either merges, requests changes, or comments and closes the pull request. You can open a documentation pull request by: +The Metal L2 Documentation team reviews pull requests and either merges, requests changes, or comments and closes the pull request. You can open a documentation pull request by: -- forking the `docs` repository and working locally, +- forking the `metal-l2-docs` repository and working locally, - or, for smaller updates, clicking the `Edit this page` link on the right side of any documentation page to directly edit in GitHub. -Contributing to the Optimism documentation implies 2 steps: +Contributing to the Metal L2 documentation implies 2 steps: -1. Learn how to use [Nextra](#learn-how-to-use-nextra), the tool used to write and generate Optimism's documentation. +1. Learn how to use [Nextra](#learn-how-to-use-nextra), the tool used to write and generate Metal L2's documentation. 2. [Submit a pull request](#send-pull-request) for review. ## Learn How to Use Nextra -Optimism's documentation is built with the React and Markdown-based [Nextra](https://nextra.site/docs) framework. We are using the docs theme (as opposed to the blog theme), which has specialized features. +Metal L2's documentation is built with the React and Markdown-based [Nextra](https://nextra.site/docs) framework. We are using the docs theme (as opposed to the blog theme), which has specialized features. -To start contributing to Optimism's documentation using Nextra, you need to understand the [files and branches architecture](#understand-file-architecture-and-branch-names) and use the proper [syntax to format content](#use-proper-formatting-and-syntax). Additionally, if you want to work locally from a repository fork, you should [set up the Nextra project](#set-up-the-project-and-test-locally) on your machine. +To start contributing to Metal L2's documentation using Nextra, you need to understand the [files and branches architecture](#understand-file-architecture-and-branch-names) and use the proper [syntax to format content](#use-proper-formatting-and-syntax). Additionally, if you want to work locally from a repository fork, you should [set up the Nextra project](#set-up-the-project-and-test-locally) on your machine. ### Understand File Architecture and Branch Names -Optimism's documentation includes two major sections with each section living in a different folder. +Metal L2's documentation includes two major sections with each section living in a different folder. | Section name | Target content | Folder | | ------------------| ----------------------------------------------------------------- | ----------------------------- | @@ -32,15 +32,15 @@ Optimism's documentation includes two major sections with each section living in **Warning** The `public` folder also stores the `robots.txt` and `sitemap.xml` files used for SEO. Please do not modify these pages. -The Optimism Documentation team will modify these pages, when necessary, after your PR is merged. +The Metal L2 Documentation team will modify these pages, when necessary, after your PR is merged. ### Use Proper Formatting and Syntax Nextra is MDX-based, meaning the content you write is [Markdown](https://daringfireball.net/projects/markdown/syntax) that accepts [React](https://reactjs.org/) components. -The Optimism Documentation team has created a complete style guide for you to make the best out of the various options available: +The Metal L2 Documentation team has created a complete style guide for you to make the best out of the various options available: -[Optimism Documentation Style Guide](/pages/connect/contribute/style-guide.mdx) +[Metal L2 Documentation Style Guide](/pages/connect/contribute/style-guide.mdx) ### Set Up the Project and Test Locally @@ -66,32 +66,32 @@ To prevent building issues upstream, you should build the content locally before - Try another `pnpm dev` and repeat until no issues are reported ("client" and "server compiled successfully"). -Your pull request should usually target the `main` branch, though the Optimism Documentation team might sometimes ask you to target another branch. +Your pull request should usually target the `main` branch, though the Metal L2 Documentation team might sometimes ask you to target another branch. To submit your contribution for review: -1. Create a new [pull request on GitHub](https://github.com/ethereum-optimism/docs/issues/new/choose). +1. Create a new [pull request on GitHub](https://github.com/MetalPay/metal-l2-docs/issues/new/choose). 2. Select a PR type from the list or choose **Open a blank issue** at the bottom of the page. 3. Complete the form as requested. For blank PR issues, please provide a clear title and accurate description/context. 4. Click the "Create pull request" button to create the pull request effectively. ->If your pull request is not ready for review yet, choose the "[Create draft pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)"in the dropdown. The Optimism documentation team will review your pull request only when you mark it as "[Ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)". +>If your pull request is not ready for review yet, choose the "[Create draft pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)"in the dropdown. The Metal L2 documentation team will review your pull request only when you mark it as "[Ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)". 5. Add GitHub labels for the pull request. Add `documentation` to all pull requests in this repo **AND** additional labels based on the type of update or request. - `tutorial`, `faq`, or `troubleshooting` for specific content types, - `oracle`, `rpc-provider`, `faucet`, or `attestation` for ecosystem offerings, - `user feedback` for general feedback about one or more pages, or - `bug` if something isn't working as expected. ->If label for type of update is not set, the Optimism Documentation team will set or update this for you
+>If label for type of update is not set, the Metal L2 Documentation team will set or update this for you
**Warning** -Approved pull requests are usually merged immediately into the `main` branch, automatically triggering a deployment on docs.optimism.io. Please add the `flag:merge-pending-release` label if the pull request content should only be released publicly in sync with a product release. +Approved pull requests are usually merged immediately into the `main` branch, automatically triggering a deployment on docs.metall2.com. Please add the `flag:merge-pending-release` label if the pull request content should only be released publicly in sync with a product release. -That's it! 🥳 Once the pull request is [reviewed and approved](#review-and-management-of-pull-requests), the Optimism Documentation team will merge it, and the content will be live on [docs.optimism.io](http://docs.optimism.io) a few minutes later. 🚀 +That's it! 🥳 Once the pull request is [reviewed and approved](#review-and-management-of-pull-requests), the Metal L2 Documentation team will merge it, and the content will be live on [docs.metall2.com](http://docs.metall2.com) a few minutes later. 🚀 ## Review and Management of Pull Requests -The pull request review process and timeline are based on the availability of the Optimism Documentation team to handle community contributions. The workflow is as follows: +The pull request review process and timeline are based on the availability of the Metal L2 Documentation team to handle community contributions. The workflow is as follows: 1. The pull request is assigned to a member of the Documentation team. 2. At least 1 member of the Documentation team will review the pull request for: @@ -101,7 +101,7 @@ The pull request review process and timeline are based on the availability of th - alignment with the documentation scope. 3. Reviewers will either approve, ask for changes, or reject the pull request. -4. Accepted pull requests will be merged and automatically deployed on [docs.optimism.io](https://docs.optimism.io) a few minutes later. +4. Accepted pull requests will be merged and automatically deployed on [docs.metall2.com](https://docs.metall2.com) a few minutes later. ## Other Ways to Support the Project All types of contributions are encouraged and valued. diff --git a/README.md b/README.md index 8089de3dc..bb9e2e3ee 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Optimism Docs +# Metal L2 Docs -This repo houses the Optimism Docs located at [docs.optimism.io](https://docs.optimism.io/). All documentation-related updates and new content will be tracked and maintained in this repo. +This repo houses the Metal L2 Docs forked from Optimism located at [docs.metall2.com](https://docs.metall2.com/). All documentation-related updates and new content will be tracked and maintained in this repo. ## Local Development @@ -12,11 +12,11 @@ Then, run `pnpm dev` to start the development server and visit localhost:3000. ## Contributions -Please see the [CONTRIBUTING.md](CONTRIBUTING.md) page for specifics on how to write PRs, use the linter, run spellcheck, add dictionary terms, etc. You should also review the [Optimism Documentation Style Guide](/pages/connect/contribute/style-guide.mdx) for additional guidelines, especially if you are writing entirely brand new pages to the developer docs, as opposed to smaller edits and/or revisions. +Please see the [CONTRIBUTING.md](CONTRIBUTING.md) page for specifics on how to write PRs, use the linter, run spellcheck, add dictionary terms, etc. You should also review the [Documentation Style Guide](/pages/connect/contribute/style-guide.mdx) for additional guidelines, especially if you are writing entirely brand new pages to the developer docs, as opposed to smaller edits and/or revisions. ## Project Board -You can track documentation [issues](https://github.com/ethereum-optimism/docs/issues) or submit documentation [requests](https://github.com/ethereum-optimism/docs/issues/new/choose) directly from this repo. +You can track documentation [issues](https://github.com/MetalPay/metal-l2-docs/issues) or submit documentation [requests](https://github.com/MetalPay/metal-l2-docs/issues/new/choose) directly from this repo. ## License diff --git a/components/TokenListTable.tsx b/components/TokenListTable.tsx index 0fc3b0a82..247622945 100644 --- a/components/TokenListTable.tsx +++ b/components/TokenListTable.tsx @@ -3,11 +3,9 @@ import tokenlist from '@eth-optimism/tokenlist' const explorers = { '1': 'https://etherscan.io', - '5': 'https://goerli.etherscan.io', - '10': 'https://optimistic.etherscan.io', - '420': 'https://goerli-optimism.etherscan.io', '11155111': 'https://sepolia.etherscan.io/', - '11155420': 'https://sepolia-optimism.etherscan.io/', + '1750' : 'https://explorer.metall2.com/', + '1740' : 'https://testnet.explorer.metall2.com/', } export function TokenListTable({ diff --git a/lychee.toml b/lychee.toml index 73b34c1e3..bc3bf3867 100644 --- a/lychee.toml +++ b/lychee.toml @@ -17,7 +17,7 @@ remap = [ ] # Base URL or website root directory to check relative URLs. -base = "./pages" +# base = "./pages" ############################# Exclusions ########################## @@ -29,12 +29,14 @@ exclude_mail = true # Exclude RPC URLs from checking. exclude = [ - 'https://mainnet.optimism.io', - 'https://mainnet-sequencer.optimism.io', - 'https://sepolia.optimism.io', - 'https://sepolia-sequencer.optimism.io', + 'https://rpc.metall2.com/', + 'https://testnet.rpc.metall2.com/', + 'https://mainnet-sequencer.metall2.com/', + 'https://testnet-sequencer.metall2.com/', 'https://archive.org', 'https://web.archive.org', + 'https://mainnet.optimism.io', + 'https://sepolia.optimism.io', 'https://mainnet.base.org', 'https://sepolia.base.org', 'https://optimism.easscan.org' diff --git a/next-env.d.ts b/next-env.d.ts index 4f11a03dc..a4a7b3f5c 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. diff --git a/next-sitemap.config.js b/next-sitemap.config.js index 6f7627d0c..125252816 100644 --- a/next-sitemap.config.js +++ b/next-sitemap.config.js @@ -1,6 +1,6 @@ /** @type {import('next-sitemap').IConfig} */ module.exports = { - siteUrl: process.env.SITE_URL || 'https://docs.optimism.io/', + siteUrl: process.env.SITE_URL || 'https://docs.metall2.com/', generateRobotsTxt: true, // (optional) generateIndexSitemap: true, // ...other options diff --git a/notes/README.md b/notes/README.md index aaa03c30d..00457d446 100644 --- a/notes/README.md +++ b/notes/README.md @@ -1,9 +1,9 @@ -# Optimism Docs +# Metal L2 Docs -The Optimism Docs are internal docs to help you understand how the Optimism Docs are built and maintained. +The Metal L2 Docs are internal docs to help you understand how the Metal L2 Docs are built and maintained. -- [How the Optimism Docs Use Nextra](./nextra.md) -- [How the Optimism Docs Use Remark](./remark.md) +- [How the Metal L2 Docs Use Nextra](./nextra.md) +- [How the Metal L2 Docs Use Remark](./remark.md) - [GitHub Actions](./actions.md) - [Algolia Search](./algolia-search.md) - [Lychee Link Checking](./lychee.md) diff --git a/notes/nextra.md b/notes/nextra.md index 0dc35797b..356df3e25 100644 --- a/notes/nextra.md +++ b/notes/nextra.md @@ -1,6 +1,6 @@ -# How the Optimism Docs Use Nextra +# How the Metal L2 Docs Use Nextra -The Optimism Docs use the [Nextra](https://nextra.site/) documentation framework. +The Metal L2 Docs use the [Nextra](https://nextra.site/) documentation framework. Nextra is essentially a combination of [Next.js](https://nextjs.org/) + [MDX](https://mdxjs.com/) and allows you to write React components that can be used within Markdown pages. Nextra documentation is decent and can explain the basics of how to do most of the things you might want to do. This page documents all of the things that we do that are currently not made obvious by Nextra's docs. diff --git a/notes/remark.md b/notes/remark.md index 8dc5a1193..b13ae6236 100644 --- a/notes/remark.md +++ b/notes/remark.md @@ -1,6 +1,6 @@ -# How the Optimism Docs Use Remark +# How the Metal L2 Docs Use Remark -The Optimism Docs use [Nextra](https://nextra.site) as a documentation framework which uses [Remark](https://github.com/remarkjs/remark) as a markdown processor under the hood. +The Metal L2 Docs use [Nextra](https://nextra.site) as a documentation framework which uses [Remark](https://github.com/remarkjs/remark) as a markdown processor under the hood. This repository also uses [ESLint](https://eslint.org) in combination with [`eslint-plugin-mdx`](https://www.npmjs.com/package/eslint-plugin-mdx) as this plugin also uses Remark under the hood. Remark is a flexible Markdown processor with a [vibrant plugin ecosystem](https://github.com/remarkjs/remark/blob/main/doc/plugins.md#list-of-plugins). diff --git a/package.json b/package.json index 50f778266..41648c808 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "op-docs", - "version": "0.0.1", - "description": "Optimism Docs", + "name": "metal-l2-docs", + "version": "0.0.2", + "description": "Metal L2 Docs", "scripts": { "lint": "eslint . --ext mdx --max-warnings 0 && pnpm spellcheck:lint && pnpm check-breadcrumbs && pnpm check-redirects", "fix": "eslint . --ext mdx --fix && pnpm spellcheck:fix && pnpm check-breadcrumbs && pnpm fix-redirects", @@ -19,8 +19,8 @@ "postbuild": "next-sitemap" }, "dependencies": { - "@eth-optimism/contracts-ts": "^0.17.0", - "@eth-optimism/tokenlist": "^9.0.9", + "@eth-optimism/contracts-ts": "^0.17.2", + "@eth-optimism/tokenlist": "^10.0.193", "@feelback/react": "^0.3.4", "@headlessui/react": "^2.1.8", "algoliasearch": "^4.23.3", @@ -37,8 +37,8 @@ }, "devDependencies": { "@double-great/remark-lint-alt-text": "^1.0.0", - "@eth-optimism/core-utils": "^0.13.1", - "@eth-optimism/sdk": "^3.1.6", + "@eth-optimism/core-utils": "^0.13.2", + "@eth-optimism/sdk": "^3.3.3", "@types/node": "18.11.10", "cspell": "^8.1.3", "eslint": "^8.53.0", diff --git a/pages/_meta.json b/pages/_meta.json index 26f362e32..7eed4e65a 100644 --- a/pages/_meta.json +++ b/pages/_meta.json @@ -43,16 +43,16 @@ "href": "https://console.optimism.io/faucet?utm_source=docs", "newWindow": true }, - "gas": { - "title": "Gas tracker", + "bridge": { + "title": "Bridge", "type": "page", - "href": "https://optimistic.grafana.net/public-dashboards/c84a5a9924fe4e14b270a42a8651ceb8?orgId=1&refresh=5m", + "href": "https://bridge.metall2.com/", "newWindow": true }, - "status": { - "title": "Status", + "explorer": { + "title": "Explorer", "type": "page", - "href": "https://status.optimism.io/", + "href": "https://explorer.metall2.com/", "newWindow": true }, @@ -65,16 +65,16 @@ "display": "children" }, - "+++ THE SUPERCHAIN": { + "+++ METAL L2 MAINNET": { "title": "", "type": "separator" }, - "--- THE SUPERCHAIN": { - "title": "THE SUPERCHAIN", + "--- METAL L2 MAINNET": { + "title": "METAL L2 MAINNET", "type": "separator" }, - "superchain": { - "title": "The Superchain", + "chain": { + "title": "METAL L2 Mainnet", "display": "children" }, @@ -91,14 +91,6 @@ "display": "children" }, - "+++ OP MAINNET": { - "title": "", - "type": "separator" - }, - "--- OP MAINNET": { - "title": "OP MAINNET", - "type": "separator" - }, "chain": { "title": "OP Mainnet", "display": "children" diff --git a/pages/builders.mdx b/pages/builders.mdx index 98f4178cf..91966b200 100644 --- a/pages/builders.mdx +++ b/pages/builders.mdx @@ -1,14 +1,14 @@ --- title: Builders lang: en-US -description: Learn about deploying contracts, cross-chain messaging, and tutorials to help you build applications on OP Mainnet. +description: Learn about deploying contracts, cross-chain messaging, and tutorials to help you build applications on Metal L2. --- import { Card, Cards } from 'nextra/components' # Builders -Welcome to the Builders section. Here you'll find resources and guides for developers, operators, and other stakeholders involved in building on OP Stack. Explore the categories below to find the information you need. +Welcome to the Builders section. Here you'll find resources and guides for developers, operators, and other stakeholders involved in building on Metal L2. Explore the categories below to find the information you need. diff --git a/pages/builders/app-developers/overview.mdx b/pages/builders/app-developers/overview.mdx index e38817e46..3ee3a544c 100644 --- a/pages/builders/app-developers/overview.mdx +++ b/pages/builders/app-developers/overview.mdx @@ -1,45 +1,43 @@ --- title: App developer overview lang: en-US -description: Learn about deploying contracts, cross-chain messaging, and tutorials to help you build applications on OP Mainnet. +description: Learn about deploying contracts, cross-chain messaging, and tutorials to help you build applications on Metal L2. --- import { Cards, Card } from 'nextra/components' # App developer overview -If you're a developer looking to build on OP Mainnet, you've come to the right place. -In this area of the Optimism Docs you'll find everything you need to know about building OP Mainnet applications. +If you're a developer looking to build on Metal L2, you've come to the right place. +In this area of the Metal L2 Docs you'll find everything you need to know about building Metal L2 applications for deployment on the Superchains Banking Layer, Metal L2. ## Getting started -If you're brand new to OP Mainnet, try starting with the guide on [deploying a basic contract](/chain/getting-started). +If you're brand new to Metal L2, try starting with the guide on [deploying a basic contract](/chain/getting-started). It'll get you familiar with the basic steps required to get a contract deployed to the network. -OP Mainnet is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) so you can feel confident that your existing Ethereum smart contract skills will carry over to OP Mainnet. -Just make sure to be aware of the few small [differences between Ethereum and OP Mainnet](/stack/differences). +Metal L2 is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) so you can feel confident that your existing Ethereum smart contract skills will carry over to Metal L2. +Just make sure to be aware of the few small [differences between Ethereum and Metal L2](/stack/differences). -You might also want to check out the [testing on OP Networks guide](/chain/testing/testing-apps) and the tutorial on [running a local development environment](/chain/testing/dev-node) to help you feel totally confident in your OP Mainnet deployment. +You might also want to check out the [testing on Metal L2 guide](/chain/testing/testing-apps) and the tutorial on [running a local development environment](/chain/testing/dev-node) to help you feel totally confident in your Metal L2 deployment. - } /> + } /> - } /> - - } /> + } /> ## Bridging and messaging -Looking to build an application that sends ETH, tokens, or data between OP Mainnet and Ethereum? +Looking to build an application that sends ETH, tokens, or data between Metal L2 and Ethereum? You'll find some useful guides and tutorials in this area of the docs. -For instance, if you want to learn how to bridge a token from Ethereum to OP Mainnet (or vice versa!), you should check out the [Standard Token Bridge](bridging/standard-bridge). +For instance, if you want to learn how to bridge a token from Ethereum to Metal L2 (or vice versa!), you should check out the [Standard Token Bridge](bridging/standard-bridge). If you're looking for something more advanced, take a look at the guide on [sending data between L1 and L2](bridging/messaging). Contracts on one chain can trigger contract functions on the other chain, it's pretty cool! -The Standard Token Bridge for OP Mainnet even uses this same message-passing infrastructure under the hood. +The Standard Token Bridge for Metal L2 even uses this same message-passing infrastructure under the hood. - } /> + } /> } /> @@ -48,20 +46,19 @@ The Standard Token Bridge for OP Mainnet even uses this same message-passing inf ## Tutorials -If you're a bit more familiar with OP Mainnet and Ethereum, you can try walking through one of the tutorials put together by the Optimism community. +If you're a bit more familiar with Metal L2 and Ethereum, you can try walking through one of the tutorials put together by the Optimism community. They'll help you get a head start when building your first Optimistic project. -| Tutorial Name | Description | Difficulty Level | -| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------- | -| [Deploying Your First Contract on OP Mainnet](tutorials/first-contract) | Learn how to deploy your first contract to OP Mainnet with Remix and MetaMask. | 🟢 Easy | -| [Bridging ETH With viem](tutorials/cross-dom-bridge-eth) | Learn how to use viem to transfer ETH between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy | -| [Bridging ERC-20 Tokens With viem](tutorials/cross-dom-bridge-erc20) | Learn how to use viem to transfer ERC-20 tokens between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy | -| [Bridging your Standard ERC-20 token using the Standard Bridge](tutorials/standard-bridge-standard-token) | Learn how to bridge your standard ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium | -| [Bridging your Custom ERC-20 token using the Standard Bridge](tutorials/standard-bridge-custom-token) | Learn how to bridge your custom ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium | -| [Tracing Deposits and Withdrawals with viem](tutorials/sdk-trace-txns) | Learn how to use viem to trace deposits and withdrawals. | 🟢 Easy | -| [Viewing Deposits and Withdrawals by address with viem](tutorials/sdk-view-txns) | Learn how to use viem to view deposits and withdrawals by address. | 🟢 Easy | -| [Estimating Transaction Costs With the viem](tutorials/sdk-view-txns) | Learn how to use viem to estimate the cost of a transaction on OP Mainnet. | 🟢 Easy | -| [Sending OP Mainnet Transactions from Ethereum](tutorials/send-tx-from-eth) | Learn how to send transactions to OP Mainnet from Ethereum. | 🟢 Easy | +| Tutorial Name | Description | Difficulty Level | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | +| [Bridging ETH With the Optimism SDK](tutorials/cross-dom-bridge-eth) | Learn how to use the Optimism SDK to transfer ETH between Layer 1 (Ethereum or Sepolia) and Layer 2 (Metal L2 or Metal L2 Testnet). | 🟢 Easy | +| [Bridging ERC-20 Tokens With the Optimism SDK](tutorials/cross-dom-bridge-erc20) | Learn how to use the Optimism SDK to transfer ERC-20 tokens between Layer 1 (Ethereum or Sepolia) and Layer 2 (Metal L2 or Metal L2 Testnet). | 🟢 Easy | +| [Bridging your Standard ERC-20 token using the Standard Bridge](tutorials/standard-bridge-standard-token) | Learn how to bridge your standard ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium | +| [Bridging your Custom ERC-20 token using the Standard Bridge](tutorials/standard-bridge-custom-token) | Learn how to bridge your custom ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium | +| [Tracing Deposits and Withdrawals With the Optimism SDK](tutorials/sdk-trace-txns) | Learn how to use the Optimism SDK to trace deposits and withdrawals. | 🟢 Easy | +| [Viewing Deposits and Withdrawals by Address With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to view deposits and withdrawals by address. | 🟢 Easy | +| [Estimating Transaction Costs With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to estimate the cost of a transaction on Metal L2. | 🟢 Easy | +| [Sending Metal L2 Transactions from Ethereum](tutorials/send-tx-from-eth) | Learn how to send transactions to Metal L2 from Ethereum. | 🟢 Easy | You can also [suggest a new tutorial](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=tutorial%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_tutorial.yaml\&title=%5BTUTORIAL%5D+Add+PR+title) if you have something specific in mind. We'd love to grow this list! diff --git a/pages/builders/chain-operators/architecture.mdx b/pages/builders/chain-operators/architecture.mdx index 70c1cf9d2..7318cfc12 100644 --- a/pages/builders/chain-operators/architecture.mdx +++ b/pages/builders/chain-operators/architecture.mdx @@ -56,7 +56,7 @@ requests from your users. The Sequencer node has the important job of working wi the batcher to handle block creation. To allow the Sequencer to focus on that job, you can peer replica nodes to handle the rest of the work. -An example of this would be to configure [proxyd](https://github.com/ethereum-optimism/infra/tree/main/proxyd) +An example of this would be to configure [proxyd](https://docs.optimism.io/builders/chain-operators/tools/proxyd) to route RPC methods, retry failed requests, load balance, etc. Users sending `eth_sendRawTransaction` requests can have their requests forwarded directly to the Sequencer. All other RPC requests can be forwarded to replica nodes. diff --git a/pages/builders/chain-operators/deploy/genesis.mdx b/pages/builders/chain-operators/deploy/genesis.mdx index 7004e07d8..e8df81d83 100644 --- a/pages/builders/chain-operators/deploy/genesis.mdx +++ b/pages/builders/chain-operators/deploy/genesis.mdx @@ -91,5 +91,5 @@ go run cmd/main.go genesis l2 \ * Learn how to [initialize](/builders/node-operators/configuration/base-config#initialization-via-genesis-file) `op-geth` with your `genesis.json` file. -* Learn how to [initialize](https://docs.optimism.io/builders/node-operators/configuration/base-config#configuring-op-node) `op-node` with your `rollup.json` file. +* Learn how to [initialize](https://docs.metall2.com/builders/node-operators/configuration/base-config#configuring-op-node) `op-node` with your `rollup.json` file. * Learn more about the off chain [architecture](/builders/chain-operators/architecture). diff --git a/pages/builders/chain-operators/deploy/smart-contracts.mdx b/pages/builders/chain-operators/deploy/smart-contracts.mdx index 2a26e2f10..b7d0d99ac 100644 --- a/pages/builders/chain-operators/deploy/smart-contracts.mdx +++ b/pages/builders/chain-operators/deploy/smart-contracts.mdx @@ -87,13 +87,9 @@ single contract. Production users should deploy their L1 contracts from a contracts release. All contracts releases are on git tags with the following format: `op-contracts/vX.Y.Z`. If you're deploying a new standard chain, you should -deploy the [Fault Proof Fixes release](https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.6.0) with the permissioned game type -enabled. -Starting with permissioned fault proofs gives chain operators time to get comfortable -running the additional infrastructure requirements: [op-challenger](https://github.com/ethereum-optimism/optimism/tree/develop/op-challenger) and -[monitoring](https://github.com/ethereum-optimism/monitorism/tree/main). There are also -additional changes to the economics of operating a permissionless fault proof that chain -operators should have a firm understanding of. +deploy the [Multi-Chain Prep (MCP) L1 release](https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.3.0). +We're working on writing more documentation to prepare OP Stack chain operators +to run a fault proof chain effectively. ## Next steps diff --git a/pages/builders/chain-operators/features/alt-da-mode.mdx b/pages/builders/chain-operators/features/alt-da-mode.mdx deleted file mode 100644 index 409190053..000000000 --- a/pages/builders/chain-operators/features/alt-da-mode.mdx +++ /dev/null @@ -1,229 +0,0 @@ ---- -title: How to run an Alt-DA mode chain -lang: en-US -description: Learn how to configure and run an Alt-DA mode chain within the OP Stack. ---- - -import { Callout, Steps } from 'nextra/components' - -# How to run an Alt-DA mode chain - - - The Alt-DA Mode feature is currently in Beta within the MIT-licensed OP Stack. Beta features are built and reviewed by Optimism Collective core contributors, and provide developers with early access to highly requested configurations. - These features may experience stability issues, and we encourage feedback from our early users. - - -This guide provides a walkthrough for chain operators who want to run an Alt-DA Mode chain. See the [Alt-DA Mode Explainer](/stack/beta-features/alt-da-mode) for a general overview of this OP Stack configuration. -An Alt-DA Mode OP Stack chain enables a chain operator to post and read data to any alternative data availability layer that has built a functioning OP Stack DA Server. - - - This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. - - -## Prerequisite - -You should use at least the following compatible op\* versions when running your chain. - -* op-node/v1.9.1 -* op-proposer/v1.9.1 -* op-batcher/v1.9.1 -* [Latest version of op-geth](https://github.com/ethereum-optimism/op-geth/releases/latest) - - - - If you are trying to launch an Alt-DA Mode Chain using a custom gas token, follow the contract deployment instructions in our [Custom Gas Token docs](/builders/chain-operators/features/custom-gas-token.mdx). - - - - ### Setup your DA server - - - DA Servers are not built or maintained by Optimism Collective Core Contributors. DA servers are maintained by third parties and run at your own risk. Please reach out to the team who built the DA Server you are trying to run with any questions or issues. - - - * Celestia's docs on how to run the [Celestia DA server](https://github.com/celestiaorg/op-plasma-celestia/blob/main/README.md) - * EigenDA's docs on how to run the [EigenDA DA server](https://github.com/Layr-Labs/op-plasma-eigenda/blob/main/README.md) - * Avail's docs on how to run the [AvailDA DA Server](https://docs.availproject.org/docs/build-with-avail/Optimium/op-stack/op-stack#setup-avail-da-server) - * 0gDA's docs on how to run the [0gDA DA Server](https://github.com/0glabs/0g-da-op-plasma) - * Near DA's docs on how to run the [Near DA Server](https://github.com/Nuffle-Labs/data-availability/blob/84b484de98f58a91bf12c8abe8df27f5e753f63a/docs/OP-Alt-DA.md) - - ### Configure your `op-node` - - * Spin up your OP chain as usual but set `--altda.enabled=true` and point both `op-batcher` and `op-node` to the DA server. - * No configuration changes are required for `op-geth` or `op-proposer`. - - ``` - Alt-DA (EXPERIMENTAL) - - - --altda.da-server value ($OP_NODE_ALTDA_DA_SERVER) - HTTP address of a DA Server - - --altda.enabled (default: false) ($OP_NODE_ALTDA_ENABLED) - Enable Alt-DA mode - - --altda.verify-on-read (default: true) ($OP_NODE_ALTDA_VERIFY_ON_READ) - Verify input data matches the commitments from the DA storage service - - ``` - - ### Configure your batcher - - * Set `--altda.enabled=true` and `--altda.da-service=true`. - * Provide the URL for `--atlda.da-server=$DA_SERVER_HTTP_URL`. - - ``` - --altda.da-server value ($OP_BATCHER_ALTDA_DA_SERVER) - HTTP address of a DA Server - - --altda.da-service (default: false) ($OP_BATCHER_ALTDA_DA_SERVICE) - Use DA service type where commitments are generated by the DA server - - --altda.enabled (default: false) ($OP_BATCHER_ALTDA_ENABLED) - Enable Alt-DA mode - - --altda.verify-on-read (default: true) ($OP_BATCHER_ALTDA_VERIFY_ON_READ) - Verify input data matches the commitments from the DA storage service - ``` - - After completing steps 1-3 above, you will have an Alt-DA mode chain up and running. - - ### Set your fee configuration - - * Chain operators are not posting everything to Ethereum, just commitments, so chain operators will need to determine fee scalars values to charge users. The fee scalar values are network throughput dependent, so values will need to be adjusted by chain operators as needed. - * Cost structure for Alt-DA Mode: The transaction data is split up into 128kb chunks and then submitted to your DA Layer. Then, 32 byte commitments are submitted (goes to batch inbox address) to L1 for each 128kb chunk. Then, figure out how much that costs relative to the amount of transactions your chain is putting through. - * Set scalar values inside the deploy config. The example below shows some possible fee scalar values, calculated assuming negligible DA Layer costs, but will need to be adjusted up or down based on network throughput - as a reminder of how to set your scalar values, see [this section](https://docs.optimism.io/builders/chain-operators/management/blobs#update-your-scalar-values-for-blobs) of the docs. - - ``` - // Set in Deploy Config - "gasPriceOracleBaseFeeScalar": 7663, // Approximate commitment tx base cost - "gasPriceOracleBlobBaseFeeScalar": 0, // blobs aren't used for submitting the small data commitments - ``` - - - Some initial scalar values must be set early on in the deploy config in [Step 2](#configure-your-op-node). And then at a later point, chain operators can update the scalar values with an L1 transaction. - - - -## For node operators (full and archive nodes) - -* Run a DA server as laid out in [Step 1](#setup-your-da-server) -* Provide the same `--altda.enabled=true, --altda.da-server...` on `op-node` as listed in [Step 2](#configure-your-op-node) - -## Inclusion criteria - -Alt DA teams who want to be featured on this page must meet the following criteria: - -* Functional [DA Server](https://specs.optimism.io/experimental/alt-da.html#da-server), maintained in your own repo -* Supporting detailed documentation, to be referenced [here](#setup-your-da-server) -* Functioning OP Stack devnet using your DA server with linked configuration, contract addresses, and RPC address - -## Breaking changes: renaming Plasma Mode to Alt-DA Mode - -This feature has been renamed from Plasma Mode to Alt-DA Mode in the monorepo at: [0bb2ff5](https://github.com/ethereum-optimism/optimism/commit/0bb2ff57c8133f1e3983820c0bf238001eca119b). There are several breaking changes you should be aware of. These include changes to configuration file parameters, environment variables, and CLI commands. -Before proceeding with the migration, ensure you are using [OP Stack v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) or later. - -### Modify `rollup.json` config: - -Update your `rollup.json` configuration file by replacing the old Plasma config with the new Alt-DA config. -There are two possible formats for the old Plasma config: - -### Legacy plasma config - -If your config looks like this: - -```json -"use_plasma": true, -"da_commitment_type": "GenericCommitment", -"da_challenge_contract_address": "0xAAA", -"da_challenge_window": 1000, -"da_resolve_window": 2000, -``` - -### Recent plasma config - -Or if it looks like this: - -```json -"plasma_config": { - "da_commitment_type": "GenericCommitment", - "da_challenge_contract_address": "0xAAA", - "da_challenge_window": 1000, - "da_resolve_window": 2000 -} -``` - -### New Alt-DA config - -Replace either of the above configurations with: - -```json -"alt_da": { - "da_commitment_type": "GenericCommitment", - "da_challenge_contract_address": "0xAAA", - "da_challenge_window": 1000, - "da_resolve_window": 2000 -} -``` - - - Only include fields in the new config that were present in your old config. - - -## Updating OP Stack runtime config parameters - -### CLI parameters - -Update the following CLI parameters for both `op-node` and `op-batcher`: - -| Former CLI param | Current CLI param | -| ------------------------- | ------------------------ | -| `--plasma.enabled` | `--altda.enabled` | -| `--plasma.da-server` | `--altda.da-server` | -| `--plasma.verify-on-read` | `--altda.verify-on-read` | -| `--plasma.da-service` | `--altda.da-service` | - -### Environment variables - -#### op-node - -| Former env var | Current env var | -| ------------------------------- | ------------------------------ | -| `OP_NODE_PLASMA_ENABLED` | `OP_NODE_ALTDA_ENABLED` | -| `OP_NODE_PLASMA_DA_SERVER` | `OP_NODE_ALTDA_DA_SERVER` | -| `OP_NODE_PLASMA_VERIFY_ON_READ` | `OP_NODE_ALTDA_VERIFY_ON_READ` | -| `OP_NODE_PLASMA_DA_SERVICE` | `OP_NODE_ALTDA_DA_SERVICE` | - -#### op-batcher - -| Former env var | Current env var | -| ---------------------------------- | --------------------------------- | -| `OP_BATCHER_PLASMA_ENABLED` | `OP_BATCHER_ALTDA_ENABLED` | -| `OP_BATCHER_PLASMA_DA_SERVER` | `OP_BATCHER_ALTDA_DA_SERVER` | -| `OP_BATCHER_PLASMA_VERIFY_ON_READ` | `OP_BATCHER_ALTDA_VERIFY_ON_READ` | -| `OP_BATCHER_PLASMA_DA_SERVICE` | `OP_BATCHER_ALTDA_DA_SERVICE` | - -#### op-alt-da (formerly op-plasma) daserver - -| Former env var | Current env var | -| ------------------------------------------ | -------------------------------------- | -| `OP_PLASMA_DA_SERVER_ADDR` | `OP_ALTDA_SERVER_ADDR` | -| `OP_PLASMA_DA_SERVER_PORT` | `OP_ALTDA_SERVER_PORT` | -| `OP_PLASMA_DA_SERVER_FILESTORE_PATH` | `OP_ALTDA_SERVER_FILESTORE_PATH` | -| `OP_PLASMA_DA_SERVER_GENERIC_COMMITMENT` | `OP_ALTDA_SERVER_GENERIC_COMMITMENT` | -| `OP_PLASMA_DA_SERVER_S3_BUCKET` | `OP_ALTDA_SERVER_S3_BUCKET` | -| `OP_PLASMA_DA_SERVER_S3_ENDPOINT` | `OP_ALTDA_SERVER_S3_ENDPOINT` | -| `OP_PLASMA_DA_SERVER_S3_ACCESS_KEY_ID` | `OP_ALTDA_SERVER_S3_ACCESS_KEY_ID` | -| `OP_PLASMA_DA_SERVER_S3_ACCESS_KEY_SECRET` | `OP_ALTDA_SERVER_S3_ACCESS_KEY_SECRET` | - -After making these changes, your system should be properly configured to use the new Alt-DA Mode. - - - Remember to thoroughly test your configuration in testnet before going mainnet. - - -## Next steps - -* Additional questions? See the FAQ section in the [Alt-DA Mode Explainer](/stack/beta-features/alt-da-mode#faqs). -* For more detailed info on Alt-DA Mode, see the [specs](https://specs.optimism.io/experimental/alt-da.html). -* If you experience any problems, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions). diff --git a/pages/builders/chain-operators/self-hosted.mdx b/pages/builders/chain-operators/self-hosted.mdx index 31dc22ac9..b2d9d2424 100644 --- a/pages/builders/chain-operators/self-hosted.mdx +++ b/pages/builders/chain-operators/self-hosted.mdx @@ -96,7 +96,6 @@ They'll help you get a head start deploying your first OP Stack chain. | Tutorial Name | Description | Difficulty Level | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | | [Creating Your Own L2 Rollup](tutorials/create-l2-rollup) | Learn how to spin up your own OP Stack testnet chain | 🟡 Medium | -| [Using the OP Stack Client SDK](tutorials/sdk) | Learn how to use the OP Stack Client SDK when working with native and non-native supported chains. | 🟢 Easy | | [Adding Attributes to the Derivation Function](tutorials/adding-derivation-attributes) | Learn how to modify the derivation function for an OP Stack chain to track the amount of ETH being burned on L1. | 🟢 Easy | | [Adding a Precompile](tutorials/adding-precompiles) | Learn how to run an EVM with a new precompile for OP Stack chain operations to speed up calculations that are not currently supported. | 🟢 Easy | | [Modifying Predeployed Contracts](tutorials/modifying-predeploys) | Learn how to modify predeployed contracts for an OP Stack chain by upgrading the proxy. | 🟢 Easy | diff --git a/pages/builders/chain-operators/tools/op-challenger.mdx b/pages/builders/chain-operators/tools/op-challenger.mdx index ff1927eae..f7532d072 100644 --- a/pages/builders/chain-operators/tools/op-challenger.mdx +++ b/pages/builders/chain-operators/tools/op-challenger.mdx @@ -19,7 +19,7 @@ This guide provides a walkthrough of setting up the configuration and monitoring git clone https://github.com/ethereum-optimism/optimism.git ``` - * Check out the [latest release of `op-challenger`](https://github.com/ethereum-optimism/optimism/releases) and use the commit to deploy. Alternatively, chain operators can use the prebuilt challenger docker images included in the release notes. + * Check out the [latest release of `op-challenger`](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.0.1) and use the commit to deploy. Alternatively, chain operators can use the prebuilt [challenger docker images](https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-challenger:v1.0.1). If a Docker image is used, it already comes with `op-program` server and an executable for Cannon embedded, so the Cannon bin doesn't need to be specified. ```bash diff --git a/pages/builders/node-operators/management/snapshots.mdx b/pages/builders/node-operators/management/snapshots.mdx index 96d3bd6c1..3c463eb70 100644 --- a/pages/builders/node-operators/management/snapshots.mdx +++ b/pages/builders/node-operators/management/snapshots.mdx @@ -32,18 +32,21 @@ Migrated OP Mainnet databases can be generated manually or pre-migrated database Using [aria2](https://aria2.github.io/) to download snapshots can significantly speed up the download process. -### OP Mainnet (full node) + + Please reach out to the Metal L2 team on Telegram for assistance with Node Snapshots + + +{/* ### Metal L2 (Full Node) [Allnodes](https://www.allnodes.com) provides more recent full node snapshots for OP Mainnet and Testnet. You can find them [here](https://www.publicnode.com/snapshots#optimism). **Please note:** Allnodes is a 3rd party provider, and the Optimism Foundation hasn't verified the snapshots. -| Snapshot Date | Size | Download Link | sha256sum | -| ------------- | ----- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| 2023-06-06 | 325GB | [Mirror 1](https://op.datadirs.xyz/mainnet-bedrock.tar.zst) | `ec4baf47e309a14ffbd586dc85376833de640c0f2a8d7355cb8a9e64c38bfcd1` | +| Snapshot Date | Size | Download Link | sha256sum | +| ------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -### OP Mainnet (archive node) +### Metal L2 (Archive Node) You can also download access the [Optimism Foundation datadir explorer](https://datadirs.optimism.io/) to find other snapshots. @@ -51,10 +54,8 @@ Migrated OP Mainnet databases can be generated manually or pre-migrated database | Snapshot Date | Size | Download Link | sha256sum | | ----------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- | -| Latest by Optimism Foundation | >4TB | [Mirror 1](https://datadirs.optimism.io/latest)
[Mirror 2 (torrent)](https://datadirs.optimism.io/latest.torrent) | [sha256sum](https://datadirs.optimism.io/latest.sha256sum/) | -### OP Mainnet (legacy) +### Metal L2 (Legacy) | Snapshot Date | Size | Download Link | sha256sum | -| ------------- | ----- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | -| 2023-06-06 | 2.9TB | [Mirror 1](https://datadirs.optimism.io/mainnet-legacy-archival.tar.zst) | `4adedb61125b81b55f9bdccc2e85092050c65ef2253c86e2b79569732b772829` | +| ------------- | ----- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |*/} diff --git a/pages/builders/node-operators/releases.mdx b/pages/builders/node-operators/releases.mdx index 4c7ad18c7..bcd6cf49a 100644 --- a/pages/builders/node-operators/releases.mdx +++ b/pages/builders/node-operators/releases.mdx @@ -11,7 +11,7 @@ import { Callout } from 'nextra/components' This page gives information on the off chain node software release information. - Our latest releases, notes, and changelogs can be found on GitHub. `op-node` releases can be found [here](https://github.com/ethereum-optimism/optimism/releases) + Our latest releases, notes, and changelogs can be found on GitHub. `op-node` releases can be found [here](https://github.com/MetalLayer2/ethereum-optimism.github.io/releases) and `op-geth` releases can be found [here](https://github.com/ethereum-optimism/op-geth/releases). @@ -39,5 +39,5 @@ We follow a consistent tagging convention to make it easier to find the right im | Network | op-node | op-geth | | ---------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| OP Mainnet | [v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) | [v1.101408.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0) | -| OP Sepolia | [v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) | [v1.101408.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0) | +| OP Mainnet | [v1.7.7](https://github.com/ethereum-optimism/optimism/releases/tag/v1.7.7) | [v1.101315.2](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101315.2) | +| OP Sepolia | [v1.7.7](https://github.com/ethereum-optimism/optimism/releases/tag/v1.7.7) | [v1.101315.2](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101315.2) | diff --git a/pages/builders/notices/_meta.json b/pages/builders/notices/_meta.json index 4b21e6372..88db5df64 100644 --- a/pages/builders/notices/_meta.json +++ b/pages/builders/notices/_meta.json @@ -1,4 +1,3 @@ { - "holocene-changes": "Preparing for Holocene breaking changes", - "sdk-deprecation": "Preparing for Optimism SDK deprecation" + "holocene-changes": "Preparing for Holocene breaking changes" } diff --git a/pages/builders/notices/holocene-changes.mdx b/pages/builders/notices/holocene-changes.mdx index 7c0f3ff29..da88e832b 100644 --- a/pages/builders/notices/holocene-changes.mdx +++ b/pages/builders/notices/holocene-changes.mdx @@ -9,16 +9,10 @@ import { Steps, Callout } from 'nextra/components' # Preparing for Holocene breaking changes This page outlines breaking changes related to the Holocene network upgrade for chain operators, and node operators. -If you experience difficulty at any stage of this process, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions). +If you experience difficulty at any stage of this process, please reach out on our [discord channel](https://discord.com/channels/360460943378874381/1180364506690498591). - The Holocene upgrade for the Sepolia Superchain will be activated at **Tue Nov 26 at 15:00:00 UTC** (`1732633200`). - - The Holocene upgrade for the Unichain Sepolia will be activated at **Wed Dec 18 at 22:00:00 UTC** (`1734559200`). - - The Holocene upgrade for the Soneium Minato (Sepolia) will be activated at **Fri Dec 20 at 09:00:00 UTC** (`1734685200`). - - The Holocene upgrade for the Mainnet Superchain is scheduled for **Thu 9 Jan 2025 18:00:01 UTC**, [governance approval](https://vote.optimism.io/proposals/20127877429053636874064552098716749508236019236440427814457915785398876262515). + The Holocene upgrade for Metal L2 is scheduled for **Thu 9 Jan 2025 18:00:01 UTC**, [governance approval](https://vote.optimism.io/proposals/20127877429053636874064552098716749508236019236440427814457915785398876262515). ## What's included in Holocene @@ -31,60 +25,6 @@ Holocene contains three changes: For more information on the Holocene implementation details, please review [Holocene specification](https://specs.optimism.io/protocol/holocene/overview.html). -## For chain operators - -Chain operators should upgrade their nodes ahead of the activation times to a release that contains the Holocene changes and has the activation times for their chains baked in, or set the activation times manually via overrides. - -Besides this, several L1 contract updates must be performed, the fault proof contracts should be updated before the Holocene activation. The `SystemConfig` should be upgraded after the Holocene activation. We have prepared an [upgrade script](https://github.com/ethereum-optimism/optimism/tree/op-contracts/v1.8.0-rc.4/packages/contracts-bedrock/scripts/upgrades/holocene) to automate most of the deployments and superchain-ops task generation or Safe multi-sig input bundle generation. - -Chain operators must upgrade their chain's `SystemConfig` to the latest OP Contracts [v1.8.0-rc.3 release](https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.8.0-rc.3) to utilize the EIP-1559 configurability. The updated `SystemConfig` implementations are deployed at addresses: - -* Sepolia: `0x33b83E4C305c908B2Fc181dDa36e230213058d7d` - [Superchain Registry validation file](https://github.com/ethereum-optimism/superchain-registry/blob/ca80c8f88003d599428b79fefc741ceca049da6f/validation/standard/standard-versions-sepolia.toml#L9) -* Mainnet: `0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375` - [Superchain Registry validation file](https://github.com/ethereum-optimism/superchain-registry/blob/ca80c8f88003d599428b79fefc741ceca049da6f/validation/standard/standard-versions-mainnet.toml#L9) - -Chain operators need to update their proxy contracts to point to these new implementations. The upgrade script in the monorepo can be used to facilitate the upgrade, please follow the instructions in this [README](https://github.com/ethereum-optimism/optimism/tree/op-contracts/v1.8.0-rc.4/packages/contracts-bedrock/scripts/upgrades/holocene/README.md). Note that it is recommended to upgrade the `SystemConfig` after the Holocene activation. You need to upgrade if you want to reconfigure your EIP-1559 parameters. - -### For fault proof enabled chains - -Since the Holocene upgrade changes the execution and derivation rules, the version of `op-program` used in the fault proof system has to be upgraded to a version that includes the Holocene activation date for the chain. The `op-program` version used is specified via the `faultGameAbsolutePrestate` setting, deployed as part of `FaultDisputeGame` and `PermissionedDisputeGame` contracts. Additionally, the `MIPS` contract must be upgraded to support additional calls made by the new `op-program`. - -The `FaultDisputeGame` and `PermissionedDisputeGame` contracts must be deployed separately for each chain. The `MIPS` contract implementation can be shared by all chains and is deployed at: - -* Sepolia: `0x69470D6970Cd2A006b84B1d4d70179c892cFCE01` - [Superchain Registry validation file](https://github.com/ethereum-optimism/superchain-registry/blob/ca80c8f88003d599428b79fefc741ceca049da6f/validation/standard/standard-versions-mainnet.toml#L12) -* Mainnet: `0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C` - [Superchain Registry validation file](https://github.com/ethereum-optimism/superchain-registry/blob/ca80c8f88003d599428b79fefc741ceca049da6f/validation/standard/standard-versions-mainnet.toml#L12) - -Chain operators need to update the `DisputeGameFactory` to use the new `FaultDisputeGame` and `PermissionedDisputeGame` contracts by calling `DisputeGameFactory.setImplementation`. The same upgrade script in the monorepo can be used to facilitate the upgrade, please follow the instructions in this [README](https://github.com/ethereum-optimism/optimism/tree/op-contracts/v1.8.0-rc.4/packages/contracts-bedrock/scripts/upgrades/holocene/README.md). - ## For node operators -Node operators will need to upgrade to the respective Holocene releases before the activation dates. - -These following steps are necessary for every node operator: - - - ### Update to the latest release - - * [`op-node` at `v1.10.2`](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.10.2) - * [`op-geth` at `v1.101411.4`](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101411.4) - - ### Configure the Holocene activation date - - - If you are operating a node for an OP Chain that have opted into the [hardfork activation inheritance behavior](https://github.com/ethereum-optimism/superchain-registry/blob/main/docs/hardfork-activation-inheritance.md), the Holocene activation date is part of the `op-node` and `op-geth` nodes. So, no action is needed for the sequencer after upgrading to the latest release. Please skip to [Step 3: Verify Your Configuration](#verify-your-configuration). - - For Sepolia that is: `OP Sepolia`, `Base Sepolia`, `Mode Sepolia`, `Zora Sepolia`, and `Metal Sepolia`. - - - For node operators of not included in the [hardfork activation inheritance behavior](https://github.com/ethereum-optimism/superchain-registry/blob/main/docs/hardfork-activation-inheritance.md), you will need to manually configure the activation. This can be done one of two ways: - - * **Option 1:** Set the activation time in the `rollup.json` for `op-node`. You will still need to set the `override.holocene` flag in `op-geth` if you use this option. - * **Option 2:** Set the activation time via overrides (CLI) in both `op-node` and `op-geth`. These will need to be set on `op-node` and `op-geth` for the sequencer and all other nodes. - - ### Verify Your Configuration - - Make the following checks to verify that your node is properly configured. - - * `op-node` and `op-geth` will log their configurations at startup - * Check that the Holocene time is set to `activation-timestamp` in the op-node startup logs - * Check that the Holocene time is set to `activation-timestamp` in the op-geth startup logs - +Node operators will need to upgrade to the respective Holocene releases before the activation dates. Please reach out to your Metal L2 contact for assistance. diff --git a/pages/builders/notices/sdk-deprecation.mdx b/pages/builders/notices/sdk-deprecation.mdx deleted file mode 100644 index 4ec4765e9..000000000 --- a/pages/builders/notices/sdk-deprecation.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: Deprecation of the Optimism SDK -lang: en-US -description: This page outlines the details of the Optimism SDK deprecation and guides developers to migrate to using `viem` library. ---- - -## Preparing for Optimism SDK deprecation - -The Optimism SDK will officially be deprecated in Q1 2025. The project is shifting to the `viem` library for a more modern, efficient, and flexible development experience. This change affects all tutorials and resources that previously relied on the Optimism SDK, and relevant documentation has been updated accordingly. - -### Breaking changes to expect - -The migration from the Optimism SDK to [viem](https://viem.sh/op-stack) library brings several breaking changes: - -* **Transaction estimation**: Methods for estimating gas fees will now leverage `viem` APIs. -* **Bridging**: All token bridging actions must be updated to use the `viem` library bridging methods. -* **Cross-chain communication**: `viem` library simplifies the cross-domain messaging functionality. -* **SDK method removal**: All deprecated SDK methods will be unavailable after Q1 2025. - -Developers and users are strongly encouraged to transition to `viem` before the deprecation date to avoid disruptions. - -### Updated tutorials - -We are updating our tutorials to use the `viem` library. - -### For app developers - -If your application currently depends on the Optimism SDK, you will need to migrate to using the `viem` library. -The tutorials have been updated to reflect these changes, and it is critical to update your applications before the deprecation date to maintain compatibility. - -Here are some key points to consider: - -Install new dependencies: Replace the Optimism SDK with `viem` in your project. - -```bash - pnpm remove @eth-optimism/sdk - pnpm add viem -``` - -* Update imports: Replace Optimism SDK imports with `viem` imports. -* Migrate SDK methods: Refactor your code to use equivalent `viem` methods. Refer to the viem documentation and opstack documentation for guidance. -* Test thoroughly: After migration, extensively test your application to ensure all functionality works as expected. - -### For chain operators - -Chain operators utilizing the SDK for cross-chain operations, bridging, or other functions should switch to the `viem` library. -The `viem` library offers more efficient methods to handle these operations. - -Chain operators should be aware of the following: - -* SDK removal: Remove any dependencies on the Optimism SDK in your infrastructure. -* Update tooling: Ensure all tools and scripts are updated to use `viem`. -* Monitor performance: After migration, closely monitor your chain's performance to ensure smooth operation. - -### For node operators - -Node operators will need to ensure that any scripts or services relying on the Optimism SDK are updated to use `viem` library. -These updates will help align with future improvements and scalability efforts across the OP Stack. - -Node operators should take the following steps: - -* Update node software: Ensure your node software is compatible with the latest `viem` libraries. -* Review configuration: Check and update any configuration files that may reference the Optimism SDK. -* Test thoroughly: Perform comprehensive testing in a staging environment before updating production nodes. - -### Need help? - -For further assistance or questions about this migration, feel free to reach through the following channels: - -* Connect with us on [Discord](https://discord.gg/optimism) for community support -* Join us on our [developer forum](https://github.com/ethereum-optimism/developers/discussions) for discussions, questions, and general support. -* Open an [issue on our GitHub repository](https://github.com/ethereum-optimism/docs/issues) for documentation-related concerns diff --git a/pages/builders/tools/build/account-abstraction.mdx b/pages/builders/tools/build/account-abstraction.mdx index 2bf29a299..8b42a8723 100644 --- a/pages/builders/tools/build/account-abstraction.mdx +++ b/pages/builders/tools/build/account-abstraction.mdx @@ -9,7 +9,7 @@ import { Callout } from 'nextra/components' # Account abstraction - This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. Please visit the [community account abstractions page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/account-abstraction.md) for an additional listing of third-party account abstraction tools. + This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. [ERC-4337](https://www.erc4337.io/docs/paymasters/introduction), also known as Account Abstraction, enables more opportunities for apps and wallet developers to innovate on user experiences, including the ability to: @@ -21,39 +21,13 @@ import { Callout } from 'nextra/components' ## Bundlers -The OP Stack includes support for the `eth_sendRawTransactionConditional` RPC method to assist bundlers on shared 4337 mempools. See the [specification](/stack/features/send-raw-transaction-conditional) for how this method is implemented in op-geth. +The Superchain paymaster is an ERC-4337 verifying paymaster that sponsors transactions for smart accounts on the Superchain. Use the Superchain Paymaster to get your transactions sponsored to remove friction from your app experience. If used by the chain operator, also see the supplemental [op-txproxy](/builders/chain-operators/tools/op-txproxy) service which may apply additional restrictions prior to reaching the block builder. - - As of today, this endpoint is not enabled by default in the stack. The operator must explicitly configure this. - - -## Superchain paymaster - -The Superchain paymaster is an ERC-4337 verifying paymaster that sponsors transactions for smart accounts on the Superchain. Use the Superchain Paymaster to get your transactions sponsored to remove friction from your app experience. - -## Account abstraction tools - -Ready to enable account abstraction experiences in your app? Here's some helpful information on account abstraction infrastructure like ERC-4337 bundler and gas manager APIs that are available on OP Mainnet: - -* [Alchemy](https://www.alchemy.com/account-abstraction): - Account Kit is a complete solution for account abstraction. Using Account Kit, you can create a smart contract wallet for every user that leverages account abstraction to simplify every step of your app's onboarding experience. It also offers Gas Manager and Bundler APIs for sponsoring gas and batching transactions. - -* [Biconomy](https://docs.biconomy.io/): is an Account Abstraction toolkit that enables you to provide the simplest UX for your app or wallet. It offers modular smart accounts, as well as paymasters and bundlers as a service for sponsoring gas and executing transactions at scale. +Ready to enable account abstraction experiences in your app? Here's some helpful information on account abstraction infrastructure like ERC-4337 bundler and gas manager APIs that are available on Metal L2: -* [GroupOS](https://docs.groupos.xyz/introduction/group-os): provides Smart Wallets that are ERC-4337 compliant smart wallets, offering full flexibility, programmability and extensibility as well as out-of-the-box toolkit groups need to gaslessly onboard and activate wallets to games, applications, and/or protocols. - -* [Openfort](https://openfort.xyz/docs): offers a comprehensive account abstraction solution for Web3 gaming and apps. It provides identity management, smart contract wallets, gas sponsorship, and session keys to simplify user onboarding and enhance gameplay experiences in non JS environments. - -* [Pimlico](https://docs.pimlico.io/): provides an infrastructure platform that makes building smart accounts simpler. If you are developing, an ERC-4337 smart account, they provide bundlers, verifying paymasters, ERC-20 paymasters, and much more. - -* [Safe](https://docs.safe.global/home/what-is-safe): provides modular smart account infrastructure and account abstraction stack via their Safe\{Core\} Account Abstraction SDK, API, and Protocol. - -* [Stackup](https://docs.stackup.sh/docs): provides smart account tooling for building account abstraction within your apps. They offer Paymaster and Bundler APIs for sponsoring gas and sending account abstraction transactions. - -* [thirdweb](https://portal.thirdweb.com/react/v5/account-abstraction/get-started?utm_source=opdocs&utm_medium=docs): - offers the complete tool-kit to leverage account abstraction technology to enable seamless user experiences for your users. This includes Account Factory contracts that lets your users spin up Smart Accounts, Bundler for UserOps support, and Paymaster to enable gas sponsorships. +* [Biconomy](https://docs.biconomy.io/): is an Account Abstraction toolkit that enables you to provide the simplest UX for your app or wallet. It offers modular smart accounts, as well as paymasters and bundlers as a service for sponsoring gas and executing transactions at scale. See this [tutorial](/chain/biconomy) for trying Biconomy on the Metal L2 Testnet. ## Helpful tips @@ -64,8 +38,6 @@ Ready to enable account abstraction experiences in your app? Here's some helpful Developer teams who want to feature products/tools on this page must meet the following criteria: -1. **ongoing partnership** with Optimism whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; -2. **established user base** and OP ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and -3. **actively maintained developer tool** that aligns with OP's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly rated by community, etc.) - -For teams that are supporting but still establishing a user base, we encourage you to share your tool in the [developer forum](https://github.com/ethereum-optimism/developers/discussions/categories/show-and-tell) and signup to share your tool at the next [demo day](https://community.optimism.io/docs/contribute/demo-day/). +1. **ongoing partnership** with Metal L2 whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; +2. **established user base** and Metal L2 ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and +3. **actively maintained developer tool** that aligns with Metal L2's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly rated by community, etc.) diff --git a/pages/builders/tools/build/block-explorers.mdx b/pages/builders/tools/build/block-explorers.mdx index cd179fc87..68313154d 100644 --- a/pages/builders/tools/build/block-explorers.mdx +++ b/pages/builders/tools/build/block-explorers.mdx @@ -74,12 +74,9 @@ However, you **can** access transaction history between 23 June 2021 and the fin Developer teams who want to feature products/tools on this page must meet the following criteria: -1. **ongoing partnership** with Optimism whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; -2. **established user base** and OP ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and -3. **actively maintained developer tool** that aligns with OP's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly-rated by community, etc.) - -For teams that are supporting but still establishing a user base, we encourage you to share your tool on the [community block explorers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/block-explorers.md). -You can also promote your tool in the [developer forum](https://github.com/ethereum-optimism/developers/discussions/categories/show-and-tell) and signup to share your tool at the next [demo day](https://community.optimism.io/docs/contribute/demo-day/). +1. **ongoing partnership** with Metal L2 whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; +2. **established user base** and Metal L2 ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and +3. **actively maintained developer tool** that aligns with Metal L2's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly rated by community, etc.) ## Next Steps diff --git a/pages/builders/tools/build/faucets.mdx b/pages/builders/tools/build/faucets.mdx index 8c815513a..33c06d307 100644 --- a/pages/builders/tools/build/faucets.mdx +++ b/pages/builders/tools/build/faucets.mdx @@ -19,7 +19,7 @@ Faucets can occasionally also run out of ETH, so if you're having trouble gettin Tokens on test networks like Sepolia or OP Sepolia have no value and are only meant for testing. - Optimists only take what they need so that others can use faucets too! + Metal L2 contributors only take what they need so that others can use faucets too! ## Superchain faucet @@ -29,18 +29,15 @@ The Superchain Faucet is a great place to start if you're looking for testnet ET ## Additional faucets -| Faucet Name | Supported Networks | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | -| [Alchemy Faucet](https://sepoliafaucet.com) | Sepolia | -| [Infura Faucet](https://www.infura.io/faucet/sepolia) | Sepolia | -| [QuickNode Faucet](https://faucet.quicknode.com/optimism/) | Sepolia, OP Sepolia | -| [Farcaster Frame Faucet by LearnWeb3](https://warpcast.com/haardikkk/0x28f4237d) | Sepolia, OP Sepolia | -| [LearnWeb3 Web App Faucet](https://learnweb3.io/faucets) | Sepolia, OP Sepolia | -| [Native USDC Faucet](https://faucet.circle.com/) | Sepolia, OP Sepolia | -| [ETHGlobal Testnet Faucet](https://ethglobal.com/faucet) | Sepolia, OP Sepolia, Base Sepolia, Zora Sepolia, Holesky | -| [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets) | Sepolia, OP Sepolia, Base Sepolia | -| [thirdweb Sepolia Faucet](https://thirdweb.com/sepolia?utm_source=opdocs\&utm_medium=docs) | Sepolia | -| [thirdweb OP Sepolia Faucet](https://thirdweb.com/op-sepolia-testnet?utm_source=opdocs\&utm_medium=docs) | OP Sepolia | +| Faucet Name | Supported Networks | +| -------------------------------------------------------------------------------- | --------------------------------- | +| [Alchemy Faucet](https://sepoliafaucet.com) | Sepolia | +| [Infura Faucet](https://www.infura.io/faucet/sepolia) | Sepolia | +| [QuickNode Faucet](https://faucet.quicknode.com/optimism/) | Sepolia, OP Sepolia | +| [Farcaster Frame Faucet by LearnWeb3](https://warpcast.com/haardikkk/0x28f4237d) | Sepolia, OP Sepolia | +| [LearnWeb3 Web App Faucet](https://learnweb3.io/faucets) | Sepolia, OP Sepolia | +| [Native USDC Faucet](https://faucet.circle.com/) | Sepolia, OP Sepolia | +| [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets) | Sepolia, OP Sepolia, Base Sepolia | ## Bridge from Sepolia @@ -50,14 +47,11 @@ If you have testnet ETH on Sepolia, you can bridge it to OP Sepolia (and vice ve Developer teams who want to feature products/tools on this page must meet the following criteria: -1. **ongoing partnership** with Optimism whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; -2. **established user base** and OP ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and -3. **actively maintained developer tool** that aligns with OP's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly-rated by community, etc.) +1. **ongoing partnership** with Metal L2 whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; +2. **established user base** and Metal L2 ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and +3. **actively maintained developer tool** that aligns with Metal L2's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly rated by community, etc.) -For teams that are supporting but still establishing a user base, we encourage you to share your tool on the [community faucets page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/faucets.md). -You can also promote your tool in the [developer forum](https://github.com/ethereum-optimism/developers/discussions/categories/show-and-tell) and signup to share your tool at the next [demo day](https://community.optimism.io/docs/contribute/demo-day/). - -## Next steps +## Next Steps * If you're new to onchain development, check out [Optimism Unleashed](https://cryptozombies.io/en/optimism) by CryptoZombies and [Superchain Builder NFT](https://web.archive.org/web/20231218203510/https://blog.thirdweb.com/guides/optimism-superchain-faucet-nft/) by ThirdWeb. * If you're familiar with onchain development, check out the [Optimism Ecosystem's Contributions Dashboard](https://github.com/ethereum-optimism/ecosystem-contributions) for project ideas that the Optimism Collective is looking for. diff --git a/pages/builders/tools/build/nft-tools.mdx b/pages/builders/tools/build/nft-tools.mdx index 3e0f650bc..2291d6a0f 100644 --- a/pages/builders/tools/build/nft-tools.mdx +++ b/pages/builders/tools/build/nft-tools.mdx @@ -1,61 +1,24 @@ --- -title: OP Mainnet NFT tools +title: Metal L2 NFT Tools lang: en-US -description: Learn the basics of creating an NFT on OP Mainnet. +description: Learn the basics of creating an NFT on Metal L2. --- import { Callout } from 'nextra/components' -# OP Mainnet NFT tools +# Metal L2 NFT Tools -## The OP Mainnet NFT ecosystem -![The OP Mainnet NFT ecosystem page.](/img/guides/app-developers/OP-NFT-Ecosystem.jpg) +## Creator tools -## Statistics +Coming soon on Metal L2: -[Click here for statistics about NFTs on OP Mainnet](https://dune.com/oplabspbc/optimism-nft-secondary-marketplaces) +* [ThirdWeb](https://thirdweb.com/) -## Creator tools +## Inclusion Criteria + +Developer teams who want to feature products/tools on this page must meet the following criteria: -These tools are available on OP Mainnet: - -* [NiftyKit](https://niftykit.com/) -* [nft-inator](https://nft-inator.com/) -* [Unlock](https://unlock-protocol.com/) (time-bound NFTs for membership) -* [thirdweb](https://thirdweb.com/?utm_source=opdocs\&utm_medium=docs) -* [Crossmint](https://crossmint.com/?utm_source=backlinks\&utm_medium=docs\&utm_campaign=optimism) - -## Feature comparison - - - This list was last updated early February 2024, but new features are implemented all the time. - - -| | NiftyKit | NFT-Inator | Mintplex | Zero Code NFT | thirdweb | Crossmint | -| ------------------ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Multi-chain | 3 | 5 | 6 | 11 | 2500+ [(all EVM chains)](https://thirdweb.com/dashboard/infrastructure/rpc-edge?utm_source=opdocs\&utm_medium=docs) | 9 | -| Generator | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | -| ERC-20 support | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | -| ERC-721A support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| ERC-1155 support | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | -| DAO support | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | -| No Code deployment | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| Pricing / Fee | [Flat membership fee plus 2.5%-10% of the sales](https://app.niftykit.com) | 2% commission on primary sales | Paywall for premium features | Test for free, $499 for OpenSea setup | See the [pricing page](https://thirdweb.com/pricing) for more details | [Mint API Pricing](https://docs.crossmint.com/docs/pricing?utm_source=backlinks\&utm_medium=docs\&utm_campaign=optimism). NFT Checkouts free for seller (Unlimited transactions). | -| Image Hosting | [NFT storage](https://nft.storage/) / [Pinata](https://www.pinata.cloud/) | [NFT storage](https://nft.storage/) / [Pinata](https://www.pinata.cloud/) | Up to creators. Recommend [Pinata](https://www.pinata.cloud/) | [IPFS](https://ipfs.tech/) | [IPFS](https://ipfs.tech/) | [IPFS](https://ipfs.tech/) and [Arweave](https://www.arweave.org/). | - -## NFT data APIs - -* [Moralis](https://docs.moralis.io/web3-data-api/evm/reference/nft-api?utm_source=op-docs\&utm_medium=partner-docs) -* [Alchemy](https://docs.alchemy.com/reference/nft-api-quickstart) -* [SimpleHash](https://simplehash.com/) -* [QuickNode](https://www.quicknode.com/nft-api) -* [Reservoir](https://docs.reservoir.tools/reference/optimism) -* [NFTScan](https://docs.nftscan.com/reference/evm/get-nfts-by-account) - -## Marketplaces - -* [OpenSea](https://opensea.io/rankings?chain=optimism) -* [Tofu](https://tofunft.com/optimism) -* [OptiMarket](https://optimarket.io/) -* [Circular Art](https://www.circularart.xyz/) +1. **ongoing partnership** with Metal L2 whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; +2. **established user base** and Metal L2 ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and +3. **actively maintained developer tool** that aligns with Metal L2's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly-rated by community, etc.) diff --git a/pages/builders/tools/build/oracles.mdx b/pages/builders/tools/build/oracles.mdx index d3da77ea8..96959772d 100644 --- a/pages/builders/tools/build/oracles.mdx +++ b/pages/builders/tools/build/oracles.mdx @@ -10,10 +10,10 @@ import { Callout } from 'nextra/components' # Oracles - This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. Please visit the [community oracles page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/oracles.md) for an additional listing of third-party Oracles. + This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. -This reference guide lists different Oracles you can use when building on Optimism. [Oracles](https://ethereum.org/en/developers/docs/oracles/) provide offchain data onchain. This allows code running on a blockchain to access a wide variety of information. +This reference guide lists different Oracles you can use when building on Metal Layer 2. [Oracles](https://ethereum.org/en/developers/docs/oracles/) provide offchain data onchain. This allows code running on a blockchain to access a wide variety of information. For example, a [stablecoin](https://ethereum.org/en/stablecoins/) that accepts ETH as collateral needs to know the ETH/USD exchange rate: * How many stablecoins can we give a user for a given amount of ETH? @@ -42,50 +42,12 @@ There are two types of oracles: Random number generation in blockchain applications ensures that smart contracts can access unbiased random values. This is essential for certain use cases like generative NFTs, gaming, commit & reveal schemes and more. Various approaches include using a trusted third party, blockhash-based methods, Verifiable Random Functions (VRF), quantum random numbers to name a few. Each method has trade-offs between simplicity, security, and trust assumptions, allowing developers to select the most suitable option for their use case. -## List of oracles - -### Gas oracle - -OP Mainnet provides a [Gas Price Oracle](https://github.com/ethereum-optimism/optimism/blob/233ede59d16cb01bdd8e7ff662a153a4c3178bdd/packages/contracts/contracts/L2/predeploys/OVM_GasPriceOracle.sol) that provides information about [gas prices and related parameters](/stack/transactions/fees). -It can also calculate the total cost of a transaction for you before you send it. - -This contract is a predeploy at address `0x420000000000000000000000000000000000000F`: - -* [On OP Mainnet](https://explorer.optimism.io/address/0x420000000000000000000000000000000000000F#readContract) -* [On OP Sepolia](https://sepolia-optimistic.etherscan.io/address/0x420000000000000000000000000000000000000F) - -This is a push Oracle. -OP Mainnet (and the testnets) updates the gas price parameters onchain whenever those parameters change. -The L1 gas price, which can be volatile, is only pushed once every 5 minutes, and each time can change only by up to 20%. - -* [Blocknative](https://docs.blocknative.com/gas-prediction) provides real-time gas estimation powered by predictive modeling to forecast gas price distribution for select OP Stack chains, including OP Mainnet and Base. The [API](https://docs.blocknative.com/gas-prediction) is also available on Ethereum Mainnet to estimate base fee costs. - +## List of Oracles ### API3 -The [API3 Market](https://market.api3.org/optimism) provides access to 200+ price feeds on [Optimism Mainnet](https://market.api3.org/optimism) and [Testnet](https://market.api3.org/optimism-sepolia-testnet). The price feeds operate as a native push oracle and can be activated instantly via the Market UI. - -The price feeds are delivered by an aggregate of [first-party oracles](https://docs.api3.org/explore/airnode/why-first-party-oracles.html) using signed data and support [OEV recapture](https://docs.api3.org/explore/introduction/oracle-extractable-value.html). - -Unlike traditional data feeds, reading [API3 price feeds](https://docs.api3.org/guides/dapis/) enables dApps to auction off the right to update the price feeds to searcher bots which facilitates more efficient liquidation processes for users and LPs of DeFi money markets. The OEV recaptured is returned to the dApp. - -API3's QRNG provides dApps with truly random numbers based on quantum mechanics at no charge. More details [here](https://api3.org/qrng/) - -### Chainlink - -[Chainlink](https://chain.link/) is the industry-standard decentralized computing platform powering the verifiable web. -Chainlink powers verifiable applications and high-integrity markets for banking, DeFi, global trade, gaming, and other major sectors. - -Chainlink provides a number of [price feeds](https://docs.chain.link/docs/optimism-price-feeds/). -Those feeds are available on the production network @ [Op Mainnet](https://docs.chain.link/data-feeds/price-feeds/addresses?network=optimism\&page=1#optimism-mainnet). - -* Data Feeds: Chainlink Data Feeds provide a secure, reliable, and decentralized source of off-chain data to power unique smart contract use cases for DeFi and beyond. -* Automation: Chainlink Automation is an ultra-reliable and performant smart contract automation solution enabling developers to quickly scale their operations in a verifiable, decentralized, and cost-efficient manner, to build next-generation apps. -* CCIP: Chainlink CCIP provides a secure interoperability protocol for powering token transfers and sending arbitrary messages cross-chain. - -This is a push Oracle. See the [Using Data Feeds guide](https://docs.chain.link/docs/get-the-latest-price/) to learn how to use the Chainlink feeds. +The [API3 Market](https://market.api3.org/metal) provides access to 200+ price feeds on [Metal L2 Mainnet](https://market.api3.org/metal). The price feeds operate as a native push oracle and can be activated instantly via the Market UI. -* Chainlink VRF provides cryptographically secure randomness for blockchain-based applications. More details [here](https://chain.link/vrf) ### Chronicle @@ -97,55 +59,16 @@ The first Oracle on Ethereum, Chronicle's decentralized Oracle network was origi Every Oracle implementation is customized to fit your needs. Implement one of our existing data models or contact Chronicle to develop custom Oracle data feeds via [Discord](https://discord.gg/CjgvJ9EspJ) or [Email](mailto:gm@chroniclelabs.org). Developers can dive deeper into Chronicle Protocol's architecture and unique design choices [via the docs](https://docs.chroniclelabs.org/). -### Gelato - -[Gelato VRF](https://www.gelato.network/) enables smart contracts on Optimism to access verifiable randomness. Gelato VRF offers real randomness for blockchain applications by leveraging Drand, a trusted decentralized source for random numbers. - -Gelato VRF (Verifiable Random Function) provides trustable randomness on EVM-compatible blockchains. Here's a brief overview: - -* Contract Deployment: Use GelatoVRFConsumerBase.sol as an interface for requesting random numbers. -* Requesting Randomness: Emit the RequestedRandomness event to signal the need for a random number. -* Processing: Gelato VRF fetches the random number from Drand. -* Delivery: The fulfillRandomness function delivers the random number to the requesting contract. - -Ready to integrate? Head over to the [Gelato VRF Quick Start Guide](https://docs.gelato.network/web3-services/vrf/quick-start). - -### Pyth Network - -The Pyth Network is a financial oracle network which delivers over 400 low-latency, high-fidelity price feeds across cryptocurrencies, FX pairs, equities, ETFs, and commodities. - -* Pyth's price data is sourced from over [95 first-party sources](https://pyth.network/publishers) including exchanges, market makers, and financial services providers. -* Pyth [Price Feeds](https://pyth.network/price-feeds) offer both the real-time spot price of the asset as well as an accompanying confidence interval band around that price -* The Pyth [TradingView](https://docs.pyth.network/guides/how-to-create-tradingview-charts) integration allows users to view and display Pyth prices on their own website and UI. - -You can explore the full catalog of Pyth Price Feed IDs for [OP Mainnet and Sepolia (EVM Stable)](https://pyth.network/developers/price-feed-ids#pyth-evm-stable). - -* Pyth Entropy allows developers to quickly and easily generate secure random numbers on the blockchain. More details [here](https://pyth.network/blog/secure-random-numbers-for-blockchains) - -### RedStone - -[RedStone](https://redstone.finance/) offers flexible Data Feeds for Lending Markets, Perpetuals, Options, Stablecoins, Yield Aggregators and other types of novel DeFi protocols. The infrastructure is well battle-tested and secures hundreds of millions of USD across mainnet. - -Builders can choose how they want to consume the data among 3 dedicated models: - -* [RedStone Core](https://docs.redstone.finance/docs/get-started/models/redstone-pull) (pull oracle) - less than 10s update time, broad spectrum of feeds, best for most use cases. All [Core Price Feeds](https://app.redstone.finance/#/app/tokens) are available on OP Mainnet & OP Sepolia. -* [RedStone Classic](https://docs.redstone.finance/docs/get-started/models/redstone-push) (push oracle) - for protocols designed for the traditional oracle interface, customizable heartbeat and deviation threshold. -* [RedStone X](https://docs.redstone.finance/docs/get-started/models/redstone-x) - specifically for Perps and Options, highest update frequency and front-running protection. - -Interested in integration? [Get in contact](https://discord.com/invite/PVxBZKFr46) with the RedStone team! -## Inclusion criteria +## Inclusion Criteria Developer teams who want to feature products/tools on this page must meet the following criteria: -1. **ongoing partnership** with Optimism whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; -2. **established user base** and OP ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and -3. **actively maintained developer tool** that aligns with OP's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly-rated by community, etc.) +1. **ongoing partnership** with Metal L2 whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; +2. **established user base** and Metal L2 ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and +3. **actively maintained developer tool** that aligns with Metal L2's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly-rated by community, etc.) -For teams that are supporting but still establishing a user base, we encourage you to share your tool on the [community oracles page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/oracles.md). -You can also promote your tool in the [developer forum](https://github.com/ethereum-optimism/developers/discussions/categories/show-and-tell) and signup to share your tool at the next [demo day](https://community.optimism.io/docs/contribute/demo-day/). ## Next steps -* Please visit the [community oracles page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/oracles.md) for a listing of third-party Oracles used by the Optimism developer community. * Looking for other developer tools? See [developer tools overview](/builders/tools/overview) to explore more options! diff --git a/pages/builders/tools/connect/rpc-providers.mdx b/pages/builders/tools/connect/rpc-providers.mdx index 460839c01..0fe3c78a5 100644 --- a/pages/builders/tools/connect/rpc-providers.mdx +++ b/pages/builders/tools/connect/rpc-providers.mdx @@ -1,138 +1,42 @@ --- title: RPC & Node providers lang: en-US -description: Learn about different RPC and node providers to help you connect to an Optimism node. +description: Learn about different RPC and node providers to help you connect to an Optimism or Metal L2 node. --- import { Callout } from 'nextra/components' # RPC & Node providers -This reference guide lists different RPC and node providers to help you connect to an Optimism node. +This reference guide lists different RPC and node providers to help you connect to an Optimism or Metal L2 node. This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. Please visit the [community node providers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/node-providers.md) for an additional listing of third-party node providers. -## Ankr - -### Description and pricing - -[Ankr](https://www.ankr.com/) provides a geo-distributed and decentralized (free) public and premium (Pay-as-you-go) [Optimism RPC](https://www.ankr.com/rpc/optimism/) comprised of many independent blockchain nodes running worldwide for low-latency and incredibly reliable connections. - -Moreover, Ankr offers access to developer tooling on OP Mainnet (and testnets) like SDKs and [Advanced APIs](https://www.ankr.com/advanced-api/) such as NFT, Token and Query API. - -### Supported networks - -* OP Mainnet -* OP Sepolia - -## Alchemy - -### Description and pricing - -[Alchemy](https://docs.alchemy.com/reference/optimism-api-quickstart/?a=818c11a8da) is a popular API provider and developer platform. Its robust, free tier offers access to enhanced features like SDKs and enhanced APIs and hosted OP Mainnet and testnet nodes. - -### Supported networks - -* OP Mainnet -* OP Sepolia - -## Blockdaemon - -### Description and pricing - -Blockdaemon provides institutional-grade blockchain infrastructure, including node, staking, and API solutions, with premium RPC services optimized for [Optimism](https://docs.blockdaemon.com/reference/how-to-access-optimism-api). With free and enhanced options, Blockdaemon's RPC API allows developers to securely interact with on-chain data, broadcast transactions, and build dApps with minimal setup, offering streamlined access to enriched blockchain data and 99.9% uptime reliability to meet diverse needs. - -[Sign up for a free Blockdaemon account here](https://app.blockdaemon.com/signin/register) - -### Supported networks - -* OP Mainnet - -## Chainstack - -### Description and pricing - -[Chainstack](https://chainstack.com/build-better-with-optimism/) provides global & regional load-balanced nodes that are full & archive with debug & trace APIs. For the free tier, the Developer plan is available and you can sign up with GitHub account or other social logins. Chainstack also has special discounts available. - -### Supported networks - -* OP Mainnet -* OP Sepolia ## dRPC -### Description and pricing - -[dRPC](https://drpc.org) provides geo-distributed, auto-scalable OP Mainnet and OP Sepolia nodes. For more information, visit [dRPC's chainlist for Optimism](https://drpc.org/chainlist/optimism). dRPC supports Websocket and all methods, including debug and trace methods. -For early-stage startups, dRPC and Optimism Collective provide OP Mainnet nodes from 3 geo clusters without method restrictions and are totally free! +### Description and Pricing +[dRPC](https://drpc.org) provides geo-distributed, auto-scalable Metal L2 Mainnet and Metal L2 Sepolia nodes. For more information, visit [dRPC's chainlist page for Metal L2](https://drpc.org/chainlist/metall2). dRPC supports Websocket and all methods, including debug and trace methods. +For early-stage startups, dRPC and Optimism Collective provide OP Mainnet nodes from 3 geo clusters without method restrictions and are totally free! For commercial nodes, dRPC uses a pay-as-you-go model without hidden fees and rate limits. Feel free to try fast and reliable nodes. -Supported Networks -OP Mainnet -OP Sepolia - -## GetBlock - -### Description and pricing - -[GetBlock](https://getblock.io/nodes/op/?utm_source=op-docs&utm_medium=partner-docs) provides reliable access to full blockchain nodes via RPC, supporting multiple networks, including Optimism. The service is designed for developers building dApps, smart contracts, and blockchain projects, offering scalable and efficient infrastructure. -GetBlock offers Pay-as-You-Go flexible pricing based on actual usage, suitable for unpredictable workloads, starting from $29. A free plan for testing includes 40K requests daily. - -Supported Networks -OP Mainnet -OP Sepolia - -## Infura - -### Description and pricing - -[Infura](https://infura.io) is a Web3 infrastructure provider that offers free access to hosted [OP Mainnet and testnet nodes](https://docs.infura.io/infura/networks/optimism), with the option to upgrade to [paid plans](https://www.infura.io/pricing) for more features. With Infura's highly performant Optimism node infrastructure, developers can eliminate the need for syncing or complex setups and get reliable and consistent access to the Optimism blockchain. - -[Sign up for a free Infura account here](https://app.infura.io/register) - -### Supported networks - -* OP Mainnet -* OP Sepolia +### Supported Networks -## Moralis +Metal L2 Mainnet +Metal L2 Sepolia -### Description and pricing -[Moralis](https://moralis.io/?utm_source=op-docs\&utm_medium=partner-docs) is a popular Node and API provider for both real-time and indexed blockchain data. Moralis is the only major infrastructure provider in blockchain with a SOC2 Type 2 certification. You can use Moralis for free, or upgrade to a [paid plan](https://moralis.io/pricing/?utm_source=op-docs\&utm_medium=partner-docs) for more features and benefits. - -[Sign up for a free Moralis account here](https://admin.moralis.io/register/?utm_source=op-docs\&utm_medium=partner-docs) - -### Supported networks - -* OP Mainnet - -## QuickNode - -### Description and pricing - -[QuickNode](https://www.quicknode.com/) offers access to hosted OP Mainnet (and testnet) nodes for free. -With the option to upgrade to a premium plan for additional features, we allow you to focus solely on optimizing your application while we manage the complex infrastructure. - -### Supported networks - -* OP Mainnet -* OP Sepolia - -## Inclusion criteria +## Inclusion Criteria Developer teams who want to feature products/tools on this page must meet the following criteria: -1. **ongoing partnership** with Optimism whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; -2. **established user base** and OP ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and -3. **actively maintained developer tool** that aligns with OP's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly-rated by community, etc.) - -For teams that are supporting but still establishing a user base, we encourage you to share your tool on the [community node providers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/node-providers.md). -You can also promote your tool in the [developer forum](https://github.com/ethereum-optimism/developers/discussions/categories/show-and-tell) and signup to share your tool at the next [demo day](https://community.optimism.io/docs/contribute/demo-day/). +1. **ongoing partnership** with Metal L2 whether formal agreement, RPGF, RFP, collaborated on specific initiatives, etc.; +2. **established user base** and Metal L2 ecosystem engagement such as governance participation, homegrown TG or Discord participation, etc.; and +3. **actively maintained developer tool** that aligns with Metal L2's commitment to a magical developer experience (e.g., easy-to-use, easy-to-integrate, great DevX, highly rated by community, etc.) -## Next steps +## Next Steps * Please visit the [community node providers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/node-providers.md) for a listing of third-party node providers used by the Optimism developer community. * Looking for other developer tools? See [developer tools overview](/builders/tools/overview) to explore more options! diff --git a/pages/builders/tools/overview.mdx b/pages/builders/tools/overview.mdx index c3069e116..fe883a4fb 100644 --- a/pages/builders/tools/overview.mdx +++ b/pages/builders/tools/overview.mdx @@ -1,16 +1,16 @@ --- title: Developer tools lang: en-US -description: Learn about different developer tools you can use to help you build on Optimism. +description: Learn about different developer tools you can use to help you build on Metal L2. --- import { Cards, Card } from 'nextra/components' # Developer tools -Welcome to the Optimism developer tools! +Welcome to the Metal L2 developer tools! -If you are already familiar with [building on OP Mainnet](/chain/getting-started) and just need the tools to get cracking, you are in the right place! +If you are already familiar with [building on Metal L2](/chain/getting-started) and just need the tools to get cracking, you are in the right place! ## Connecting @@ -43,10 +43,10 @@ If you are already familiar with [building on OP Mainnet](/chain/getting-started } />
-## OP tools +## Metal L2 Tools - } /> + } /> } /> diff --git a/pages/chain/_meta.json b/pages/chain/_meta.json index 6c45f77d2..252510382 100644 --- a/pages/chain/_meta.json +++ b/pages/chain/_meta.json @@ -1,8 +1,10 @@ { - "getting-started": "Getting started: OP Mainnet", + "getting-started": "Getting Started: Metal L2", + "differences": "Differences Between Ethereum and Metal L2", "networks": "Networks and RPC Endpoints", - "addresses": "Contract addresses", - "tokenlist": "Bridged token addresses", + "biconomy": "Biconomy", + "addresses": "Contract Addresses", + "tokenlist": "Bridged Token Addresses", "identity": "Identity", "testing": "Testing", "security": "Security" diff --git a/pages/chain/addresses.mdx b/pages/chain/addresses.mdx index b768b476d..184585ec9 100644 --- a/pages/chain/addresses.mdx +++ b/pages/chain/addresses.mdx @@ -26,19 +26,19 @@ This page is automatically generated from packages in the [superchain-registry]( ### Ethereum (L1) - + ### Ethereum Legacy Contracts (L1) - + -### OP Mainnet (L2) +### Metal L2 (L2) - + -### OP Mainnet Legacy Contracts (L2) +### Metal L2 Legacy Contracts (L2) - + ## Testnet (Sepolia) @@ -48,8 +48,8 @@ This page is automatically generated from packages in the [superchain-registry]( ### Sepolia (L1) - + -### OP Sepolia (L2) +### Metal L2 Testnet (L2) - + diff --git a/pages/chain/biconomy.mdx b/pages/chain/biconomy.mdx new file mode 100644 index 000000000..39d53b537 --- /dev/null +++ b/pages/chain/biconomy.mdx @@ -0,0 +1,107 @@ +--- +title: Biconomy +lang: en-US +description: Learn about sending a gasless txn on Metal L2 testnet using Biconomy +--- + +# Biconomy Integration with Metal L2 Testnet + +In this tutorial, we'll walk through the process of integrating Biconomy with Metal L2 Testnet chain to enable gasless transactions. + +The tutorial covers the entire process from setting up the Biconomy paymaster to actually sending a gasless transaction on the Metal L2 Testnet chain. + +## Prerequisites + +* A wallet with some testnet tokens for Metal L2 Testnet + +## Step 1: Create a Biconomy Paymaster + +1. Go to the [Biconomy Dashboard](https://dashboard.biconomy.io/). +2. Sign up or log in to your account. +3. Click on "Create New Paymaster." +4. Select "Metal L2 Testnet" as the network. +5. Choose a name for your paymaster and click "Create." +6. Once created, you'll see your Paymaster API Key. Save this for later use. + +## Step 2: Create a Smart Account + +1. Install the necessary dependencies: + +```bash +npm install @biconomy/account viem +``` + +2. Set up your account and biconomy configuration: + +```typescript +import { createWalletClient, http, parseEther } from "viem"; +import { privateKeyToAccount } from "viem/accounts"; +import { createSmartAccountClient, PaymasterMode, getCustomChain } from "@biconomy/account"; + +const config = { + privateKey: "your-private-key", + biconomyPaymasterApiKey: "your-paymaster-api-key", + bundlerUrl: "https://bundler.biconomy.io/api/v2/1802203764/nJPK7B3ru.dd7f7861-190d-41bd-af80-6877f74b8f44", + explorerUrl: "https://testnet.explorer.metall2.com" +}; +``` + +3. Create a Biconomy Smart Account: + +```typescript +const account = privateKeyToAccount(`0x${config.privateKey}`); +const customChain = getCustomChain( + "Metal L2 Testnet", + config.chainId, + config.providerUrl, + config.explorerUrl + ); +const client = createWalletClient({ + account, + chain: customChain, + transport: http(), +}); + +const smartWallet = await createSmartAccountClient({ + signer: client, + biconomyPaymasterApiKey: config.biconomyPaymasterApiKey, + bundlerUrl: config.bundlerUrl, +}); +const saAddress = await smartWallet.getAccountAddress(); +console.log("Smart Account Address", saAddress); +``` + +## Step 3: Send a Gasless Transaction + +1. Prepare the transaction data: + +```typescript +const tx = { + to: '0xf5715961C550FC497832063a98eA34673ad7C816', + value: parseEther('0.0001') +}; +console.log("Transaction sent:", tx); +``` + +2. Send the transaction and wait for the result: + +```typescript +const userOpResponse = await smartWallet.sendTransaction(tx, { + paymasterServiceData: { mode: PaymasterMode.SPONSORED }, +}); +const { transactionHash } = await userOpResponse.waitForTxHash(); +console.log("Transaction Hash", transactionHash); +const userOpReceipt = await userOpResponse.wait(); +if (userOpReceipt.success === "true") { + console.log("UserOp receipt", userOpReceipt); + console.log("Transaction receipt", userOpReceipt.receipt); +} +``` + +## Conclusion + +You have now successfully integrated Biconomy with Metal L2 Testnet chain and sent a gasless transaction. This setup allows your users to interact with your dApp without worrying about gas fees, improving the overall user experience. + +Remember to handle errors appropriately and consider implementing additional features like transaction status updates or retry mechanisms for failed transactions. + +For more advanced use cases and detailed documentation, refer to the [Biconomy documentation](https://docs.biconomy.io/). diff --git a/pages/chain/differences.mdx b/pages/chain/differences.mdx new file mode 100644 index 000000000..7dddb38c7 --- /dev/null +++ b/pages/chain/differences.mdx @@ -0,0 +1,77 @@ +--- +title: Differences between Ethereum and Metal L2 +lang: en-US +description: Learn the minor differences between the behavior of Metal L2 and Ethereum. +--- + +import { Callout } from 'nextra/components' + +# Differences between Ethereum and Metal L2 + +Metal L2 is designed to be [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) and introduces as few changes as possible to the Ethereum protocol. +However, there are some minor differences between the behavior of Ethereum and Metal L2 that developers should be aware of. + +## Opcodes + +| Opcode | Solidity Equivalent | Behavior | +| ------------ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `COINBASE` | `block.coinbase` | Returns the address of the current Sequencer's fee wallet. Effectively the same as Ethereum with the caveat the value typically does not change from block to block. | +| `PREVRANDAO` | `block.prevrandao` | Set **pseudorandomly** for each block by the Sequencer as opposed to the stronger guarantees provided by [RANDAO](https://eips.ethereum.org/EIPS/eip-4399) on Ethereum. | +| `ORIGIN` | `tx.origin` | If the transaction is an L1 ⇒ L2 transaction triggered by a smart contract on L1, then `tx.origin` is set to the [aliased address](#address-aliasing) of the address that triggered the L1 ⇒ L2 transaction. Otherwise, this opcode behaves normally. | +| `CALLER` | `msg.sender` | If the transaction is an L1 ⇒ L2 transaction triggered by a smart contract on L1, and this is the first call frame (rather than an internal transaction from one contract to another), the same [address aliasing](#address-aliasing) behavior applies. | + +### Address Aliasing + + + Address aliasing is an important security feature that impacts the behavior of transactions sent from L1 to L2 by smart contracts. + Make sure to read this section carefully if you are working with cross-chain transactions. + Note that the `CrossChainMessenger` contracts will handle address aliasing internally on your behalf. + + +When transactions are sent from L1 to L2 by an Externally Owned Account, the address of the sender of the transaction on L2 will be set to the address of the sender of the transaction on L1. +**However, the address of the sender of a transaction on L2 will be different if the transaction was triggered by a smart contract on L1**. + +Because of the behavior of the `CREATE` opcode, it is possible to create a contract on both L1 and on L2 that share the same address but have different bytecode. +Even though these contracts share the same address, they are fundamentally two different smart contracts and cannot be treated as the same contract. +As a result, the sender of a transaction sent from L1 to L2 by a smart contract cannot be the address of the smart contract on L1 or the smart contract on L1 could act as if it were the smart contract on L2 (because the two contracts share the same address). + +To prevent this sort of impersonation, the sender of a transaction is slightly modified when a transaction is sent from L1 to L2 by a smart contract. +Instead of appearing to be sent from the actual L1 contract address, the L2 transaction appears to be sent from an "aliased" version of the L1 contract address. +This aliased address is a constant offset from the actual L1 contract address such that the aliased address will never conflict with any other address on L2 and the original L1 address can easily be recovered from the aliased address. + +This change in sender address is only applied to L2 transactions sent by L1 smart contracts. +In all other cases, the transaction sender address is set according to the same rules used by Ethereum. + +| Transaction Source | Sender Address | +| ------------------------------------------------------- | ------------------------------------------------------------------ | +| L2 user (Externally Owned Account) | The user's address (same as in Ethereum) | +| L1 user (Externally Owned Account) | The user's address (same as in Ethereum) | +| L1 contract (using `OptimismPortal.depositTransaction`) | `L1_contract_address + 0x1111000000000000000000000000000000001111` | + +## Transactions + +### Transaction Fees + +Transactions on Metal L2 must pay for an [L1 data fee](/stack/transactions/fees#the-l1-data-fee) on top of the standard [execution gas fee](/stack/transactions/fees#execution-gas-fee) you would expect on Ethereum. +Refer to the guide on [Metal L2 Transaction Fees](/stack/transactions/fees) for more information. + +### EIP-1559 Parameters + +The base fee on Metal L2 is, like Ethereum, computed via the [EIP-1559](https://notes.ethereum.org/@vbuterin/eip-1559-faq) mechanism. +The EIP-1559 parameters used by Metal L2 differ from those used by Ethereum as follows. + +| Parameter | Metal L2 value | Ethereum value (for reference) | +| ------------------------------------- | -------------: | -----------------------------: | +| Block gas limit | 30,000,000 gas | 30,000,000 gas | +| Block gas target | 5,000,000 gas | 15,000,000 gas | +| EIP-1559 elasticity multiplier | 6 | 2 | +| EIP-1559 denominator | 250 | 8 | +| Maximum base fee increase (per block) | 2% | 12.5% | +| Maximum base fee decrease (per block) | 0.4% | 12.5% | +| Block time in seconds | 2 | 12 | + +### Mempool Rules + +Unlike Ethereum, Metal L2 does not have a large public mempool. +The Metal L2 Sequencer mempool is currently only visible to the Sequencer. +The Sequencer executes transactions from the mempool in priority fee order (highest fee first). diff --git a/pages/chain/getting-started.mdx b/pages/chain/getting-started.mdx index d4af9faea..15a6455ad 100644 --- a/pages/chain/getting-started.mdx +++ b/pages/chain/getting-started.mdx @@ -1,38 +1,38 @@ --- -title: Getting started developing for OP Mainnet +title: Getting Started Developing for Metal L2 lang: en-US -description: Learn the basics of OP Mainnet development. +description: Learn the basics of Metal L2 development. --- import { Steps } from 'nextra/components' -# Getting started developing for OP Mainnet +# Getting Started Developing for Metal L2 -This guide explains the basics of OP Mainnet development. -OP Mainnet is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306), meaning we run a slightly modified version of the same `geth` you run on mainnet. -Therefore, the differences between OP Mainnet development and Ethereum development are minor. +This guide explains the basics of Metal L2 development. +Metal L2 is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306), meaning we run a slightly modified version of the same `geth` you run on mainnet. +Therefore, the differences between Metal L2 development and Ethereum development are minor. But a few differences [do exist](/stack/differences). -## OP Mainnet and OP Sepolia endpoint URLs +## Metal L2 and Metal L2 Testnet Endpoint URLs To access any Ethereum type network you need an endpoint. [These providers](/builders/tools/connect/rpc-providers) support our networks. ### Network choice -For development purposes we recommend you use either a local development node or [OP Sepolia](https://sepolia-optimism.etherscan.io). +For development purposes we recommend you use either a local development node or [Metal L2 Testnet](https://testnet.explorer.metall2.com/). That way you don't need to spend real money. -If you need ETH on OP Sepolia for testing purposes, [you can use this faucet](https://console.optimism.io/faucet?utm_source=docs). +If you need ETH on Metal L2 Testnet for testing purposes, use any Sepolia faucet to acquire ETH and then use the testnet [bridge](https://testnet.bridge.metall2.com/) to bring it to Metal L2 Testnet . -## Interacting with contracts on OP Mainnet or OP Sepolia +## Interacting with Contracts on Metal L2 or Metal L2 Testnet -We have Hardhat's Greeter contract on OP Sepolia at address [0x9d334aFBa83865E67a9219830ADA57aaA9406681](https://sepolia-optimism.etherscan.io/address/0x9d334aFBa83865E67a9219830ADA57aaA9406681#code). +We have Hardhat's Greeter contract on Metal L2 Testnet at address [0xacc0cAB1F524F34012fb766f582e3AB2049f2bC5](https://testnet.explorer.metall2.com/address/0xacc0cAB1F524F34012fb766f582e3AB2049f2bC5#code). You can verify your development stack configuration by interacting with it. ## Development stacks -As you can see in the different development stacks below, the way you deploy contracts and interact with them on OP Mainnet or OP Sepolia is almost identical to the way you do it with L1 Ethereum. +As you can see in the different development stacks below, the way you deploy contracts and interact with them on Metal L2 or Metal L2 Testnet is almost identical to the way you do it with L1 Ethereum. The most visible difference is that you have to specify a different endpoint (of course). -The list of other differences is [here](differences). +The list of other differences is [here](../stack/differences). * [Apeworx](https://www.apeworx.io/) * [Brownie](https://eth-brownie.readthedocs.io/en/stable/install.html) @@ -52,7 +52,7 @@ Not only is it faster, but such EVMs often have extra features, such as the [abi ### Debug before deploying After you are done with that development, debug your decentralized application using either a [development node](/chain/testing/dev-node) or the [Sepolia test network](/chain/networks). -This lets you debug parts that are OP Mainnet specific such as calls to bridges to transfer ETH or tokens between layers. +This lets you debug parts that are Metal L2 specific such as calls to bridges to transfer ETH or tokens between layers. Only when you have a version that works well on a test network should you deploy to the production network, where every transaction has a cost. @@ -62,4 +62,4 @@ You don't have to upload your source code to [block explorers](/builders/tools/b On the test network, it lets you issue queries and transactions from the explorer's user interface. On the production network, it lets users know exactly what your contract does, which is conducive to trust. -Just remember, if you use [the Etherscan API](https://explorer.optimism.io/apis), you need one API key for OP Mainnet and a separate one for OP Sepolia. +You can find the explorer API for testnet here: [https://testnet.explorer.metall2.com/api-docs](https://testnet.explorer.metall2.com/api-docs) diff --git a/pages/chain/identity/schemas.mdx b/pages/chain/identity/schemas.mdx index ad3999e07..9978b5947 100644 --- a/pages/chain/identity/schemas.mdx +++ b/pages/chain/identity/schemas.mdx @@ -39,7 +39,7 @@ Used to associate metadata to an organization. Re-issued each time there is a ch | farcasterID | The Farcaster id of the individual who published the organization metadata | | name | The name of the organization | | projects | The array of projects that belong to this organization | -| parentOrgUID | The attestation UID of this organization's parent, in case it has one | +| parentOrgUID | The attestation UID of this organization's parent, in case it has one | | metadataType | How the metadata can be accessed. 1 for ipfs, 2 for http | | metadataUrl | The storage location where the metadata can be retrieved | diff --git a/pages/chain/networks.mdx b/pages/chain/networks.mdx index a7e97799d..6a2ab76e7 100644 --- a/pages/chain/networks.mdx +++ b/pages/chain/networks.mdx @@ -1,48 +1,45 @@ --- -title: OP networks and public RPC endpoints +title: Metal L2 Networks and Public RPC Endpoints lang: en-US -description: Learn about the different OP networks and public RPC endpoints. +description: Learn about the different Metal L2 Networks and public RPC endpoints. --- import { Callout } from 'nextra/components' -# OP networks and public RPC endpoints +# Metal L2 Networks and Public RPC Endpoints -This reference guide provides a listing of the different OP networks and public RPC endpoints. +This reference guide provides a listing of the different Metal L2 Networks and public RPC endpoints. The public RPC URLs provided below are rate limited and do not support websocket connections. If you are experiencing rate limiting issues or need websocket functionality, consider [running your own node](/builders/node-operators/rollup-node) or signing up for a [third-party RPC provider](/builders/tools/connect/rpc-providers). -## OP Mainnet - -| Parameter | Value | -| --------------------------- | ---------------------------------------------------------------------------------------- | -| Network Name | `OP Mainnet` | -| Chain ID | `10` | -| Currency Symbol1 | ETH | -| Explorer | [https://optimistic.etherscan.io](https://optimistic.etherscan.io) | -| Public RPC URL | [https://mainnet.optimism.io](https://mainnet.optimism.io) | -| Sequencer URL2 | [https://mainnet-sequencer.optimism.io](https://mainnet-sequencer.optimism.io) | -| Contract Addresses | Refer to the [Contract Addresses page](/chain/addresses#mainnet) | -| Connect Wallet | [Click here to connect your wallet to OP Mainnet](https://chainid.link?network=optimism) | - -1. The "currency symbol" is required by some wallets like MetaMask. -2. The sequencer URL is write only. - -## OP Sepolia - -| Parameter | Value | -| --------------------------- | ------------------------------------------------------------------------------------------ | -| Network Name | `OP Sepolia` | -| Chain ID | `11155420` | -| Currency Symbol1 | ETH | -| Explorer | [https://sepolia-optimistic.etherscan.io](https://sepolia-optimistic.etherscan.io) | -| Public RPC URL | [https://sepolia.optimism.io](https://sepolia.optimism.io) | -| Sequencer URL2 | [https://sepolia-sequencer.optimism.io](https://sepolia-sequencer.optimism.io) | -| Contract Addresses | Refer to the [Contract Addresses page](/chain/addresses#testnet-sepolia) | -| Connect Wallet | [Click here to connect your wallet to OP Sepolia](https://chainid.link?network=op-sepolia) | +## Metal L2 Mainnet + +| Parameter | Value | +| --------------------------- | ----------------------------------------------------------------------------------------------- | +| Network Name | `Metal L2` | +| Chain ID | `1750` | +| Currency Symbol1 | ETH | +| Explorer | [https://explorer.metall2.com](https://explorer.metall2.com) | +| Public RPC URL | [https://rpc.metall2.com](https://rpc.metall2.com) | +| Sequencer URL2 | [https://mainnet-sequencer.metall2.com/](https://mainnet-sequencer.metall2.com/) | +| Contract Addresses | Refer to the [Contract Addresses page](/chain/addresses#mainnet) | +| Connect Wallet | [Click here to connect your wallet to Metal L2 Mainnet](https://chainlist.org/?search=metal+l2) | + +## Metal L2 Testnet + +| Parameter | Value | +| --------------------------- | -------------------------------------------------------------------------------- | +| Network Name | `Metal L2 Testnet` | +| Chain ID | `1740` | +| Currency Symbol1 | ETH | +| Explorer | [https://testnet.explorer.metall2.com/](https://testnet.explorer.metall2.com/) | +| Public RPC URL | [https://testnet.rpc.metall2.com/](https://testnet.rpc.metall2.com/) | +| Sequencer URL2 | [https://testnet-sequencer.metall2.com/](https://testnet-sequencer.metall2.com/) | +| Contract Addresses | Refer to the [Contract Addresses page](/chain/addresses#testnet) | +| Connect Wallet | | 1. The "currency symbol" is required by some wallets like MetaMask. 2. The sequencer URL is write only. diff --git a/pages/chain/security/_meta.json b/pages/chain/security/_meta.json index 0c83dd2a3..5fa6f564a 100644 --- a/pages/chain/security/_meta.json +++ b/pages/chain/security/_meta.json @@ -1,10 +1,5 @@ { - "faq": "Security model & FAQ", - "privileged-roles": "Privileged roles", - "security-policy": "Security policy", - "bug-bounty": { - "title": "Bug Bounty Program", - "href": "https://immunefi.com/bounty/optimism/", - "newWindow": true - } + "faq": "Security Model & FAQ", + "privileged-roles": "Privileged Roles", + "security-policy": "Security Policy" } diff --git a/pages/chain/security/faq.mdx b/pages/chain/security/faq.mdx index 002244cc8..76f5b4470 100644 --- a/pages/chain/security/faq.mdx +++ b/pages/chain/security/faq.mdx @@ -1,12 +1,12 @@ --- -title: OP Mainnet security model +title: Metal L2 Security Model lang: en-US -description: Learn about the OP Mainnet security model and answers to common questions. +description: Learn about the Metal L2 security model and answers to common questions. --- import { Callout } from 'nextra/components' -# OP Mainnet security model +{/* # OP Mainnet Security Model OP Mainnet is a work in progress. Constant, iterative improvement of the security mechanisms that safeguard OP Mainnet users is a top priority for the entire [Optimism Collective](https://community.optimism.io/docs/governance/). @@ -79,4 +79,4 @@ You can also run your own verifier node to detect network faults. ### Where do I report bugs? -For details about reporting vulnerabilities and available bug bounty programs, see the [Security Policy](/chain/security/security-policy). +For details about reporting vulnerabilities and available bug bounty programs, see the [Security Policy](/chain/security/security-policy). */} diff --git a/pages/chain/security/privileged-roles.mdx b/pages/chain/security/privileged-roles.mdx index 040d2b940..89a9e04d1 100644 --- a/pages/chain/security/privileged-roles.mdx +++ b/pages/chain/security/privileged-roles.mdx @@ -1,20 +1,20 @@ --- -title: Privileged Roles in OP Mainnet +title: Privileged Roles in Metal L2 lang: en-US -description: Learn about the privileged roles in OP Mainnet. +description: Learn about the privileged roles in Metal L2. --- import { Callout } from 'nextra/components' -# Privileged Roles in OP Mainnet +# Privileged Roles in Metal L2 -OP Mainnet is on a [Pragmatic Path to Decentralization](https://blog.oplabs.co/decentralization-roadmap/). -In its current state, OP Mainnet still includes some "privileged" roles that give certain addresses the ability to carry out specific actions. +Metal L2 is on a [Pragmatic Path to Decentralization](https://blog.oplabs.co/decentralization-roadmap/). +In its current state, Metal L2 still includes some "privileged" roles that give certain addresses the ability to carry out specific actions. Read this page to understand these roles, why they exist, and what risks they pose. -## L1 Proxy Admin +{/* ## L1 Proxy Admin -The L1 Proxy Admin is an address that can be used to upgrade most OP Mainnet system contracts. +The L1 Proxy Admin is an address that can be used to upgrade most Metal L2 system contracts. ### Risks @@ -29,9 +29,9 @@ The L1 Proxy Admin is an address that can be used to upgrade most OP Mainnet sys ### Addresses * **Ethereum**: [`0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A`](https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) -* **Sepolia:** [`0x1Eb2fFc903729a0F03966B917003800b145F56E2`](https://sepolia.etherscan.io/address/0x1Eb2fFc903729a0F03966B917003800b145F56E2) +* **Sepolia:** [`0x1Eb2fFc903729a0F03966B917003800b145F56E2`](https://sepolia.etherscan.io/address/0x1Eb2fFc903729a0F03966B917003800b145F56E2) */} -## L2 Proxy Admin +{/* ## L2 Proxy Admin The L2 Proxy Admin is an address that can be used to upgrade most OP Mainnet system contracts on L2. The L2 Proxy Admin owner is the [aliased address](/chain/differences#address-aliasing) of the L1ProxyAdmin owner, which means the L2 ProxyAdmin Owner is equal to the L1 ProxyAdmin Owner, but due to aliasing it's a different address. Here's how that works: @@ -59,10 +59,10 @@ The L2 Proxy Admin is an address that can be used to upgrade most OP Mainnet sys * **OP Mainnet**: [`0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b`](https://optimistic.etherscan.io/address/0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b) -* **OP Sepolia:** [`0x2FC3ffc903729a0f03966b917003800B145F67F3`](https://sepolia-optimism.etherscan.io/address/0x2FC3ffc903729a0f03966b917003800B145F67F3) +* **OP Sepolia:** [`0x2FC3ffc903729a0f03966b917003800B145F67F3`](https://sepolia-optimism.etherscan.io/address/0x2FC3ffc903729a0f03966b917003800B145F67F3) */} -## System Config Owner +{/* ## System Config Owner The System Config Owner is an address that can be used to change the values within the [`SystemConfig`](https://github.com/ethereum-optimism/optimism/blob/62c7f3b05a70027b30054d4c8974f44000606fb7/packages/contracts-bedrock/contracts/L1/SystemConfig.sol) contract on Ethereum. @@ -80,9 +80,9 @@ The System Config Owner is an address that can be used to change the values with ### Addresses * **Ethereum**: [`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`](https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) -* **Sepolia**: [`0xfd1D2e729aE8eEe2E146c033bf4400fE75284301`](https://sepolia.etherscan.io/address/0xfd1D2e729aE8eEe2E146c033bf4400fE75284301) +* **Sepolia**: [`0xfd1D2e729aE8eEe2E146c033bf4400fE75284301`](https://sepolia.etherscan.io/address/0xfd1D2e729aE8eEe2E146c033bf4400fE75284301) */} -## Batcher +{/* ## Batcher ### Description @@ -102,9 +102,9 @@ OP Mainnet nodes will look for transactions from this address to find new batche ### Addresses * **Ethereum**: [`0x6887246668a3b87F54DeB3b94Ba47a6f63F32985`](https://etherscan.io/address/0x6887246668a3b87F54DeB3b94Ba47a6f63F32985) -* **Sepolia**: [`0x8F23BB38F531600e5d8FDDaAEC41F13FaB46E98c`](https://sepolia.etherscan.io/address/0x8F23BB38F531600e5d8FDDaAEC41F13FaB46E98c) +* **Sepolia**: [`0x8F23BB38F531600e5d8FDDaAEC41F13FaB46E98c`](https://sepolia.etherscan.io/address/0x8F23BB38F531600e5d8FDDaAEC41F13FaB46E98c) */} -## Proposer +{/* ## Proposer ### Description @@ -131,9 +131,9 @@ The Guardian role is responsible for changing the respected dispute game type if ### Addresses * **Ethereum**: [`0x473300df21D047806A082244b417f96b32f13A33`](https://etherscan.io/address/0x473300df21D047806A082244b417f96b32f13A33) -* **Sepolia**: [`0x49277EE36A024120Ee218127354c4a3591dc90A9`](https://sepolia.etherscan.io/address/0x49277EE36A024120Ee218127354c4a3591dc90A9) +* **Sepolia**: [`0x49277EE36A024120Ee218127354c4a3591dc90A9`](https://sepolia.etherscan.io/address/0x49277EE36A024120Ee218127354c4a3591dc90A9) */} -## Challenger +{/* ## Challenger ### Description @@ -156,9 +156,9 @@ The Challenger is an address that can participate in and challenge `Permissioned ### Addresses * **Ethereum**: [`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`](https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) -* **Sepolia**: [`0xfd1D2e729aE8eEe2E146c033bf4400fE75284301`](https://sepolia.etherscan.io/address/0xfd1D2e729aE8eEe2E146c033bf4400fE75284301) +* **Sepolia**: [`0xfd1D2e729aE8eEe2E146c033bf4400fE75284301`](https://sepolia.etherscan.io/address/0xfd1D2e729aE8eEe2E146c033bf4400fE75284301) */} -## Guardian +{/* ## Guardian ### Description @@ -184,9 +184,9 @@ The Guardian can also manage various aspects of the `OptimismPortal` contract to ### Addresses * **Ethereum**: [`0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2`](https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) -* **Sepolia**: [`0xf64bc17485f0B4Ea5F06A96514182FC4cB561977`](https://sepolia.etherscan.io/address/0xf64bc17485f0B4Ea5F06A96514182FC4cB561977) +* **Sepolia**: [`0xf64bc17485f0B4Ea5F06A96514182FC4cB561977`](https://sepolia.etherscan.io/address/0xf64bc17485f0B4Ea5F06A96514182FC4cB561977) */} -## Mint Manager Owner +{/* ## Mint Manager Owner The Mint Manager Owner is an address that controls the [`MintManager`](https://github.com/ethereum-optimism/optimism/blob/62c7f3b05a70027b30054d4c8974f44000606fb7/packages/contracts-bedrock/contracts/governance/MintManager.sol) contract that can be used to mint new OP tokens on OP Mainnet. @@ -202,4 +202,4 @@ The Mint Manager Owner is an address that controls the [`MintManager`](https://g ### Addresses * **Ethereum**: [`0x2a82ae142b2e62cb7d10b55e323acb1cab663a26`](https://optimistic.etherscan.io/address/0x2a82ae142b2e62cb7d10b55e323acb1cab663a26) -* **Sepolia**: [`0x5c4e7ba1e219e47948e6e3f55019a647ba501005`](https://optimistic.etherscan.io/address/0x5c4e7ba1e219e47948e6e3f55019a647ba501005) +* **Sepolia**: [`0x5c4e7ba1e219e47948e6e3f55019a647ba501005`](https://optimistic.etherscan.io/address/0x5c4e7ba1e219e47948e6e3f55019a647ba501005) */} diff --git a/pages/chain/security/security-policy.mdx b/pages/chain/security/security-policy.mdx index 1e50b5093..81643aa95 100644 --- a/pages/chain/security/security-policy.mdx +++ b/pages/chain/security/security-policy.mdx @@ -1,56 +1,7 @@ --- -title: Security policy and bug bounty program +title: Security Policy lang: en-US -description: Learn about the bug bounty program and best practices for reporting bugs in OP Stack and OP Mainnet codebase. +description: Learn about best practices for reporting bugs in the Metal L2 codebase. --- import { Callout } from 'nextra/components' - -# Security policy and bug bounty program - -This page describes general best practices for reporting bugs and provides specific reporting guidelines for OP Stack and OP Mainnet code contained within the [ethereum-optimism](https://github.com/ethereum-optimism) GitHub organization. - - - **Do not** disclose vulnerabilities publicly or by executing them against a production network. If you do, you will not only be putting users at risk, but you will forfeit your right to a reward. Always follow the appropriate reporting pathways as described below. - - * **Do not** disclose the vulnerability publicly, for example by filing a public ticket. - * **Do not** test the vulnerability on a publicly available network, either the testnet or the mainnet. - - -## Optimism bug bounty program - -The Optimism Bug Bounty Program offers up to [$2,000,042](https://immunefi.com/bounty/optimism/) for critical vulnerabilities found in the OP Mainnet codebase. -Below you can find information about the various available bug bounty programs and how to report bugs that are not covered by an existing bounty. - -### Main bounty page - -Optimism has a very detailed [Bug Bounty Page on Immunefi](https://immunefi.com/bounty/optimism/). In the listing you can find all the information relating to components in scope, reporting, and the payout process. - -### Unscoped bugs - -If you think you have found a significant bug or vulnerabilities in OP Stack smart contracts, infrastructure, etc., even if that component is not covered by an existing bug bounty, please report it to via the [OP Mainnet Immunefi program](https://immunefi.com/bounty/optimism/). The impact of any and all reported issues will be considered and the program has previously rewarded security researchers for bugs not within its stated scope. - -## Reporting other vulnerabilities - -For vulnerabilities in any websites, email servers, or other non-critical infrastructure within the OP Stack, please contact the Foundation's service provider at [security@oplabs.co](mailto:security@oplabs.co) and include detailed instructions for confirming and reproducing the vulnerability. - -### Vulnerability disclosure - -Each OP Stack component maintainer may determine its own process for vulnerability disclosure. However, the following describes a recommended process for disclosure. - -In the event that an OP Stack component maintainer learns of a critical security vulnerability, the maintainer reserves the right to silently fix it without immediately publicly disclosing the existence or nature of the vulnerability. - -In such a scenario, the disclosure process used is as follows: - -1. Silently fix the vulnerability and include the fix in release X. -2. After 4-8 weeks, disclose that release X contained a security fix. -3. After an additional 4-8 weeks, publish details of the vulnerability, along with credit to the reporter (with express permission from the reporter). - -### Rights of maintainers - -Alongside this policy, maintainers also reserve the right to: - -* Bypass this policy and publish details on a shorter timeline. -* Directly notify a subset of downstream users prior to making a public announcement. - -This policy is based on the [Geth](https://geth.ethereum.org/) team's [silent patch policy](https://geth.ethereum.org/docs/developers/geth-developer/disclosures#why-silent-patches). diff --git a/pages/chain/testing/dev-node.mdx b/pages/chain/testing/dev-node.mdx index 228a1a803..7d22530e7 100644 --- a/pages/chain/testing/dev-node.mdx +++ b/pages/chain/testing/dev-node.mdx @@ -182,7 +182,7 @@ Send some transactions, deploy some contracts, and see what happens! ## Next Steps -* You can [modify the blockchain in various ways](../hacks/overview). +* You can [modify the blockchain in various ways](../../builders/chain-operators/hacks/overview). * Check out the [protocol specs](https://specs.optimism.io/) for more detail about the rollup protocol. -* If you run into any problems, please visit the [Chain Operators Troubleshooting Guide](../management/troubleshooting) +* If you run into any problems, please visit the [Chain Operators Troubleshooting Guide](../../builders/chain-operators/management/troubleshooting) or [file an issue](https://github.com/ethereum-optimism/optimism/issues) for help. diff --git a/pages/chain/tokenlist.mdx b/pages/chain/tokenlist.mdx index 73f4f4c9b..3ef2d6ce7 100644 --- a/pages/chain/tokenlist.mdx +++ b/pages/chain/tokenlist.mdx @@ -9,34 +9,26 @@ import { TokenListTable } from '@/components/TokenListTable' # Bridged token addresses -Various ERC-20 tokens originally deployed to Ethereum also have corresponding "bridged" representations on OP Mainnet. +Various ERC-20 tokens originally deployed to Ethereum also have corresponding "bridged" representations on Metal L2. The [Superchain Token List](https://github.com/ethereum-optimism/ethereum-optimism.github.io) exists to help users discover the correct bridged token addresses for each token. -This page is automatically generated from the Superchain Token List. +{/* This page is automatically generated from the Superchain Token List. */} - +{/* **Tokens listed on this page are provided for convenience only** and are automatically derived from the [Superchain Token List](https://github.com/ethereum-optimism/ethereum-optimism.github.io). **The presence of a token on this page does not imply any endorsement of the token or its minter.** - + */} -### USDC on OP Mainnet +## Metal L2 Mainnet - -The legacy bridged version of USDC (USDC.e) at address `0x7f5c764cbc14f9669b88837ca1490cca17c31607` is being deprecated on OP Mainnet. -Users and developers should migrate to using the native USDC token issued directly by [Circle](https://www.circle.com/en/), the issuer of [USDC](https://www.circle.com/en/usdc?gad_source=1). - +| Name | Symbol | L1 Token | L2 Token | +| ---------------- | ------ | ------------------------------------------ | ------------------------------------------ | +| Wrapped ETH | WETH | | 0x4200000000000000000000000000000000000006 | +| Metal DAO | MTL | 0xCEB1Ad1420252fc66856EB38497C267cF81F67cC | 0xBCFc435d8F276585f6431Fc1b9EE9A850B5C00A9 | +| Bridged USD Coin | USDC.e | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | 0x51E85d70944256710cb141847F1a04f568C1Db0e | -Information about the bridged `USDC.e` token and native USDC token can be found below. +{/* + -| Symbol | Description | Address | -| -------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `USDC.e` | Bridged USDC from Ethereum | [`0x7f5c764cbc14f9669b88837ca1490cca17c31607`](https://optimistic.etherscan.io/token/0x7f5c764cbc14f9669b88837ca1490cca17c31607) | -| `USDC` | Native USDC issued by Circle | [`0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85`](https://optimistic.etherscan.io/token/0x0b2c639c533813f4aa9d7837caf62653d097ff85) | +## Metal L2 Sepolia (Testnet) - -## OP Mainnet - - - -## OP Sepolia - - + */} diff --git a/pages/connect/_meta.json b/pages/connect/_meta.json index 3efad2c2d..8e149c32a 100644 --- a/pages/connect/_meta.json +++ b/pages/connect/_meta.json @@ -1,14 +1,4 @@ { "contribute": "Contribute", - "resources": "Resources", - "live-support": { - "title": "Get Launch Support", - "href": "https://share.hsforms.com/1yENj8CV9TzGYBASD0JC8_gqoshb", - "newWindow": true -}, - "governance": { - "title": "Optimism Governance", - "href": "https://community.optimism.io/docs/governance/", - "newWindow": true - } + "resources": "Resources" } diff --git a/pages/connect/contribute/_meta.json b/pages/connect/contribute/_meta.json index dbfae0745..108b94efa 100644 --- a/pages/connect/contribute/_meta.json +++ b/pages/connect/contribute/_meta.json @@ -1,5 +1,4 @@ { - "docs-contribute": "Contribute to Optimism docs", - "stack-contribute": "Contribute to OP Stack", - "style-guide": "Docs style guide" + "docs-contribute": "Contribute to Metal L2 Docs", + "style-guide": "Docs Style Guide" } \ No newline at end of file diff --git a/pages/connect/contribute/docs-contribute.mdx b/pages/connect/contribute/docs-contribute.mdx index d29189de3..283178544 100644 --- a/pages/connect/contribute/docs-contribute.mdx +++ b/pages/connect/contribute/docs-contribute.mdx @@ -1,30 +1,25 @@ --- -title: Ways to contribute to Optimism Docs +title: Ways to Contribute to Metal L2 Docs lang: en-US -description: Learn about the different ways you can contribute to Optimism Docs. +description: Learn about the different ways you can contribute to Metal L2 Docs. --- import { Callout } from 'nextra/components' -# Contribute to Optimism Docs +# Contribute to Metal L2 Docs -Optimism Docs (docs.optimism.io) is an open-source project, and we welcome your contributions. Here's how you can help grow and support the Optimism Collective. - - - We recently migrated our technical docs from community.optimism.io --> docs.optimism.io. - So, if you contributed to either repo in 2023, don't forget to claim your [POAP token](#claim-your-gitpoap)! - +Metal L2 Docs(docs.metall2.com) is a fork of the Optimism docs, an open-source project. We welcome your contributions. Here's how you can help grow and support Metal L2. Please visit the [Optimism docs](https://docs.optimism.io/connect/contribute/docs-contribute) to contribute to Optimism. ## Ways to contribute -* [Work on a good first issue](https://github.com/ethereum-optimism/docs/labels/good%20first%20issue): make the greatest and most immediate impact with a quick-start or tutorial. These special issues are clearly labeled for new contributors to Optimism. +* [Work on a good first issue](https://github.com/MetalPay/metal-l2-docs/labels/good%20first%20issue): make the greatest and most immediate impact with a quick-start or tutorial. These special issues are clearly labeled for new contributors to Metal L2. * [Edit existing content](#how-to-work-on-docsoptimismio): make tweaks to existing content using the ✏️ **Edit this page on GitHub** or ❤️ **Share general feedback** links on the right-side of any page. -* [Add or update an FAQ item](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=documentation%2Cfaq%2Ccommunity-request\&projects=\&template=suggest_faq_item.yaml\&title=Suggest+an+FAQ+item): +* [Add or update an FAQ item](https://github.com/MetalPay/metal-l2-docs/issues/new?assignees=\&labels=documentation%2Cfaq%2Ccommunity-request\&projects=\&template=suggest_faq_item.yaml\&title=Suggest+an+FAQ+item): add a new FAQ (question+answer set) to an [existing page](/chain/security/faq#security-model-faq), create a new FAQ page, or update an existing FAQ question/answer set. -* [Add or update a troubleshooting item](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=documentation%2Ctroubleshooting%2Ccommunity-request\&projects=\&template=suggest_troubleshooting_item.yaml\&title=Suggest+a+troubleshooting+item): +* [Add or update a troubleshooting item](https://github.com/MetalPay/metal-l2-docs/issues/new?assignees=\&labels=documentation%2Ctroubleshooting%2Ccommunity-request\&projects=\&template=suggest_troubleshooting_item.yaml\&title=Suggest+a+troubleshooting+item): add a new troubleshooting item (problem+solution set) to an [existing page](/builders/chain-operators/management/troubleshooting), create a new troubleshooting page, or update an existing troubleshooting problem/solution set. -* [Add a glossary term](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=glossary%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_glossary_term.yaml\&title=Suggest+a+glossary+term): - help us continue to expand the Optimism [glossary](/connect/resources/glossary). +* [Add a glossary term](https://github.com/MetalPay/metal-l2-docs/issues/new?assignees=\&labels=glossary%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_glossary_term.yaml\&title=Suggest+a+glossary+term): + help us continue to expand the Metal L2 [glossary](/connect/resources/glossary). * [Add a faucet to the developer community](https://github.com/ethereum-optimism/developers/tree/main/community): add a new faucet to the [Faucets page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/faucets.md) or update an existing faucet. * [Add an oracle to the developer community](https://github.com/ethereum-optimism/developers/tree/main/community): @@ -35,60 +30,33 @@ Optimism Docs (docs.optimism.io) is an open-source project, and we welcome your add a new block explorer to the [Block Explorers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/block-explorers.md) or update an existing block explorer. * [Add a blockchain indexer to the developer community](https://github.com/ethereum-optimism/developers/tree/main/community): add a new blockchain indexer to the [Blockchain Indexers page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/blockchain-indexers.md) or update an existing blockchain indexer. -* [Work on an open issue](https://github.com/ethereum-optimism/docs/issues): start with items we've already identified as needing attention, which range from general guides to tutorials and quickstarts. -* [Create new content](https://github.com/ethereum-optimism/docs/issues/new): create new content to add to the technical docs. - Review the [style guide](style-guide) and follow the PR process outlined in the [contributor guidelines](https://github.com/ethereum-optimism/docs/blob/main/CONTRIBUTING.md) to get started. +* [Work on an open issue](https://github.com/MetalPay/metal-l2-docs/issues): start with items we've already identified as needing attention, which range from general guides to tutorials and quickstarts. +* [Create new content](https://github.com/MetalPay/metal-l2-docs/issues/new): create new content to add to the technical docs. + Review the [style guide](style-guide) and follow the PR process outlined in the [contributor guidelines](https://github.com/MetalPay/metal-l2-docs/blob/main/CONTRIBUTING.md) to get started. * [Submit a bug report](https://immunefi.com/bounty/optimism/): create a report to help us improve our products and developer tooling. For more information, please read our [Security Policy](/chain/security/security-policy). -* [Contribute to the Optimism Collective](https://github.com/ethereum-optimism/ecosystem-contributions): select from several different categories where you can make an impact such as - [foundation missions](https://github.com/ethereum-optimism/ecosystem-contributions/issues?q=is%3Aissue+is%3Aopen+label%3A%22Foundation+Mission+%28RFP%29%22) or general [contributor opportunities](https://github.com/ethereum-optimism/ecosystem-contributions/issues?q=is%3Aissue+is%3Aopen+label%3A%22Contribution+Opportunity%22). -## How to work on docs.optimism.io +## How to work on docs.metall2.com Whether you're adding to the site, creating content, or working on open issues, you'll need a [GitHub](https://github.com) account. All updates are made via the GitHub PR process. This means you create a local copy of the website, make your changes and request to merge your changes. -Please see the [contributor guidelines](https://github.com/ethereum-optimism/docs/blob/main/CONTRIBUTING.md) for more details. +Please see the [contributor guidelines](https://github.com/MetalPay/metal-l2-docs/blob/main/CONTRIBUTING.md) for more details. You don't need permission to work on anything, but it's always best to let us know what you're planning to do, so we don't duplicate efforts. You can do this by: -* Commenting on an issue or PR in [GitHub](https://github.com/ethereum-optimism/docs/) -* Messaging us in the [developer support channel](https://github.com/ethereum-optimism/developers/) +* Commenting on an issue or PR in [GitHub](https://github.com/MetalPay/metal-l2-docs/) Before contributing, make sure you're familiar with: -* the [Optimism vision and values](https://www.optimism.io/about) -* our [contributor guidelines](https://github.com/ethereum-optimism/docs/blob/main/CONTRIBUTING.md) +* our [contributor guidelines](https://github.com/MetalPay/metal-l2-docs/blob/main/CONTRIBUTING.md) * our [style guide](style-guide) -* our [code of conduct](https://github.com/ethereum-optimism/.github/blob/master/CODE_OF_CONDUCT.md) ## How decisions about the site are made Decisions about individual PRs, tutorials, and major docs updates are made by the Developer Relations team. -We want to transition to a more community-informed and community-generated approach for the Optimism Docs, so please raise questions in issues, submit PRs, or contact the team: - -* Please contact the Foundation's service provider at [devrel@oplabs.co](mailto:devrel@oplabs.co). -* Raise questions or contact the [developer support channel](https://github.com/ethereum-optimism/developers/). +We want to transition to a more community-informed and community-generated approach for the Metal L2 Docs, so please raise questions in issues, submit PRs, or contact the team: ### A note on plagiarism -Only use your original work or content that you have permission to use when contributing any content or artifact to docs.optimism.io. -Many projects use open-source licensing that allows for the free sharing of information. However, if you cannot find this information, do not attempt to add it to docs.optimism.io. +Only use your original work or content that you have permission to use when contributing any content or artifact to docs.metall2.com. +Many projects use open-source licensing that allows for the free sharing of information. However, if you cannot find this information, do not attempt to add it to docs.metall2.com. Any pull requests deemed as plagiarism will get rejected. - -## Claim your GitPOAP - -We use GitPOAPs to recognize our contributors! GitPOAP automatically recognizes your merged contribution and lets you mint a unique contributors POAP directly on their platform. - -### How to claim - -1. Visit [Optimism's GitPOAP page](https://www.gitpoap.io/gh/ethereum-optimism). -2. Connect with your wallet or your email through sign in option. -3. Search for your GitHub username, ETH address, ENS names or any GitPOAP to check if you're eligible. -4. If your GitHub account is eligible, then you are able to mint a GitPOAP! - - - You should only use self-custody wallets to claim POAPs. Do not use exchange accounts or other accounts you do not hold the private keys to, as these will not allow you to access and manage your POAPs. - - -## Still have questions? - -You can reach us in our developer support [forum](https://github.com/ethereum-optimism/developers/discussions). We look forward to growing the Collective with you! diff --git a/pages/connect/contribute/stack-contribute.mdx b/pages/connect/contribute/stack-contribute.mdx index 22fec79f0..a1693b258 100644 --- a/pages/connect/contribute/stack-contribute.mdx +++ b/pages/connect/contribute/stack-contribute.mdx @@ -14,12 +14,12 @@ The Optimism Collective wins when it works together. ♥️✨ Whether you're a budding chain operator, app developer, node operator, bounty hunter, content creator, or anything in between, the OP Stack always has something for you to contribute to. Every contribution makes a difference — no contribution is too small. If you're ready to contribute, check out one of the following contributor pathways below. -## Component contributions +## Component Contributions The OP Stack is a decentralized development stack and is constantly evolving as new layers and modules are developed. Anyone can contribute components that can be considered part of the OP Stack as long as those components fit the stack's [design principles and goals](/stack/design-principles). To start contributing components to the stack, check out some of these [useful ideas](https://github.com/ethereum-optimism/ecosystem-contributions) and get to building! And don't forget that projects can also receive grants from the Collective via [RetroPGF](https://community.optimism.io/docs/citizen-house/how-retro-funding-works/). -## Codebase contributions +## Codebase Contributions The OP Stack codebase is not a product (in the traditional sense) but rather a collection of software components that power the Optimism ecosystem. If you'd like to contribute to the current release of OP Stack codebase, rather than creating new components, your contribution would be greatly appreciated. @@ -33,15 +33,15 @@ To make your first contribution to the codebase, check out the [open issues](htt Developer support for OP Stack Hacks is limited — when in doubt, stick to the capabilities of the current release! -## Bounty hunting +## Bounty Hunting The OP Stack needs YOU (yes you!) to help review the codebase for bugs and vulnerabilities. If you're interested in bounty hunting, check out our [Security Policy, Vulnerability Reporting, and Bug Bounties page](/chain/security/security-policy). -## Docs contributions +## Docs Contributions -Want a new tutorial? See something that could be a little clearer? Check out the [Optimism Docs Contribution page](docs-contribute) for more information on how to help. No contribution is too small! +Want a new tutorial? See something that could be a little clearer? Check out the [Metal L2 DocsContribution page](docs-contribute) for more information on how to help. No contribution is too small! -## Community contributions +## Community Contributions If you're looking for other ways to get involved, here are a few options: diff --git a/pages/connect/contribute/style-guide.mdx b/pages/connect/contribute/style-guide.mdx index de6691ba6..7bf604387 100644 --- a/pages/connect/contribute/style-guide.mdx +++ b/pages/connect/contribute/style-guide.mdx @@ -1,19 +1,16 @@ --- -title: Optimism Docs style guide +title: Metal L2 Docs Style Guide lang: en-US -description: This guide explains how to write technical content for Optimism Docs using a consistent voice, tone, and style. +description: This guide explains how to write technical content for Metal L2 Docs using a consistent voice, tone, and style. --- import { Callout } from 'nextra/components' # Docs style guide -This Style Guide aims to assist Optimists in writing technical content with a consistent voice, tone, and style. See the [glossary](/connect/resources/glossary) for an alphabetical listing of commonly used words, terms, and concepts used throughout the technical docs and across the OP Collective. - -This doc doesn't cover all questions or use-cases. Our guide is based on the [Microsoft Writing Style Guide](https://learn.microsoft.com/en-us/style-guide/welcome/). Please reference their guide for any use-case or situation we do not cover here. +This Style Guide aims to assist Metal L2 contributors in writing technical content with a consistent voice, tone, and style. See the [glossary](/connect/resources/glossary) for an alphabetical listing of commonly used words, terms, and concepts used throughout the technical docs and across the OP Collective. * For docs-related questions or comments, create an issue in the [docs repo](https://github.com/ethereum-optimism/docs/issues). -* For support-related questions or comments, create an issue in the [developers repo](https://github.com/ethereum-optimism/developers/issues). **Table of Contents** @@ -29,7 +26,7 @@ This doc doesn't cover all questions or use-cases. Our guide is based on the [Mi ### Folder structure -The folder structure for the [docs.optimism.io](https://github.com/ethereum-optimism/docs) repository is organized into several high-level categories under the main `pages` folder such as `builders`, `chain`, `connect`, and `stack`. +The folder structure for the [docs.metall2.com](https://github.com/ethereum-optimism/docs) repository is organized into several high-level categories under the main `pages` folder such as `builders`, `chain`, `connect`, and `stack`. The left sidebar (side navigation) is managed in the `_meta.json` file, which should be edited only for adding or deleting pages. Frequent edits may lead to merge conflicts due to ongoing content updates. Accept changes from others when committing a PR. @@ -53,7 +50,7 @@ File paths, when mentioned **within** a docs page, should be formatted as code s ### Voice and tone -Write in a friendly, yet professional tone. We are upbeat, knowledgeable, and **optimistic** about the development of the Optimism Collective, which we try our best to convey in our technical documentation. +Write in a friendly, yet professional tone. We are upbeat, knowledgeable, and **optimistic** about the development of Metal Layer 2, which we try our best to convey in our technical documentation. ### Clear and concise language @@ -258,7 +255,7 @@ import Image from 'next/image' /> ``` -* Icons come from [Remix](https://remixicon.com/) to maintain consistency across the docs. Use Optimism Red `FF0420` to color icons before downloading and store icons in `public/img/icons` directory. +* Icons come from [Remix](https://remixicon.com/) to maintain consistency across the docs. Use Metal L2 Yellow `FF0420` to color icons before downloading and store icons in `public/img/icons` directory. ### Videos @@ -435,7 +432,7 @@ The heading level for FAQs will vary based on if it's an FAQ-only doc or if FAQs 4. Enter the information, and click **Save**. -Include a category heading when you need to group related FAQ content (e.g., See the Optimism Glossary for a detailed example). Category headings are optional, but helpful, for longer FAQs. +Include a category heading when you need to group related FAQ content (e.g., See the our glossary for a detailed example). Category headings are optional, but helpful, for longer FAQs. ### Troubleshooting guides @@ -507,7 +504,7 @@ Please use `*` instead of `-` for items in a list. This maintains consistency ac * **Commas (,)** Use a serial comma in lists of three or more items and use the oxford comma preceding the "and" before the last element in a list. - **Example**: The developer built a node, social app, and DeFi app for the Optimism Collective. + **Example**: The developer built a node, social app, and DeFi app for Metal Layer 2. * **Em dash (—)** Use to indicate a break in thought or a parenthetical comment. Do not add spaces around the em dash. diff --git a/pages/connect/resources/glossary.mdx b/pages/connect/resources/glossary.mdx index e1c411053..53b845871 100644 --- a/pages/connect/resources/glossary.mdx +++ b/pages/connect/resources/glossary.mdx @@ -1,14 +1,14 @@ --- title: Glossary lang: en-US -description: Learn the meaning of important terminology used throughout the Optimism Developer Documentation. +description: Learn the meaning of important terminology used throughout the Developer Documentation. --- import { Callout } from 'nextra/components' # Glossary -The glossary provides definitions of important terminology used throughout the Optimism Developer Documentation. To make revisions to this page, please [submit an issue](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=glossary%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_glossary_term.yaml\&title=%5BGLOSSARY%5D+Add+PR+title). +The glossary provides definitions of important terminology used throughout the Developer Documentation. To make revisions to this page, please [submit an issue](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=glossary%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_glossary_term.yaml\&title=%5BGLOSSARY%5D+Add+PR+title). ## Table of contents @@ -55,24 +55,18 @@ come from L1 block synchronization or from a block freshly minted by the executi at the request of the L1 consensus layer. On L2, the executed blocks are freshly minted by the execution engine at the request of the [rollup node](#rollup-node), using transactions [derived from L1 blocks](#l2-chain-derivation). -#### Optimism collective -The Optimism Collective is a band of people, projects, and companies working together to build a better economy for everyone, -united by a mutually beneficial pact to adhere to the axiom of impact=profit — the principle that positive impact to the collective should be rewarded with profit to the individual. -New model of digital democratic governance optimized to drive rapid and sustained growth of a decentralized ecosystem. +#### MTL Token - -#### OP token - -A governance token, referred to as "OP." Content should not discuss the token price or speculate on the price, and content that refers to OP incorrectly will be removed from Optimism platforms and will not be eligible for promotion. +A governance token, referred to as "MTL." Content should not discuss the token price or speculate on the price. #### Layer 1 (L1) -Refers the Ethereum blockchain, used in contrast to [layer 2](#layer-2-l2), which refers to Optimism. +Refers to the Ethereum blockchain, used in contrast to [layer 2](#layer-2-l2), which refers to Metal L2. #### Layer 2 (L2) -Refers to the Optimism blockchain and is used in contrast to [layer 1](#layer-1-l1), which refers to the Ethereum blockchain. +Refers to the Metal L2 blockchain and is used in contrast to [layer 1](#layer-1-l1), which refers to the Ethereum blockchain. #### L2 output root @@ -358,7 +352,7 @@ of the channel are seen, or else these frames are ignored.) #### Data Availability Guarantee that some data will be "available" (i.e. *retrievable*) during a reasonably long time -window. In Optimism's case, the data in question are [sequencer batches](#sequencer-batch) that [validators](#validator) +window. In Metal L2's case, the data in question are [sequencer batches](#sequencer-batch) that [validators](#validator) needs in order to verify the sequencer's work and validate the L2 chain. The [finalization period](#finalization-period) should be taken as the lower bound on the availability window, since that is when data availability is the most crucial, as it is needed to perform a [fault proof](#fault-proof). "Availability" **does not** mean guaranteed long-term storage of the data. diff --git a/pages/index.mdx b/pages/index.mdx index 103e7d984..90cbd7066 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -1,26 +1,23 @@ --- -title: Welcome to the Optimism Docs +title: Welcome to the Metal L2 Docs lang: en-US -description: Learn about the Optimism Collective, the Optimism Docs, and how to get started building with Optimism. +description: Learn about the Metal DAO, the Metal L2 Docs, and how to get started building with Metal L2. --- import { Cards, Card } from 'nextra/components' -# Welcome to the Optimism Docs +# Welcome to the Metal L2 Docs -Welcome to the Optimism Docs, the unified home of the [Optimism Collective's](/connect/resources/glossary#optimism-collective) technical documentation and information about the [OP Stack](/stack/getting-started). -Information about the Optimism Collective's governance, community, and mission can be found on the [Optimism Community Hub](https://community.optimism.io/docs/governance/). +Welcome to Metal L2 Docs, the unified home of [Metal L2's](/connect/resources/glossary#metal-l2) technical documentation and information about the [OP Stack](/stack/getting-started) that Metal L2 is built on. -## Guides for builders +Information about Metal DAO's governance, community, and mission can be found on the [Metal L2 Website](https://metall2.com) -Whether you're a developer building an app on OP Mainnet, a node operator running an OP Mainnet node, or a chain operator launching your own OP Stack chain, you'll find everything you need to get started right here. +Whether you're a developer building an app on Metal L2 or a node operator running a Metal L2 node you'll find everything you need to get started right here. - } /> + } /> - } /> - - } /> + } /> } /> @@ -28,34 +25,37 @@ Whether you're a developer building an app on OP Mainnet, a node operator runnin -## Featured tools +## Featured Superchain tools -Check out these amazing tools, so you can get building with Optimism. +Check out these amazing tools, so you can get building on Metal L2. - } /> + } /> - } /> + } /> - } /> + } /> - } /> + } /> - } /> + } /> -## Learn about Optimism +## Learn About Metal L2 + +Metal L2 is an [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) Layer 2 blockchain connected to Ethereum built on the Superchain using the OP Stack. + +The OP Stack is the standardized, shared, and open-source development stack for the Superchain that makes it easy for production-ready Layer 2 blockchains just like Metal L2 to benefit from shared security, scalability, interoperability, ecosystem support and economic efficiency. -OP Mainnet is an [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) Layer 2 blockchain connected to Ethereum. -The OP Stack is the standardized, shared, and open-source development stack that makes it easy to spin up your own production-ready Layer 2 blockchain just like OP Mainnet. The Superchain is a network of OP Stack chains that share a bridging protocol, governance system, and more. -We've got you covered with these detailed guides to help you learn all about Optimism's tech stack. + +These documents should have you covered with detailed guides to help you learn all about Metal L2's tech stack. - } /> + } /> } /> - } /> + } /> diff --git a/pages/stack/fault-proofs/challenger.mdx b/pages/stack/fault-proofs/challenger.mdx index 17be766d5..1e90da138 100644 --- a/pages/stack/fault-proofs/challenger.mdx +++ b/pages/stack/fault-proofs/challenger.mdx @@ -31,7 +31,7 @@ graph TD; OPP -->|Resolves Claims| DG DG -->|Claims Paid| Bonds[Bonds for Challenger and Proposer] - classDef default fill:#00,stroke:#FF0420,stroke-width:2px; + classDef default fill:#00,stroke:#FC9237,stroke-width:2px; ``` diff --git a/pages/stack/fault-proofs/fp-components.mdx b/pages/stack/fault-proofs/fp-components.mdx index d3132d21e..27419c4d5 100644 --- a/pages/stack/fault-proofs/fp-components.mdx +++ b/pages/stack/fault-proofs/fp-components.mdx @@ -45,7 +45,7 @@ All data is retrieved via the [Preimage Oracle API](https://specs.optimism.io/ex ## Fault proof virtual machine The Fault Proof Virtual Machine (FPVM) is one of the modules in the OP Stack's fault proof system. -OP Stack's modularity decouples the Fault Proof Program (FPP) from the Fault Proof Virtual Machine (FPVM) to enable next-level composability and efficient parallelized upgrades to both components. The FPP (client-side) that runs within the FPVM is the part that expresses the L2 state-transition, and the interface between FPVM and FPP is standardized and documented in the [specs](https://github.com/ethereum-optimism/optimism/blob/546fb2c7a5796b7fe50b0b7edc7666d3bd281d6f/specs/cannon-fault-proof-vm.md). +OP Stack's modularity decouples the Fault Proof Program (FPP) from the Fault Proof Virtual Machine (FPVM) to enable next-level composability and efficient parallelized upgrades to both components. The FPP (client-side) that runs within the FPVM is the part that expresses the L2 state-transition, and the interface between FPVM and FPP is standardized and documented in the specs. Through this separation, the VM stays ultra-minimal: Ethereum protocol changes, like EVM op-code additions, do not affect the VM. Instead, when the protocol changes, the FPP can simply be updated to import the new state-transition components from the node software. Similar to playing a new version of a game on the same game console, the L1 proof system can be updated to prove a different program. diff --git a/pages/stack/getting-started.mdx b/pages/stack/getting-started.mdx index 384c5cab7..8be73a2aa 100644 --- a/pages/stack/getting-started.mdx +++ b/pages/stack/getting-started.mdx @@ -58,7 +58,7 @@ The OP Stack is an evolving concept. As Optimism grows, so will the OP Stack. Today, the Bedrock Release of the OP Stack simplifies the process of deploying new L2 Rollups. As work on the stack continues, it should become easier to plug in and configure different modules. -As the [Superchain](explainer) begins to take shape, the OP Stack can evolve alongside it, to include the message-passing infrastructure that allows different chains to interoperate seamlessly. +As the Superchain begins to take shape, the OP Stack can evolve alongside it, to include the message-passing infrastructure that allows different chains to interoperate seamlessly. At the end of the day, the OP Stack becomes what Optimism needs. ## Dive deeper into the OP Stack @@ -67,6 +67,5 @@ Ready to dive into the world of the OP Stack? * If you're interested in learning more about the current release of the OP Stack, check out the Bedrock Release page. * If you're interested in understanding the OP Stack in more depth, start with the [Design Principles](design-principles) and [Components Overview](components). -* If you're excited to join the Superchain, launch your first Superchain-ready L2 with our [Getting Started guide](explainer) or dive directly into the OP Stack codebase to learn more. The OP Stack is the next frontier for Ethereum. You're already here, so what are you waiting for? diff --git a/pages/stack/interop/assets/transfer-superchainERC20.mdx b/pages/stack/interop/assets/transfer-superchainERC20.mdx index 18e9fa29a..9a17dcacd 100644 --- a/pages/stack/interop/assets/transfer-superchainERC20.mdx +++ b/pages/stack/interop/assets/transfer-superchainERC20.mdx @@ -91,7 +91,7 @@ sequenceDiagram 3. The message relay will trigger the minting of tokens on the destination chain - The transfer isn't complete until the message is successfully relayed on the destination chain. See the [technical reference guide](https://supersim.pages.dev/guides/interop/manually-relaying-interop-messages-cast) for specific relay instructions. + The transfer isn't complete until the message is successfully relayed on the destination chain. See the [technical reference guide](https://supersim.pages.dev/guides/interop/cast) for specific relay instructions. ### Step 4: Verify completion @@ -103,15 +103,15 @@ sequenceDiagram 3. The tokens should now be available for use on the destination chain -For detailed technical instructions including contract addresses, specific commands, and message relaying details, refer to our [technical reference guide](https://supersim.pages.dev/guides/interop/manually-relaying-interop-messages-cast). +For detailed technical instructions including contract addresses, specific commands, and message relaying details, refer to our [technical reference guide](https://supersim.pages.dev/guides/interop/cast). ## Alternative methods You can also use: -* [viem bindings/actions](https://supersim.pages.dev/guides/interop/relay-using-viem) for TypeScript integration +* [viem bindings/actions](https://supersim.pages.dev/guides/interop/viem) for TypeScript integration ## Next steps * Read the [Superchain Interop Explainer](/stack/interop/explainer#faqs) or check out this [Superchain interop design video walk-thru](https://www.youtube.com/watch?v=FKc5RgjtGes) -* Use [Supersim](supersim), a local dev environment that simulates Superchain interop for testing applications against a local version of the Superchain +* Use [Supersim](../../interop/supersim), a local dev environment that simulates Superchain interop for testing applications against a local version of the Superchain diff --git a/pages/stack/interop/cross-chain-message.mdx b/pages/stack/interop/cross-chain-message.mdx index bd201b6e5..9353d563d 100644 --- a/pages/stack/interop/cross-chain-message.mdx +++ b/pages/stack/interop/cross-chain-message.mdx @@ -9,7 +9,7 @@ import Image from 'next/image' # Anatomy of a cross-chain message -A cross-chain message refers to any communication sent using Superchain interop. This includes messages sent between different chains within an interop cluster, as well as messages sent on a single chain for interoperable. This functionality enables asset transfers that utilize the [SuperchainERC20](superchain-erc20) token standard. +A cross-chain message refers to any communication sent using Superchain interop. This includes messages sent between different chains within an interop cluster, as well as messages sent on a single chain for interoperable. This functionality enables asset transfers that utilize the [SuperchainERC20](assets/superchain-erc20) token standard. ## How it works diff --git a/pages/stack/interop/explainer.mdx b/pages/stack/interop/explainer.mdx index f1e7522f0..e54633110 100644 --- a/pages/stack/interop/explainer.mdx +++ b/pages/stack/interop/explainer.mdx @@ -27,7 +27,7 @@ In a practical sense, this allows users to securely and easily move ETH and toke Superchain interop includes both the protocol layer message passing and the Superchain ERC20 token specification. * **Message passing protocol:** the initial + finalizing/executing [message](cross-chain-message) that fire events to be consumed by the chains in the [dependency set](https://specs.optimism.io/interop/dependency-set.html) -* **SuperchainERC20 token specification**: the [SuperchainERC20](superchain-erc20) turns message passing into asset transfer between chains in the interop set. Learn more about how the SuperchainERC20 token standard enables asset interoperability in the Superchain [here](/stack/interop/assets/superchain-erc20) +* **SuperchainERC20 token specification**: the [SuperchainERC20](assets/superchain-erc20) turns message passing into asset transfer between chains in the interop set. Learn more about how the SuperchainERC20 token standard enables asset interoperability in the Superchain [here](/stack/interop/assets/superchain-erc20) This means ETH and ERC-20s can seamlessly and securely move across L2s, and intent-based protocols (i.e., bridges) can build better experiences on top of the message passing protocol. diff --git a/pages/stack/interop/message-passing.mdx b/pages/stack/interop/message-passing.mdx index 3be6ed39c..b12542fcd 100644 --- a/pages/stack/interop/message-passing.mdx +++ b/pages/stack/interop/message-passing.mdx @@ -48,7 +48,7 @@ Cross-chain messaging involves four main phases: 4. **Message Execution**: The destination chain receives and processes the message, executing any associated actions or state changes specified in the original message. -For detailed implementation steps and code examples, see our [message passing implementation guide](https://supersim.pages.dev/guides/interop/relay-using-viem.html). +For detailed implementation steps and code examples, see our [message passing implementation guide](https://supersim.pages.dev/guides/interop/viem). ## Common Use Cases @@ -57,10 +57,10 @@ For detailed implementation steps and code examples, see our [message passing im * Cross-chain state synchronization * Token transfers and bridging -For a practical example, see our [cross-chain ping pong tutorial](https://supersim.pages.dev/guides/interop/cross-chain-contract-via-l2cdm). +For a practical example, see our [cross-chain ping pong tutorial](https://supersim.pages.dev/guides/interop/cross-chain-contract-calls-pingpong). ## Next steps * Read about the [anatomy of a cross-chain message](/stack/interop/cross-chain-message) * Try [Supersim](supersim) for testing cross-chain messages locally -* Learn about [manually relaying messages](https://supersim.pages.dev/guides/interop/manually-relaying-interop-messages-cast) +* Learn about [manually relaying messages](https://supersim.pages.dev/guides/interop/cast) diff --git a/pages/stack/smart-contracts.mdx b/pages/stack/smart-contracts.mdx index bb6a29f5d..4e03cd686 100644 --- a/pages/stack/smart-contracts.mdx +++ b/pages/stack/smart-contracts.mdx @@ -18,7 +18,7 @@ valid state root of the layer 2. ### Official releases -The full smart contract release process is documented in the [monorepo](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/VERSIONING.md). +The full smart contract release process is documented in the [monorepo](https://github.com/ethereum-optimism/optimism?tab=readme-ov-file#development-and-release-process). All production releases are always tagged, versioned as `/v`. Contract releases have a component name of `op-contracts` and therefore are tagged as `op-contract/vX.Y.Z`. diff --git a/pages/superchain/superchain-registry.mdx b/pages/superchain/superchain-registry.mdx index e808ab4d7..28c5ca30d 100644 --- a/pages/superchain/superchain-registry.mdx +++ b/pages/superchain/superchain-registry.mdx @@ -25,7 +25,3 @@ You can find more details in the [Standard Rollup Charter documentation](/superc We **strongly** recommend using the [op-deployer](/builders/chain-operators/tools/op-deployer) to deploy L1 contracts and generate the L2 genesis file that meet the configuration requirements outlined in the [Standard Rollup Charter](/superchain/blockspace-charter). - -## Joining the Registry - -All Superchain Ecosystem members are welcome to join the Superchain Registry, regardless of whether they adhere to the standard rollup charter or not. To join the Registry, [follow the steps in this guide](https://github.com/ethereum-optimism/superchain-registry/blob/main/docs/add-chain.md) to submit a pull request and join the Superchain Ecosystem. This guide will help you set up your chain, create your environment, and run all the validation checks needed to ensure your chain is ready to join the Registry. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 957bdf4e6..29b30f092 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,20 +20,20 @@ importers: .: dependencies: '@eth-optimism/contracts-ts': - specifier: ^0.17.0 - version: 0.17.0(typescript@5.3.2)(zod@3.22.4) + specifier: ^0.17.2 + version: 0.17.2(@types/react@19.0.2)(typescript@5.4.5)(zod@3.24.1) '@eth-optimism/tokenlist': - specifier: ^9.0.9 - version: 9.0.9 + specifier: ^10.0.193 + version: 10.0.193 '@feelback/react': specifier: ^0.3.4 - version: 0.3.4(react@18.2.0) + version: 0.3.4(react@18.3.1) '@headlessui/react': specifier: ^2.1.8 - version: 2.1.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) algoliasearch: specifier: ^4.23.3 - version: 4.23.3 + version: 4.24.0 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -42,56 +42,56 @@ importers: version: 5.0.0 next: specifier: 14.2.15 - version: 14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-sitemap: specifier: ^4.2.3 - version: 4.2.3(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + version: 4.2.3(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) nextra: specifier: 2.13.2 - version: 2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nextra-theme-docs: specifier: 2.13.2 - version: 2.13.2(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(nextra@2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.13.2(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) search-insights: specifier: ^2.15.0 - version: 2.15.0 + version: 2.17.3 viem: specifier: ^2.21.18 - version: 2.21.37(typescript@5.3.2)(zod@3.22.4) + version: 2.21.57(typescript@5.4.5)(zod@3.24.1) devDependencies: '@double-great/remark-lint-alt-text': specifier: ^1.0.0 version: 1.0.0 '@eth-optimism/core-utils': - specifier: ^0.13.1 - version: 0.13.1 + specifier: ^0.13.2 + version: 0.13.2 '@eth-optimism/sdk': - specifier: ^3.1.6 - version: 3.1.6(ethers@5.7.2) + specifier: ^3.3.3 + version: 3.3.3(ethers@5.7.2) '@types/node': specifier: 18.11.10 version: 18.11.10 cspell: specifier: ^8.1.3 - version: 8.1.3 + version: 8.7.0 eslint: specifier: ^8.53.0 - version: 8.54.0 + version: 8.57.0 eslint-plugin-mdx: specifier: ^2.2.0 - version: 2.2.0(eslint@8.54.0) + version: 2.3.4(eslint@8.57.0) ethers: specifier: ^5 version: 5.7.2 globby: specifier: ^11.0.4 - version: 11.0.4 + version: 11.1.0 gray-matter: specifier: ^4.0.3 version: 4.0.3 @@ -136,7 +136,7 @@ importers: version: 6.1.3 typescript: specifier: ^5.2.2 - version: 5.3.2 + version: 5.4.5 unified-lint-rule: specifier: ^2.1.2 version: 2.1.2 @@ -146,79 +146,39 @@ importers: packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - '@adraffy/ens-normalize@1.10.0': - resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - '@adraffy/ens-normalize@1.11.0': resolution: {integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==} - '@algolia/cache-browser-local-storage@4.23.3': - resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} - - '@algolia/cache-common@4.23.3': - resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} - - '@algolia/cache-in-memory@4.23.3': - resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} - - '@algolia/client-account@4.23.3': - resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} - - '@algolia/client-analytics@4.23.3': - resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} - - '@algolia/client-common@4.23.3': - resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} - - '@algolia/client-personalization@4.23.3': - resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} - - '@algolia/client-search@4.23.3': - resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} - - '@algolia/logger-common@4.23.3': - resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} - - '@algolia/logger-console@4.23.3': - resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} - - '@algolia/recommend@4.23.3': - resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} - - '@algolia/requester-browser-xhr@4.23.3': - resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} - - '@algolia/requester-common@4.23.3': - resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} - - '@algolia/requester-node-http@4.23.3': - resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} - - '@algolia/transporter@4.23.3': - resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} - '@apidevtools/json-schema-ref-parser@11.1.0': resolution: {integrity: sha512-g/VW9ZQEFJAOwAyUb8JFf7MLiLy2uEB4rU270rGzDwICxnxMlPy0O11KVePSgS36K1NI29gSlK84n5INGhd4Ag==} engines: {node: '>= 16'} - '@babel/code-frame@7.23.4': - resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.23.4': - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.24.4': + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.23.2': - resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} '@braintree/sanitize-url@6.0.4': @@ -227,47 +187,47 @@ packages: '@corex/deepmerge@4.0.43': resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==} - '@cspell/cspell-bundled-dicts@8.1.3': - resolution: {integrity: sha512-TwLyL2bCtetXGhMudjOIgFPAsWF2UkT0E7T+DAZG8aUBfHoC/eco/sTmR6UJVpi6Crjs0YOQkFUBGrQ2pxJPcA==} + '@cspell/cspell-bundled-dicts@8.7.0': + resolution: {integrity: sha512-B5YQI7Dd9m0JHTmHgs7PiyP4BWXzl8ixpK+HGOwhxzh7GyfFt1Eo/gxMxBDX/9SaewEzeb2OjRpRKEFtEsto3A==} engines: {node: '>=18'} - '@cspell/cspell-json-reporter@8.1.3': - resolution: {integrity: sha512-9iOU0Y733XuF0cqC7xwzJkOKFdJ65rYGnHFdUHzr5lxEqeG9X/jhlkzyHuGGOhPxkUeFP1x9XoLhXo1isMDbKA==} + '@cspell/cspell-json-reporter@8.7.0': + resolution: {integrity: sha512-LTQPEvXvCqnc+ok9WXpSISZyt4/nGse9fVEM430g0BpGzKpt3RMx49B8uasvvnanzCuikaW9+wFLmwgvraERhA==} engines: {node: '>=18'} - '@cspell/cspell-pipe@8.1.3': - resolution: {integrity: sha512-/dcnyLDeyFuoX4seZv7VsDQyRpt3ZY0vjZiDpqFul8hPydM8czLyRPPMD6Za+Gqg6dZmh9+VsQWK52hVsqc0QA==} + '@cspell/cspell-pipe@8.7.0': + resolution: {integrity: sha512-ePqddIQ4arqPQgOkC146SkZxvZb9/jL7xIM5Igy2n3tiWTC5ijrX/mbHpPZ1VGcFck+1M0cJUuyhuJk+vMj3rg==} engines: {node: '>=18'} - '@cspell/cspell-resolver@8.1.3': - resolution: {integrity: sha512-bGyJYqkHRilqhyKGL/NvODN5U+UvCuQo7kxgt0i3Vd7m7k6XYLsSLYZ4w6r1S5IQ/ybU8I5lh6/6fNqKwvo9eg==} + '@cspell/cspell-resolver@8.7.0': + resolution: {integrity: sha512-grZwDFYqcBYQDaz4AkUtdyqc4UUH2J3/7yWVkBbYDPE+FQHa9ofFXzXxyjs56GJlPfi9ULpe5/Wz6uVLg8rQkQ==} engines: {node: '>=18'} - '@cspell/cspell-service-bus@8.1.3': - resolution: {integrity: sha512-8E5ZveQKneNfK+cuFMy0y6tDsho71UPppEHNoLZsEFDbIxDdtQcAfs0pk4nwEzxPBt+dBB+Yl8KExQ6x2FAYQw==} + '@cspell/cspell-service-bus@8.7.0': + resolution: {integrity: sha512-KW48iu0nTDzbedixc7iB7K7mlAZQ7QeMLuM/akxigOlvtOdVJrRa9Pfn44lwejts1ANb/IXil3GH8YylkVi76Q==} engines: {node: '>=18'} - '@cspell/cspell-types@8.1.3': - resolution: {integrity: sha512-j14FENj+DzWu6JjzTl+0X5/OJv9AEckpEp6Jaw9YglxirrBBzTkZGfoLePe/AWo/MlIYp0asl92C1UHEjgz+FQ==} + '@cspell/cspell-types@8.7.0': + resolution: {integrity: sha512-Rb+LCE5I9JEb/LE8nSViVSF8z1CWv/z4mPBIG37VMa7aUx2gAQa6gJekNfpY9YZiMzx4Tv3gDujN80ytks4pGA==} engines: {node: '>=18'} '@cspell/dict-ada@4.0.2': resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} - '@cspell/dict-aws@4.0.0': - resolution: {integrity: sha512-1YkCMWuna/EGIDN/zKkW+j98/55mxigftrSFgsehXhPld+ZMJM5J9UuBA88YfL7+/ETvBdd7mwW6IwWsC+/ltQ==} + '@cspell/dict-aws@4.0.1': + resolution: {integrity: sha512-NXO+kTPQGqaaJKa4kO92NAXoqS+i99dQzf3/L1BxxWVSBS3/k1f3uhmqIh7Crb/n22W793lOm0D9x952BFga3Q==} '@cspell/dict-bash@4.1.3': resolution: {integrity: sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==} - '@cspell/dict-companies@3.0.28': - resolution: {integrity: sha512-UinHkMYB/1pUkLKm1PGIm9PBFYxeAa6YvbB1Rq/RAAlrs0WDwiDBr3BAYdxydukG1IqqwT5z9WtU+8D/yV/5lw==} + '@cspell/dict-companies@3.0.31': + resolution: {integrity: sha512-hKVpV/lcGKP4/DpEPS8P4osPvFH/YVLJaDn9cBIOH6/HSmL5LbFgJNKpMGaYRbhm2FEX56MKE3yn/MNeNYuesQ==} - '@cspell/dict-cpp@5.0.10': - resolution: {integrity: sha512-WCRuDrkFdpmeIR6uXQYKU9loMQKNFS4bUhtHdv5fu4qVyJSh3k/kgmtTm1h1BDTj8EwPRc/RGxS+9Z3b2mnabA==} + '@cspell/dict-cpp@5.1.3': + resolution: {integrity: sha512-sqnriXRAInZH9W75C+APBh6dtben9filPqVbIsiRMUXGg+s02ekz0z6LbS7kXeJ5mD2qXoMLBrv13qH2eIwutQ==} - '@cspell/dict-cryptocurrencies@4.0.0': - resolution: {integrity: sha512-EiZp91ATyRxTmauIQfOX9adLYCunKjHEh092rrM7o2eMXP9n7zpXAL9BK7LviL+LbB8VDOm21q+s83cKrrRrsg==} + '@cspell/dict-cryptocurrencies@5.0.0': + resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==} '@cspell/dict-csharp@4.0.2': resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} @@ -293,14 +253,14 @@ packages: '@cspell/dict-elixir@4.0.3': resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==} - '@cspell/dict-en-common-misspellings@1.0.2': - resolution: {integrity: sha512-jg7ZQZpZH7+aAxNBlcAG4tGhYF6Ksy+QS5Df73Oo+XyckBjC9QS+PrRwLTeYoFIgXy5j3ICParK5r3MSSoL4gw==} + '@cspell/dict-en-common-misspellings@2.0.0': + resolution: {integrity: sha512-NOg8dlv37/YqLkCfBs5OXeJm/Wcfb/CzeOmOZJ2ZXRuxwsNuolb4TREUce0yAXRqMhawahY5TSDRJJBgKjBOdw==} '@cspell/dict-en-gb@1.1.33': resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} - '@cspell/dict-en_us@4.3.12': - resolution: {integrity: sha512-1bsUxFjgxF30FTzcU5uvmCvH3lyqVKR9dbwsJhomBlUM97f0edrd6590SiYBXDm7ruE68m3lJd4vs0Ev2D6FtQ==} + '@cspell/dict-en_us@4.3.19': + resolution: {integrity: sha512-tHcXdkmm0t9LlRct1vgu3+h0KW/wlXCInkTiR4D/rl730q1zu2qVEgiy1saMiTUSNmdu7Hiy+Mhb+1braVqnZQ==} '@cspell/dict-filetypes@3.0.3': resolution: {integrity: sha512-J9UP+qwwBLfOQ8Qg9tAsKtSY/WWmjj21uj6zXTI9hRLD1eG1uUOLcfVovAmtmVqUWziPSKMr87F6SXI3xmJXgw==} @@ -314,11 +274,11 @@ packages: '@cspell/dict-fullstack@3.1.5': resolution: {integrity: sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA==} - '@cspell/dict-gaming-terms@1.0.4': - resolution: {integrity: sha512-hbDduNXlk4AOY0wFxcDMWBPpm34rpqJBeqaySeoUH70eKxpxm+dvjpoRLJgyu0TmymEICCQSl6lAHTHSDiWKZg==} + '@cspell/dict-gaming-terms@1.0.5': + resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==} - '@cspell/dict-git@2.0.0': - resolution: {integrity: sha512-n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w==} + '@cspell/dict-git@3.0.0': + resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==} '@cspell/dict-golang@6.0.5': resolution: {integrity: sha512-w4mEqGz4/wV+BBljLxduFNkMrd3rstBNDXmoX5kD4UTzIb4Sy0QybWCtg2iVT+R0KWiRRA56QKOvBsgXiddksA==} @@ -335,6 +295,9 @@ packages: '@cspell/dict-java@5.0.6': resolution: {integrity: sha512-kdE4AHHHrixyZ5p6zyms1SLoYpaJarPxrz8Tveo6gddszBVVwIUZ+JkQE1bWNLK740GWzIXdkznpUfw1hP9nXw==} + '@cspell/dict-julia@1.0.1': + resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} + '@cspell/dict-k8s@1.0.2': resolution: {integrity: sha512-tLT7gZpNPnGa+IIFvK9SP1LrSpPpJ94a/DulzAPOb1Q2UBFwdpFd82UWhio0RNShduvKG/WiMZf/wGl98pn+VQ==} @@ -350,41 +313,44 @@ packages: '@cspell/dict-makefile@1.0.0': resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==} + '@cspell/dict-monkeyc@1.0.6': + resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==} + '@cspell/dict-node@4.0.3': resolution: {integrity: sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==} - '@cspell/dict-npm@5.0.13': - resolution: {integrity: sha512-uPb3DlQA/FvlmzT5RjZoy7fy91mxMRZW1B+K3atVM5A/cmP1QlDaSW/iCtde5kHET1MOV7uxz+vy0Yha2OI5pQ==} + '@cspell/dict-npm@5.0.15': + resolution: {integrity: sha512-sX0X5YWNW54F4baW7b5JJB6705OCBIZtUqjOghlJNORS5No7QY1IX1zc5FxNNu4gsaCZITAmfMi4ityXEsEThA==} - '@cspell/dict-php@4.0.4': - resolution: {integrity: sha512-fRlLV730fJbulDsLIouZxXoxHt3KIH6hcLFwxaupHL+iTXDg0lo7neRpbqD5MScr/J3idEr7i9G8XWzIikKFug==} + '@cspell/dict-php@4.0.6': + resolution: {integrity: sha512-ySAXisf7twoVFZqBV2o/DKiCLIDTHNqfnj0EfH9OoOUR7HL3rb6zJkm0viLUFDO2G/8SyIi6YrN/6KX+Scjjjg==} '@cspell/dict-powershell@5.0.3': resolution: {integrity: sha512-lEdzrcyau6mgzu1ie98GjOEegwVHvoaWtzQnm1ie4DyZgMr+N6D0Iyj1lzvtmt0snvsDFa5F2bsYzf3IMKcpcA==} - '@cspell/dict-public-licenses@2.0.5': - resolution: {integrity: sha512-91HK4dSRri/HqzAypHgduRMarJAleOX5NugoI8SjDLPzWYkwZ1ftuCXSk+fy8DLc3wK7iOaFcZAvbjmnLhVs4A==} + '@cspell/dict-public-licenses@2.0.6': + resolution: {integrity: sha512-bHqpSpJvLCUcWxj1ov/Ki8WjmESpYwRpQlqfdchekOTc93Huhvjm/RXVN1R4fVf4Hspyem1QVkCGqAmjJMj6sw==} - '@cspell/dict-python@4.1.10': - resolution: {integrity: sha512-ErF/Ohcu6Xk4QVNzFgo8p7CxkxvAKAmFszvso41qOOhu8CVpB35ikBRpGVDw9gsCUtZzi15Yl0izi4do6WcLkA==} + '@cspell/dict-python@4.1.11': + resolution: {integrity: sha512-XG+v3PumfzUW38huSbfT15Vqt3ihNb462ulfXifpQllPok5OWynhszCLCRQjQReV+dgz784ST4ggRxW452/kVg==} '@cspell/dict-r@2.0.1': resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} - '@cspell/dict-ruby@5.0.1': - resolution: {integrity: sha512-rruTm7Emhty/BSYavSm8ZxRuVw0OBqzJkwIFXcV0cX7To8D1qbmS9HFHRuRg8IL11+/nJvtdDz+lMFBSmPUagQ==} + '@cspell/dict-ruby@5.0.2': + resolution: {integrity: sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==} - '@cspell/dict-rust@4.0.1': - resolution: {integrity: sha512-xJSSzHDK2z6lSVaOmMxl3PTOtfoffaxMo7fTcbZUF+SCJzfKbO6vnN9TCGX2sx1RHFDz66Js6goz6SAZQdOwaw==} + '@cspell/dict-rust@4.0.2': + resolution: {integrity: sha512-RhziKDrklzOntxAbY3AvNR58wnFGIo3YS8+dNeLY36GFuWOvXDHFStYw5Pod4f/VXbO/+1tXtywCC4zWfB2p1w==} '@cspell/dict-scala@5.0.0': resolution: {integrity: sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==} - '@cspell/dict-software-terms@3.3.12': - resolution: {integrity: sha512-6aa4T9VqOMc0SFNBt6gxp0CWjvRqMg/uxvgpRbil+ToHWcU+Q+As0WKhPLaOniuTdCM85WWzRouD0O1XUGqg5Q==} + '@cspell/dict-software-terms@3.3.20': + resolution: {integrity: sha512-KmPwCxYWEu7SGyT/0m/n6i6R4ZgxbmN3XcerzA6Z629Wm5iZTVfJaMWqDK2RKAyBawS7OMfxGz0W/wYU4FhJlA==} - '@cspell/dict-sql@2.1.2': - resolution: {integrity: sha512-Pi0hAcvsSGtZZeyyAN1VfGtQJbrXos5x2QjJU0niAQKhmITSOrXU/1II1Gogk+FYDjWyV9wP2De0U2f7EWs6oQ==} + '@cspell/dict-sql@2.1.3': + resolution: {integrity: sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==} '@cspell/dict-svelte@1.0.2': resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==} @@ -392,18 +358,21 @@ packages: '@cspell/dict-swift@2.0.1': resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} - '@cspell/dict-typescript@3.1.2': - resolution: {integrity: sha512-lcNOYWjLUvDZdLa0UMNd/LwfVdxhE9rKA+agZBGjL3lTA3uNvH7IUqSJM/IXhJoBpLLMVEOk8v1N9xi+vDuCdA==} + '@cspell/dict-terraform@1.0.0': + resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==} + + '@cspell/dict-typescript@3.1.4': + resolution: {integrity: sha512-jUcPa0rsPca5ur1+G56DXnSc5hbbJkzvPHHvyQtkbPXBQd3CXPMNfrTVCgzex/7cY/7FONcpFCUwgwfni9Jqbw==} '@cspell/dict-vue@3.0.0': resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} - '@cspell/dynamic-import@8.1.3': - resolution: {integrity: sha512-/lXFLa92v4oOcZ2PbdRpOqBvnqWlYmGaV7iCy8+QhIWlMdzi+7tBX3LVTm9Jzvt/rJseVHQQ6RvfTsSmhbUMFQ==} + '@cspell/dynamic-import@8.7.0': + resolution: {integrity: sha512-xlEPdiHVDu+4xYkvwjL9MgklxOi9XB+Pr1H9s3Ww9WEq+q6BA3xOHxLIU/k8mhqFTMZGFZRCsdy/EwMu6SyRhQ==} engines: {node: '>=18.0'} - '@cspell/strong-weak-map@8.1.3': - resolution: {integrity: sha512-GhWyximzk8tumo0zhrDV3+nFYiETYefiTBWAEVbXJMibuvitFocVZwddqN85J0UdZ2M7q6tvBleEaI9ME/16gA==} + '@cspell/strong-weak-map@8.7.0': + resolution: {integrity: sha512-0bo0WwDr2lzGoCP7vbpWbDpPyuOrHKK+218txnUpx6Pn1EDBLfcDQsiZED5B6zlpwgbGi6y3vc0rWtJbjKvwzg==} engines: {node: '>=18'} '@double-great/alt-text@3.1.0': @@ -422,22 +391,19 @@ packages: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.3': - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.54.0': - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eth-optimism/contracts-bedrock@0.16.2': - resolution: {integrity: sha512-a2+f7soDbrd6jV74U02EpyMwQt2iZeDZ4c2ZwgkObcxXUZLZQ2ELt/VRFBf8TIL3wYcBOGpUa1aXAE2oHQ7oRA==} - - '@eth-optimism/contracts-ts@0.17.0': - resolution: {integrity: sha512-V4uJtS4ngAQ8tLSeIHWAK7ZNrz3a5Mf4YN3vf5U3u2/c+bKWIkGYgmD/GPQuyMmALOv67tJpFn3GRDTb9LgG1g==} + '@eth-optimism/contracts-ts@0.17.2': + resolution: {integrity: sha512-5aM+pn1uK8Hx9r9+PHCF6NQTYKVHmrm7Gc7LQ6sO9MQItVP1WdIWNcQYT7TQhkxGKHYG2arF06rbHGeGNqzBeg==} peerDependencies: - '@wagmi/core': '>1.0.0' - wagmi: '>1.0.0' + '@wagmi/core': ^2.6.3 + wagmi: ^2.5.5 peerDependenciesMeta: '@wagmi/core': optional: true @@ -452,16 +418,16 @@ packages: '@eth-optimism/core-utils@0.12.0': resolution: {integrity: sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==} - '@eth-optimism/core-utils@0.13.1': - resolution: {integrity: sha512-1FvzbUmCEy9zSKPG1QWg2VfA2Cy90xBA9Wkp11lXXrz91zUPCNCNSRTujXWYIC86ketNsZp7p4njSf6lTycHCw==} + '@eth-optimism/core-utils@0.13.2': + resolution: {integrity: sha512-u7TOKm1RxH1V5zw7dHmfy91bOuEAZU68LT/9vJPkuWEjaTl+BgvPDRDTurjzclHzN0GbWdcpOqPZg4ftjkJGaw==} - '@eth-optimism/sdk@3.1.6': - resolution: {integrity: sha512-YU3Sx4jPFfdXW4gs0PvnFDFPrJjbsaFxAJrsqxDpkUH3fMC3MmQgECYdkj8y1xTO6CTHm9gWLNC2WQdYTdNJsQ==} + '@eth-optimism/sdk@3.3.3': + resolution: {integrity: sha512-I8xjchsZL6L66N/0Q14QvGZpsIiVfpuXBu+OX4HB3HXGvF7NQxXSRfOXzrQKj3ikhoJUpASsR4gL/yQsH+Vh3Q==} peerDependencies: ethers: ^5 - '@eth-optimism/tokenlist@9.0.9': - resolution: {integrity: sha512-Wz0ZbvJKBUIikZpAjX1dqXYlSq0mHCnVXfGST+rZOhpCnY9Qwf9PEpSEK9kMeUz2ySDVV1mqtXtLgVjZb6z3Pg==} + '@eth-optimism/tokenlist@10.0.193': + resolution: {integrity: sha512-XPZE5E6pAIhj/CeVZ5u9Yc4oiofURts56+BdwKccqKbms+oDGzj5uFbsT9pyL2BomWQlx2snGV3yF3TX4afybw==} '@ethereumjs/rlp@4.0.1': resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} @@ -574,8 +540,8 @@ packages: '@floating-ui/core@1.6.8': resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.11': - resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} + '@floating-ui/dom@1.6.12': + resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==} '@floating-ui/react-dom@2.1.2': resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} @@ -583,8 +549,8 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.25': - resolution: {integrity: sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A==} + '@floating-ui/react@0.26.28': + resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -592,32 +558,30 @@ packages: '@floating-ui/utils@0.2.8': resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - '@headlessui/react@1.7.17': - resolution: {integrity: sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==} + '@headlessui/react@1.7.19': + resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 - '@headlessui/react@2.1.8': - resolution: {integrity: sha512-uajqVkAcVG/wHwG9Fh5PFMcFpf2VxM4vNRNKxRjuK009kePVur8LkuuygHfIE+2uZ7z7GnlTtYsyUe6glPpTLg==} + '@headlessui/react@2.2.0': + resolution: {integrity: sha512-RzCEg+LXsuI7mHiSomsu/gBJSjpupm6A1qIZ5sWjd7JhARNlMiSA4kKfJpCKwU9tE+zMRterhhrP74PvfJrpXQ==} engines: {node: '>=10'} peerDependencies: - react: ^18 - react-dom: ^18 + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc - '@humanwhocodes/config-array@0.11.13': - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.1': - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -634,74 +598,74 @@ packages: peerDependencies: react: '>=16' - '@napi-rs/simple-git-android-arm-eabi@0.1.9': - resolution: {integrity: sha512-9D4JnfePMpgL4pg9aMUX7/TIWEUQ+Tgx8n3Pf8TNCMGjUbImJyYsDSLJzbcv9wH7srgn4GRjSizXFJHAPjzEug==} + '@napi-rs/simple-git-android-arm-eabi@0.1.16': + resolution: {integrity: sha512-dbrCL0Pl5KZG7x7tXdtVsA5CO6At5ohDX3myf5xIYn9kN4jDFxsocl8bNt6Vb/hZQoJd8fI+k5VlJt+rFhbdVw==} engines: {node: '>= 10'} cpu: [arm] os: [android] - '@napi-rs/simple-git-android-arm64@0.1.9': - resolution: {integrity: sha512-Krilsw0gPrrASZzudNEl9pdLuNbhoTK0j7pUbfB8FRifpPdFB/zouwuEm0aSnsDXN4ftGrmGG82kuiR/2MeoPg==} + '@napi-rs/simple-git-android-arm64@0.1.16': + resolution: {integrity: sha512-xYz+TW5J09iK8SuTAKK2D5MMIsBUXVSs8nYp7HcMi8q6FCRO7yJj96YfP9PvKsc/k64hOyqGmL5DhCzY9Cu1FQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/simple-git-darwin-arm64@0.1.9': - resolution: {integrity: sha512-H/F09nDgYjv4gcFrZBgdTKkZEepqt0KLYcCJuUADuxkKupmjLdecMhypXLk13AzvLW4UQI7NlLTLDXUFLyr2BA==} + '@napi-rs/simple-git-darwin-arm64@0.1.16': + resolution: {integrity: sha512-XfgsYqxhUE022MJobeiX563TJqyQyX4FmYCnqrtJwAfivESVeAJiH6bQIum8dDEYMHXCsG7nL8Ok0Dp8k2m42g==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/simple-git-darwin-x64@0.1.9': - resolution: {integrity: sha512-jBR2xS9nVPqmHv0TWz874W0m/d453MGrMeLjB+boK5IPPLhg3AWIZj0aN9jy2Je1BGVAa0w3INIQJtBBeB6kFA==} + '@napi-rs/simple-git-darwin-x64@0.1.16': + resolution: {integrity: sha512-tkEVBhD6vgRCbeWsaAQqM3bTfpIVGeitamPPRVSbsq8qgzJ5Dx6ZedH27R7KSsA/uao7mZ3dsrNLXbu1Wy5MzA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.9': - resolution: {integrity: sha512-3n0+VpO4YfZxndZ0sCvsHIvsazd+JmbSjrlTRBCnJeAU1/sfos3skNZtKGZksZhjvd+3o+/GFM8L7Xnv01yggA==} + '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.16': + resolution: {integrity: sha512-R6VAyNnp/yRaT7DV1Ao3r67SqTWDa+fNq2LrNy0Z8gXk2wB9ZKlrxFtLPE1WSpWknWtyRDLpRlsorh7Evk7+7w==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/simple-git-linux-arm64-gnu@0.1.9': - resolution: {integrity: sha512-lIzf0KHU2SKC12vMrWwCtysG2Sdt31VHRPMUiz9lD9t3xwVn8qhFSTn5yDkTeG3rgX6o0p5EKalfQN5BXsJq2w==} + '@napi-rs/simple-git-linux-arm64-gnu@0.1.16': + resolution: {integrity: sha512-LAGI0opFKw/HBMCV2qIBK3uWSEW9h4xd2ireZKLJy8DBPymX6NrWIamuxYNyCuACnFdPRxR4LaRFy4J5ZwuMdw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@napi-rs/simple-git-linux-arm64-musl@0.1.9': - resolution: {integrity: sha512-KQozUoNXrxrB8k741ncWXSiMbjl1AGBGfZV21PANzUM8wH4Yem2bg3kfglYS/QIx3udspsT35I9abu49n7D1/w==} + '@napi-rs/simple-git-linux-arm64-musl@0.1.16': + resolution: {integrity: sha512-I57Ph0F0Yn2KW93ep+V1EzKhACqX0x49vvSiapqIsdDA2PifdEWLc1LJarBolmK7NKoPqKmf6lAKKO9lhiZzkg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@napi-rs/simple-git-linux-x64-gnu@0.1.9': - resolution: {integrity: sha512-O/Niui5mnHPcK3iYC3ui8wgERtJWsQ3Y74W/09t0bL/3dgzGMl4oQt0qTj9dWCsnoGsIEYHPzwCBp/2vqYp/pw==} + '@napi-rs/simple-git-linux-x64-gnu@0.1.16': + resolution: {integrity: sha512-AZYYFY2V7hlcQASPEOWyOa3e1skzTct9QPzz0LiDM3f/hCFY/wBaU2M6NC5iG3d2Kr38heuyFS/+JqxLm5WaKA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@napi-rs/simple-git-linux-x64-musl@0.1.9': - resolution: {integrity: sha512-L9n+e8Wn3hKr3RsIdY8GaB+ry4xZ4BaGwyKExgoB8nDGQuRUY9oP6p0WA4hWfJvJnU1H6hvo36a5UFPReyBO7A==} + '@napi-rs/simple-git-linux-x64-musl@0.1.16': + resolution: {integrity: sha512-9TyMcYSBJwjT8jwjY9m24BZbu7ozyWTjsmYBYNtK3B0Um1Ov6jthSNneLVvouQ6x+k3Ow+00TiFh6bvmT00r8g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@napi-rs/simple-git-win32-arm64-msvc@0.1.9': - resolution: {integrity: sha512-Z6Ja/SZK+lMvRWaxj7wjnvSbAsGrH006sqZo8P8nxKUdZfkVvoCaAWr1r0cfkk2Z3aijLLtD+vKeXGlUPH6gGQ==} + '@napi-rs/simple-git-win32-arm64-msvc@0.1.16': + resolution: {integrity: sha512-uslJ1WuAHCYJWui6xjsyT47SjX6KOHDtClmNO8hqKz1pmDSNY7AjyUY8HxvD1lK9bDnWwc4JYhikS9cxCqHybw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/simple-git-win32-x64-msvc@0.1.9': - resolution: {integrity: sha512-VAZj1UvC+R2MjKOD3I/Y7dmQlHWAYy4omhReQJRpbCf+oGCBi9CWiIduGqeYEq723nLIKdxP7XjaO0wl1NnUww==} + '@napi-rs/simple-git-win32-x64-msvc@0.1.16': + resolution: {integrity: sha512-SoEaVeCZCDF1MP+M9bMSXsZWgEjk4On9GWADO5JOulvzR1bKjk0s9PMHwe/YztR9F0sJzrCxwtvBZowhSJsQPg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/simple-git@0.1.9': - resolution: {integrity: sha512-qKzDS0+VjMvVyU28px+C6zlD1HKy83NIdYzfMQWa/g/V1iG/Ic8uwrS2ihHfm7mp7X0PPrmINLiTTi6ieUIKfw==} + '@napi-rs/simple-git@0.1.16': + resolution: {integrity: sha512-C5wRPw9waqL2jk3jEDeJv+f7ScuO3N0a39HVdyFLkwKxHH4Sya4ZbzZsu2JLi6eEqe7RuHipHL6mC7B2OfYZZw==} engines: {node: '>= 10'} '@next/env@13.5.6': @@ -764,26 +728,23 @@ packages: cpu: [x64] os: [win32] - '@noble/curves@1.1.0': - resolution: {integrity: sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==} + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.2.0': - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} - - '@noble/curves@1.6.0': - resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.3.1': - resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==} + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} - '@noble/hashes@1.3.2': - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.5.0': - resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -798,12 +759,12 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/config@6.4.0': - resolution: {integrity: sha512-/fQjIbuNVIT/PbXvw178Tm97bxV0E0nVUFKHivMKtSI2pcs8xKdaWkHJxf9dTI0G/y5hp/KuCvgcUu5HwAtI1w==} + '@npmcli/config@6.4.1': + resolution: {integrity: sha512-uSz+elSGzjCMANWa5IlbGczLYPkNI/LeR+cHrgaTqTrTSh9RHhOFA4daD2eRUz6lMtOW+Fnsb+qv7V2Zz8ML0g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/map-workspaces@3.0.4': - resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==} + '@npmcli/map-workspaces@3.0.6': + resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} '@npmcli/name-from-folder@2.0.0': @@ -814,86 +775,61 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/utils@2.4.2': - resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@react-aria/focus@3.18.4': - resolution: {integrity: sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-aria/interactions@3.22.4': - resolution: {integrity: sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-aria/ssr@3.9.6': - resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==} - engines: {node: '>= 12'} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-aria/utils@3.25.3': - resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-stately/utils@3.10.4': - resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-types/shared@3.25.0': - resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@scure/base@1.1.3': - resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} - '@scure/base@1.1.9': resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} - '@scure/bip32@1.3.1': - resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==} + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} - '@scure/bip32@1.3.2': - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - '@scure/bip32@1.5.0': - resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} + '@scure/bip32@1.6.0': + resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} - '@scure/bip39@1.2.1': - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@scure/bip39@1.4.0': - resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} + '@scure/bip39@1.5.0': + resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + '@swc/helpers@0.5.2': + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} - '@tanstack/react-virtual@3.10.8': - resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==} + '@tanstack/react-virtual@3.11.2': + resolution: {integrity: sha512-OuFzMXPF4+xZgx8UzJha0AieuMihhhaWG0tCqpp6tDzlFwOmNBPYMuLOtMJ1Tr4pXLHmgjcWhG6RlknY2oNTdQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/react-virtual@3.5.0': + resolution: {integrity: sha512-rtvo7KwuIvqK9zb0VZ5IL7fiJAEnG+0EiFZz8FUOs+2mhGqdGmjKIaT1XU7Zq0eFqL0jonLlhbayJI/J2SA/Bw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@tanstack/virtual-core@3.10.8': - resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} + '@tanstack/virtual-core@3.11.2': + resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==} + + '@tanstack/virtual-core@3.5.0': + resolution: {integrity: sha512-KnPRCkQTyqhanNC0K63GBG3wA8I+D1fQuVnAvcBF8f13akOKeQp1gSbu6f77zCxhEk727iV5oQnbHLYzHrECLg==} - '@testing-library/dom@9.3.3': - resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} + '@testing-library/dom@9.3.4': + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} - '@testing-library/react@14.1.2': - resolution: {integrity: sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==} + '@testing-library/react@14.3.1': + resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} engines: {node: '>=14'} peerDependencies: react: ^18.0.0 @@ -913,90 +849,92 @@ packages: '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@types/change-case@2.3.1': - resolution: {integrity: sha512-HYiGjhmGInNzJjtt6ciXEfl2s8ZQGUQpPiwgWSth1fycE69hXbV/RgWH7MvSq2QPhMBzi4SGhu1vE+cMx1xB8g==} - deprecated: This is a stub types definition for change-case (https://github.com/blakeembrey/change-case). change-case provides its own type definitions, so you don't need @types/change-case installed! + '@types/change-case@2.3.5': + resolution: {integrity: sha512-JvctDvBuY3MVSEisGbSgaAdJTcs+2JjBKO60W1Isr3GnX2YZCyJYLDY96bV4eWensEUrQLRGEL+egAkIXYrW1Q==} + deprecated: This is a stub types definition. change-case provides its own type definitions, so you do not need this installed. '@types/concat-stream@2.0.3': resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==} - '@types/d3-scale-chromatic@3.0.1': - resolution: {integrity: sha512-Ob7OrwiTeQXY/WBBbRHGZBOn6rH1h7y3jjpTSKYqDEeqFjktql6k2XSgNwLrLDmAsXhEn8P9NHDY4VTuo0ZY1w==} + '@types/d3-scale-chromatic@3.0.3': + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} - '@types/d3-scale@4.0.7': - resolution: {integrity: sha512-/YEbMIOtqSFSELqUT8desdT3a7iybPkSQiIx/wN4CZ/5b7wrCvmyXWELTMUYB10k0N5rzHVu4f/OkhulG1b3Lw==} + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} - '@types/d3-time@3.0.2': - resolution: {integrity: sha512-kbdRXTmUgNfw5OTE3KZnFQn6XdIc4QGroN5UixgdrXATmYsdlPQS6pEut9tVlIojtzuFD4txs/L+Rq41AHtLpg==} + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - '@types/debug@4.1.11': - resolution: {integrity: sha512-R2qflTjHDs4CL6D/6TkqBeIHr54WzZfIxN729xvCNlYIVp2LknlnCro5Yo3frNaX2E5gO9pZ3/QAPVdGmu+q9w==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/estree-jsx@1.0.3': - resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/hast@2.3.7': - resolution: {integrity: sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==} + '@types/hast@2.3.10': + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} - '@types/hast@3.0.2': - resolution: {integrity: sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} '@types/is-empty@1.2.3': resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} - '@types/js-yaml@4.0.8': - resolution: {integrity: sha512-m6jnPk1VhlYRiLFm3f8X9Uep761f+CK8mHyS65LutH2OhmBF0BeMEjHgg05usH8PLZMWWc/BUR9RPmkvpWnyRA==} + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/katex@0.16.5': - resolution: {integrity: sha512-DD2Y3xMlTQvAnN6d8803xdgnOeYZ+HwMglb7/9YCf49J9RkJL53azf9qKa40MkEYhqVwxZ1GS2+VlShnz4Z1Bw==} + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} '@types/lodash.clonedeep@4.5.9': resolution: {integrity: sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==} - '@types/lodash@4.14.202': - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + '@types/lodash@4.17.0': + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} - '@types/mdast@3.0.14': - resolution: {integrity: sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==} + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/mdast@4.0.2': - resolution: {integrity: sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==} + '@types/mdast@4.0.3': + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} - '@types/mdx@2.0.9': - resolution: {integrity: sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==} + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/ms@0.7.33': - resolution: {integrity: sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==} + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} '@types/node@18.11.10': resolution: {integrity: sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==} - '@types/prop-types@15.7.9': - resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==} + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - '@types/react-dom@18.2.16': - resolution: {integrity: sha512-766c37araZ9vxtYs25gvY2wNdFWsT2ZiUvOd0zMhTaoGj6B911N8CKQWgXXJoPMLF3J82thpRqQA7Rf3rBwyJw==} + '@types/react-dom@18.3.5': + resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + peerDependencies: + '@types/react': ^18.0.0 - '@types/react@18.2.36': - resolution: {integrity: sha512-o9XFsHYLLZ4+sb9CWUYwHqFVoG61SesydF353vFMMsQziiyRu8np4n2OYMUSDZ8XuImxDr9c5tR7gidlH29Vnw==} + '@types/react@18.3.1': + resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} - '@types/scheduler@0.16.5': - resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==} + '@types/react@19.0.2': + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} '@types/supports-color@8.1.3': resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} - '@types/unist@2.0.9': - resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==} + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - '@types/unist@3.0.1': - resolution: {integrity: sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==} + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1005,19 +943,8 @@ packages: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - abitype@0.9.8: - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@1.0.6: - resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} + abitype@1.0.7: + resolution: {integrity: sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -1032,8 +959,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true @@ -1054,8 +981,8 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - algoliasearch@4.23.3: - resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + algoliasearch@4.24.0: + resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -1099,8 +1026,9 @@ packages: aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} @@ -1116,8 +1044,8 @@ packages: resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true - available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} bail@2.0.2: @@ -1129,10 +1057,6 @@ packages: bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} @@ -1145,10 +1069,6 @@ packages: bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1168,20 +1088,25 @@ packages: buffer-reverse@1.0.1: resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} - bufio@1.2.1: - resolution: {integrity: sha512-9oR3zNdupcg/Ge2sSHQF3GX+kmvL/fTPvD0nd5AGLq8SjUYnTz+SlFjK/GXidndbZtIj+pVKXiWeR9w6e9wKCA==} + bufio@1.2.2: + resolution: {integrity: sha512-sTsA0ka7sjge/bGUfjk00O/8kNfyeAvJjXXeyvgbXefIrf5GTp99W71qfmCP6FGHWbr4A0IjjM7dFj6bHXVMlw==} engines: {node: '>=14.0.0'} - bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} - call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -1190,8 +1115,8 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - caniuse-lite@1.0.30001669: - resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} + caniuse-lite@1.0.30001614: + resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -1199,8 +1124,8 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} chalk-template@1.1.0: @@ -1250,8 +1175,8 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} clear-module@4.1.2: @@ -1285,9 +1210,9 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + commander@12.0.0: + resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} + engines: {node: '>=18'} commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} @@ -1324,9 +1249,6 @@ packages: cose-base@1.0.3: resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -1341,60 +1263,55 @@ packages: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} engines: {node: '>=12'} - cspell-config-lib@8.1.3: - resolution: {integrity: sha512-whzJYxcxos3vnywn0alCFZ+Myc0K/C62pUurfOGhgvIba7ArmlXhNRaL2r5noBxWARtpBOtzz3vrzSBK7Lq6jg==} + cspell-config-lib@8.7.0: + resolution: {integrity: sha512-depsd01GbLBo71/tfRrL5iECWQLS4CjCxA9C01dVkFAJqVB0s+K9KLKjTlq5aHOhcvo9Z3dHV+bGQCf5/Q7bfw==} engines: {node: '>=18'} - cspell-dictionary@8.1.3: - resolution: {integrity: sha512-nkRQDPNnA6tw+hJFBqq26M0nK306q5rtyv/AUIWa8ZHhQkwzACnpMSpuJA7/DV5GVvPKltMK5M4A6vgfpoaFHw==} + cspell-dictionary@8.7.0: + resolution: {integrity: sha512-S6IpZSzIMxlOO/33NgCOuP0TPH2mZbw8d5CP44z5jajflloq8l74MeJLkeDzYfCRcm0Rtk0A5drBeMg+Ai34OA==} engines: {node: '>=18'} - cspell-gitignore@8.1.3: - resolution: {integrity: sha512-NHx5lg44eCKb6yJmUPOCz4prcuYowzoo5GJ5hOcCfbk7ZEBWV1E2/kDRuQMOK2W0y1hNGr45CSxO3UxWJlYg7w==} + cspell-gitignore@8.7.0: + resolution: {integrity: sha512-yvUZ86qyopUpDgn+YXP1qTpUe/lp65ZFvpMtw21lWHTFlg1OWKntr349EQU/5ben/K6koxk1FiElCBV7Lr4uFg==} engines: {node: '>=18'} hasBin: true - cspell-glob@8.1.3: - resolution: {integrity: sha512-Likr7UVUXBpthQnM5r6yao3X0YBNRbJ9AHWXTC2RJfzwZOFKF+pKPfeo3FU+Px8My96M4RC2bVMbrbZUwN5NJw==} + cspell-glob@8.7.0: + resolution: {integrity: sha512-AMdfx0gvROA/aIL8t8b5Y5NtMgscGZELFj6WhCSZiQSuWRxXUKiLGGLUFjx2y0hgXN9LUYOo6aBjvhnxI/v71g==} engines: {node: '>=18'} - cspell-grammar@8.1.3: - resolution: {integrity: sha512-dTOwNq6a5wcVzOsi4xY5/tq2r2w/+wLVU+WfyySTsPe66Rjqx/QceFl4OinImks/ZMKF7Zyjd3WGyQ5TcSsJFQ==} + cspell-grammar@8.7.0: + resolution: {integrity: sha512-SGcXc7322wU2WNRi7vtpToWDXTqZHhxqvR+aIXHT2kkxlMSWp3Rvfpshd0ckgY54nZtgw7R/JtKND2jeACRpwQ==} engines: {node: '>=18'} hasBin: true - cspell-io@8.1.3: - resolution: {integrity: sha512-QkcFeYd79oIl7PgSqFSZyvwXnZQhXmdCI733n54IN2+iXDcf7W0mwptxoC/cE19RkEwAwEFLG81UAy6L/BXI6A==} + cspell-io@8.7.0: + resolution: {integrity: sha512-o7OltyyvVkRG1gQrIqGpN5pUkHNnv6rvihb7Qu6cJ8jITinLGuWJuEQpgt0eF5yIr624jDbFwSzAxsFox8riQg==} engines: {node: '>=18'} - cspell-lib@8.1.3: - resolution: {integrity: sha512-Kk8bpHVkDZO4MEiPkDvRf/LgJ0h5mufbKLTWModq6k0Ca8EkZ/qgQlZ0ve0rIivbleSqebuWjpJHKDM+IHmzHA==} + cspell-lib@8.7.0: + resolution: {integrity: sha512-qDSHZGekwiDmouYRECTQokE+hgAuPqREm+Hb+G3DoIo3ZK5H47TtEUo8fNCw22XsKefcF8X28LiyoZwiYHVpSg==} engines: {node: '>=18'} - cspell-trie-lib@8.1.3: - resolution: {integrity: sha512-EDSYU9MCtzPSJDrfvDrTKmc0rzl50Ehjg1c5rUCqn33p2LCRe/G8hW0FxXe0mxrZxrMO2b8l0PVSGlrCXCQ8RQ==} + cspell-trie-lib@8.7.0: + resolution: {integrity: sha512-W3Nh2cO7gMV91r+hLqyTMgKlvRl4W5diKs5YiyOxjZumRkMBy42IzcNYtgIIacOxghklv96F5Bd1Vx/zY6ylGA==} engines: {node: '>=18'} - cspell@8.1.3: - resolution: {integrity: sha512-SU4Su6002bPoJYaiMeNV4wwLoS8TwaOgIwaTxhys3GDbJIxZV6CrDgwksezHcG7TZrC4yrveDVsdpnrzmQ7T5Q==} + cspell@8.7.0: + resolution: {integrity: sha512-77nRPgLl240C6FK8RKVKo34lP15Lzp/6bk+SKYJFwUKKXlcgWXDis+Lw4JolA741/JgHtuxmhW1C8P7dCKjJ3w==} engines: {node: '>=18'} hasBin: true - csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} cytoscape-cose-bilkent@4.1.0: resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: cytoscape: ^3.2.0 - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.27.0: - resolution: {integrity: sha512-pPZJilfX9BxESwujODz5pydeGi+FBrXq1rcaB1mfhFXXFJ9GjE6CNndAk+8jPzoXGD+16LtSS4xlYEIUiW4Abg==} + cytoscape@3.29.2: + resolution: {integrity: sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==} engines: {node: '>=0.10'} d3-array@2.12.1: @@ -1457,8 +1374,8 @@ packages: resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} engines: {node: '>=12'} - d3-geo@3.1.0: - resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} engines: {node: '>=12'} d3-hierarchy@3.1.2: @@ -1491,8 +1408,8 @@ packages: d3-sankey@0.12.3: resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - d3-scale-chromatic@3.0.0: - resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} engines: {node: '>=12'} d3-scale@4.0.2: @@ -1532,15 +1449,15 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - d3@7.8.5: - resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} engines: {node: '>=12'} dagre-d3-es@7.0.10: resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} - dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dayjs@1.11.11: + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -1554,8 +1471,8 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} deep-equal@2.2.3: @@ -1565,28 +1482,16 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - - default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} - - define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - delaunator@5.0.0: - resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} @@ -1595,8 +1500,8 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} dir-glob@3.0.1: @@ -1610,8 +1515,8 @@ packages: dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dompurify@3.0.6: - resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==} + dompurify@3.1.1: + resolution: {integrity: sha512-tVP8C/GJwnABOn/7cx/ymx/hXpmBfWIPihC1aOEvS8GbMqy3pgeYtJk1HXN3CO7tu+8bpY18f6isjR5Cymj0TQ==} dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -1620,11 +1525,15 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - elkjs@0.8.2: - resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} + elkjs@0.9.3: + resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -1645,9 +1554,21 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -1660,8 +1581,8 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-mdx@2.2.0: - resolution: {integrity: sha512-AriN6lCW6KhWQ9GEiXapR1DokKHefOUqKvCmHxnE9puCWYhWiycU2SNKH8jmrasDBreZ+RtJDLi+RcUNLJatjg==} + eslint-mdx@2.3.4: + resolution: {integrity: sha512-u4NszEUyoGtR7Q0A4qs0OymsEQdCO6yqWlTzDa9vGWsK7aMotdnW0hqifHTkf6lEtA2vHk2xlkWHTCrhYLyRbw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8.0.0' @@ -1672,8 +1593,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - eslint-plugin-mdx@2.2.0: - resolution: {integrity: sha512-OseoMXUIr8iy3E0me+wJLVAxuB0kxHP1plxuYAJDynzorzOj2OKv8Fhr+rIOJ32zfl3bnEWsqFnUiCnyznr1JQ==} + eslint-plugin-mdx@2.3.4: + resolution: {integrity: sha512-kr6tgaifKL+AVGYMtdYc2VCsIjfYQXuUCKz4rK58d2DpnPFHrmgXIOC7NcMvaEld+VOEpxBSCCnjnsf4IVCQGg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8.0.0' @@ -1686,10 +1607,9 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true espree@9.6.1: @@ -1739,11 +1659,11 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - ethereum-bloom-filters@1.0.10: - resolution: {integrity: sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==} + ethereum-bloom-filters@1.2.0: + resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} - ethereum-cryptography@2.1.2: - resolution: {integrity: sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==} + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} ethers@5.7.2: resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} @@ -1752,18 +1672,13 @@ packages: resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} engines: {node: '>=6.5.0', npm: '>=3'} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + execa@0.8.0: resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} engines: {node: '>=4'} - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -1788,8 +1703,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -1798,9 +1713,9 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - file-entry-cache@7.0.2: - resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} - engines: {node: '>=12.0.0'} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -1822,11 +1737,15 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flexsearch@0.7.31: - resolution: {integrity: sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flexsearch@0.7.43: + resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} focus-visible@5.2.0: resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} @@ -1851,15 +1770,16 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gensequence@6.0.0: - resolution: {integrity: sha512-8WwuywE9pokJRAcg2QFR/plk3cVPebSUqRPzpGQh3WQ0wIiHAw+HyOQj5IuHyUTQBHpBKFoB2JUMu9zT3vJ16Q==} - engines: {node: '>=16'} + gensequence@7.0.0: + resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} + engines: {node: '>=18'} get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + engines: {node: '>= 0.4'} get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} @@ -1869,10 +1789,6 @@ packages: resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} engines: {node: '>=4'} - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} @@ -1893,34 +1809,29 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} - globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globby@11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} - - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1932,8 +1843,9 @@ packages: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} has-flag@2.0.0: resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} @@ -1951,19 +1863,15 @@ packages: resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} hash-obj@4.0.0: @@ -1973,8 +1881,8 @@ packages: hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} hast-util-from-dom@5.0.0: @@ -1995,8 +1903,8 @@ packages: hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - hast-util-raw@9.0.1: - resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==} + hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} hast-util-to-estree@2.3.3: resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} @@ -2004,8 +1912,8 @@ packages: hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} - hast-util-to-text@4.0.0: - resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} hast-util-whitespace@2.0.1: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} @@ -2016,29 +1924,18 @@ packages: header-case@2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} - heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} - iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} import-fresh@3.3.0: @@ -2048,8 +1945,8 @@ packages: import-meta-resolve@2.2.2: resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} - import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2057,7 +1954,6 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -2066,11 +1962,15 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@4.1.2: + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} internmap@1.0.1: @@ -2095,21 +1995,23 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + is-boolean-object@1.2.1: + resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} engines: {node: '>= 0.4'} is-buffer@2.0.5: @@ -2120,8 +2022,8 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} is-decimal@1.0.4: @@ -2130,16 +2032,6 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - is-empty@1.2.0: resolution: {integrity: sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==} @@ -2169,16 +2061,12 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - - is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} is-number@7.0.0: @@ -2208,15 +2096,17 @@ packages: is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} - is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} is-ssh@1.4.0: resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} @@ -2225,38 +2115,24 @@ packages: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} - is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - - is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -2264,11 +2140,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isows@1.0.3: - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} - peerDependencies: - ws: '*' - isows@1.0.6: resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} peerDependencies: @@ -2298,8 +2169,8 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} json-schema-traverse@0.4.1: @@ -2311,11 +2182,11 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - katex@0.16.9: - resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} + katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} hasBin: true keyv@4.5.4: @@ -2335,9 +2206,6 @@ packages: layout-base@1.0.2: resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2385,8 +2253,8 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lru-cache@10.0.3: - resolution: {integrity: sha512-B7gr+F6MkqB3uzINHXNctGieGsRTMwIBgxkp0yq/5BwcuDzD4A8wQpHQW6vDAm1uKSLQghmRdD9sKqf2vJ1cEg==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} lru-cache@4.1.5: @@ -2407,8 +2275,12 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - match-sorter@6.3.1: - resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} + match-sorter@6.3.4: + resolution: {integrity: sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} mdast-comment-marker@2.1.2: resolution: {integrity: sha512-HED3ezseRVkBzZ0uK4q6RJMdufr/2p3VfVZstE3H1N9K8bwtspztWo6Xd7rEatuGNoCXaBna8oEqMwUn0Ve1bw==} @@ -2470,14 +2342,14 @@ packages: mdast-util-phrasing@3.0.1: resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - mdast-util-phrasing@4.0.0: - resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} mdast-util-to-hast@12.3.0: resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - mdast-util-to-hast@13.0.2: - resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} mdast-util-to-markdown@1.5.0: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} @@ -2494,9 +2366,6 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -2505,8 +2374,8 @@ packages: resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} engines: {node: '>= 7.6.0'} - mermaid@10.6.1: - resolution: {integrity: sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==} + mermaid@10.9.0: + resolution: {integrity: sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==} micro-ftch@0.3.1: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} @@ -2514,8 +2383,8 @@ packages: micromark-core-commonmark@1.1.0: resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - micromark-core-commonmark@2.0.0: - resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} micromark-extension-frontmatter@2.0.0: resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} @@ -2595,8 +2464,8 @@ packages: micromark-util-character@1.2.0: resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - micromark-util-character@2.0.1: - resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} micromark-util-chunked@1.1.0: resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} @@ -2664,8 +2533,8 @@ packages: micromark-util-subtokenize@1.1.0: resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - micromark-util-subtokenize@2.0.0: - resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} micromark-util-symbol@1.1.0: resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} @@ -2692,14 +2561,6 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -2721,6 +2582,10 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -2735,8 +2600,8 @@ packages: ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -2750,8 +2615,8 @@ packages: react: '>=16.x <=18.x' react-dom: '>=16.x <=18.x' - next-seo@6.4.0: - resolution: {integrity: sha512-XQFxkOL2hw0YE+P100HbI3EAvcludlHPxuzMgaIjKb7kPK0CvjGvLFjd9hszZFEDc5oiQkGFA8+cuWcnip7eYA==} + next-seo@6.5.0: + resolution: {integrity: sha512-MfzUeWTN/x/rsKp/1n0213eojO97lIl0unxqbeCY+6pAucViHDA8GSLRRcXpgjsSmBxfCFdfpu7LXbt4ANQoNQ==} peerDependencies: next: ^8.1.1-canary.54 || >=9.0.0 react: '>=16.0.0' @@ -2833,56 +2698,45 @@ packages: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - npm-to-yarn@2.1.0: - resolution: {integrity: sha512-2C1IgJLdJngq1bSER7K7CGFszRr9s2rijEwvENPEgI0eK9xlD3tNwDc0UJnRj7FIT2aydWm72jB88uVswAhXHA==} + npm-to-yarn@2.2.1: + resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} number-to-bn@1.7.0: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} engines: {node: '>=6.5.0', npm: '>=3'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} - object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} - - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + ox@0.1.2: + resolution: {integrity: sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -2962,12 +2816,8 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} engines: {node: '>=16 || 14 >=14.17'} path-type@4.0.0: @@ -2983,6 +2833,9 @@ packages: picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -2991,6 +2844,10 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -3007,8 +2864,8 @@ packages: resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - property-information@6.4.0: - resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} protocols@2.0.1: resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} @@ -3026,16 +2883,16 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} read-package-json-fast@3.0.2: @@ -3049,11 +2906,11 @@ packages: reading-time@1.5.0: resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} - regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} rehype-katex@7.0.0: @@ -3204,8 +3061,8 @@ packages: remark@15.0.1: resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - remove-accents@0.4.2: - resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} + remove-accents@0.5.0: + resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} repeat-string@1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} @@ -3229,7 +3086,6 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rlp@2.2.7: @@ -3239,10 +3095,6 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3256,11 +3108,15 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} @@ -3268,27 +3124,32 @@ packages: scrypt-js@3.0.1: resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} - search-insights@2.15.0: - resolution: {integrity: sha512-ch2sPCUDD4sbPQdknVl9ALSi9H7VyoeVbsxznYz6QV55jJ8CI3EtwpO1i84keN4+hF5IeHWIeGvc08530JkVXQ==} + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} - set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} shebang-command@1.2.0: @@ -3307,11 +3168,24 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@0.14.5: - resolution: {integrity: sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==} + shiki@0.14.7: + resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -3331,8 +3205,8 @@ packages: resolution: {integrity: sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==} engines: {node: '>=12'} - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} source-map@0.7.4: @@ -3345,8 +3219,8 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} streamsearch@1.1.0: @@ -3364,8 +3238,8 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - stringify-entities@4.0.3: - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -3383,14 +3257,6 @@ packages: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-hex-prefix@1.0.0: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -3419,8 +3285,8 @@ packages: babel-plugin-macros: optional: true - stylis@4.3.0: - resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + stylis@4.3.2: + resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} supports-color@4.5.0: resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} @@ -3438,8 +3304,8 @@ packages: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} engines: {node: '>=12'} - synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} engines: {node: ^14.18.0 || >=16.0.0} tabbable@6.2.0: @@ -3460,10 +3326,6 @@ packages: resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} engines: {node: '>=0.10.0'} - titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - to-gatsby-remark-plugin@0.1.0: resolution: {integrity: sha512-blmhJ/gIrytWnWLgPSRCkhCPeki6UBK2daa3k9mGahN7GjwHu8KrS7F70MvwlsG7IE794JLgwAdCbi4hU4faFQ==} @@ -3487,8 +3349,8 @@ packages: trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} ts-dedent@2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} @@ -3497,12 +3359,15 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} type-fest@0.20.2: @@ -3519,8 +3384,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.3.2: - resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -3603,10 +3468,6 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -3667,16 +3528,8 @@ packages: vfile@6.0.1: resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} - viem@1.19.6: - resolution: {integrity: sha512-WSBHBMurWIWQk2yisOD8hqSA5S56cZu6onty3hzauVjiHMildtVWujF7YT0xjoU40GpFODvJASRR2RFdzgvUUg==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - viem@2.21.37: - resolution: {integrity: sha512-JupwyttT4aJNnP9+kD7E8jorMS5VmgpC3hm3rl5zXsO8WNBTsP3JJqZUSg4AG6s2lTrmmpzS/qpmXMZu5gJw5Q==} + viem@2.21.57: + resolution: {integrity: sha512-Mw4f4Dw0+Y/wSHdynVmP4uh+Cw15HEoj8BOKvKH5nGA6oFZYRxSy9Ruu7ZG8jexeAVCZ57aIuXb0gNg6Vb1x0g==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -3701,11 +3554,11 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-worker@1.2.0: - resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} + web-worker@1.3.0: + resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} - web3-utils@1.10.3: - resolution: {integrity: sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ==} + web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} engines: {node: '>=8.0.0'} webauthn-p256@0.0.10: @@ -3717,14 +3570,16 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} - which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} engines: {node: '>= 0.4'} which@1.3.1: @@ -3736,6 +3591,10 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -3762,18 +3621,6 @@ packages: utf-8-validate: optional: true - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -3800,9 +3647,10 @@ packages: resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} engines: {node: '>= 14'} - yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + yaml@2.4.2: + resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} engines: {node: '>= 14'} + hasBin: true yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -3812,96 +3660,19 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.23.4: + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - - '@adraffy/ens-normalize@1.10.0': {} - '@adraffy/ens-normalize@1.11.0': {} - '@algolia/cache-browser-local-storage@4.23.3': - dependencies: - '@algolia/cache-common': 4.23.3 - - '@algolia/cache-common@4.23.3': {} - - '@algolia/cache-in-memory@4.23.3': - dependencies: - '@algolia/cache-common': 4.23.3 - - '@algolia/client-account@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-analytics@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-common@4.23.3': - dependencies: - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-personalization@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-search@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/logger-common@4.23.3': {} - - '@algolia/logger-console@4.23.3': - dependencies: - '@algolia/logger-common': 4.23.3 - - '@algolia/recommend@4.23.3': - dependencies: - '@algolia/cache-browser-local-storage': 4.23.3 - '@algolia/cache-common': 4.23.3 - '@algolia/cache-in-memory': 4.23.3 - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/logger-console': 4.23.3 - '@algolia/requester-browser-xhr': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/requester-node-http': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/requester-browser-xhr@4.23.3': - dependencies: - '@algolia/requester-common': 4.23.3 - - '@algolia/requester-common@4.23.3': {} - - '@algolia/requester-node-http@4.23.3': - dependencies: - '@algolia/requester-common': 4.23.3 - - '@algolia/transporter@4.23.3': - dependencies: - '@algolia/cache-common': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@apidevtools/json-schema-ref-parser@11.1.0': dependencies: '@jsdevtools/ono': 7.1.3 @@ -3910,35 +3681,48 @@ snapshots: js-yaml: 4.1.0 lodash.clonedeep: 4.5.0 - '@babel/code-frame@7.23.4': + '@babel/code-frame@7.24.2': dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 '@babel/helper-validator-identifier@7.22.20': {} - '@babel/highlight@7.23.4': + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/highlight@7.24.2': dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 - '@babel/runtime@7.23.2': + '@babel/runtime@7.24.4': dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 '@braintree/sanitize-url@6.0.4': {} '@corex/deepmerge@4.0.43': {} - '@cspell/cspell-bundled-dicts@8.1.3': + '@cspell/cspell-bundled-dicts@8.7.0': dependencies: '@cspell/dict-ada': 4.0.2 - '@cspell/dict-aws': 4.0.0 + '@cspell/dict-aws': 4.0.1 '@cspell/dict-bash': 4.1.3 - '@cspell/dict-companies': 3.0.28 - '@cspell/dict-cpp': 5.0.10 - '@cspell/dict-cryptocurrencies': 4.0.0 + '@cspell/dict-companies': 3.0.31 + '@cspell/dict-cpp': 5.1.3 + '@cspell/dict-cryptocurrencies': 5.0.0 '@cspell/dict-csharp': 4.0.2 '@cspell/dict-css': 4.0.12 '@cspell/dict-dart': 2.0.3 @@ -3946,67 +3730,70 @@ snapshots: '@cspell/dict-docker': 1.1.7 '@cspell/dict-dotnet': 5.0.0 '@cspell/dict-elixir': 4.0.3 - '@cspell/dict-en-common-misspellings': 1.0.2 + '@cspell/dict-en-common-misspellings': 2.0.0 '@cspell/dict-en-gb': 1.1.33 - '@cspell/dict-en_us': 4.3.12 + '@cspell/dict-en_us': 4.3.19 '@cspell/dict-filetypes': 3.0.3 '@cspell/dict-fonts': 4.0.0 '@cspell/dict-fsharp': 1.0.1 '@cspell/dict-fullstack': 3.1.5 - '@cspell/dict-gaming-terms': 1.0.4 - '@cspell/dict-git': 2.0.0 + '@cspell/dict-gaming-terms': 1.0.5 + '@cspell/dict-git': 3.0.0 '@cspell/dict-golang': 6.0.5 '@cspell/dict-haskell': 4.0.1 '@cspell/dict-html': 4.0.5 '@cspell/dict-html-symbol-entities': 4.0.0 '@cspell/dict-java': 5.0.6 + '@cspell/dict-julia': 1.0.1 '@cspell/dict-k8s': 1.0.2 '@cspell/dict-latex': 4.0.0 '@cspell/dict-lorem-ipsum': 4.0.0 '@cspell/dict-lua': 4.0.3 '@cspell/dict-makefile': 1.0.0 + '@cspell/dict-monkeyc': 1.0.6 '@cspell/dict-node': 4.0.3 - '@cspell/dict-npm': 5.0.13 - '@cspell/dict-php': 4.0.4 + '@cspell/dict-npm': 5.0.15 + '@cspell/dict-php': 4.0.6 '@cspell/dict-powershell': 5.0.3 - '@cspell/dict-public-licenses': 2.0.5 - '@cspell/dict-python': 4.1.10 + '@cspell/dict-public-licenses': 2.0.6 + '@cspell/dict-python': 4.1.11 '@cspell/dict-r': 2.0.1 - '@cspell/dict-ruby': 5.0.1 - '@cspell/dict-rust': 4.0.1 + '@cspell/dict-ruby': 5.0.2 + '@cspell/dict-rust': 4.0.2 '@cspell/dict-scala': 5.0.0 - '@cspell/dict-software-terms': 3.3.12 - '@cspell/dict-sql': 2.1.2 + '@cspell/dict-software-terms': 3.3.20 + '@cspell/dict-sql': 2.1.3 '@cspell/dict-svelte': 1.0.2 '@cspell/dict-swift': 2.0.1 - '@cspell/dict-typescript': 3.1.2 + '@cspell/dict-terraform': 1.0.0 + '@cspell/dict-typescript': 3.1.4 '@cspell/dict-vue': 3.0.0 - '@cspell/cspell-json-reporter@8.1.3': + '@cspell/cspell-json-reporter@8.7.0': dependencies: - '@cspell/cspell-types': 8.1.3 + '@cspell/cspell-types': 8.7.0 - '@cspell/cspell-pipe@8.1.3': {} + '@cspell/cspell-pipe@8.7.0': {} - '@cspell/cspell-resolver@8.1.3': + '@cspell/cspell-resolver@8.7.0': dependencies: global-directory: 4.0.1 - '@cspell/cspell-service-bus@8.1.3': {} + '@cspell/cspell-service-bus@8.7.0': {} - '@cspell/cspell-types@8.1.3': {} + '@cspell/cspell-types@8.7.0': {} '@cspell/dict-ada@4.0.2': {} - '@cspell/dict-aws@4.0.0': {} + '@cspell/dict-aws@4.0.1': {} '@cspell/dict-bash@4.1.3': {} - '@cspell/dict-companies@3.0.28': {} + '@cspell/dict-companies@3.0.31': {} - '@cspell/dict-cpp@5.0.10': {} + '@cspell/dict-cpp@5.1.3': {} - '@cspell/dict-cryptocurrencies@4.0.0': {} + '@cspell/dict-cryptocurrencies@5.0.0': {} '@cspell/dict-csharp@4.0.2': {} @@ -4024,11 +3811,11 @@ snapshots: '@cspell/dict-elixir@4.0.3': {} - '@cspell/dict-en-common-misspellings@1.0.2': {} + '@cspell/dict-en-common-misspellings@2.0.0': {} '@cspell/dict-en-gb@1.1.33': {} - '@cspell/dict-en_us@4.3.12': {} + '@cspell/dict-en_us@4.3.19': {} '@cspell/dict-filetypes@3.0.3': {} @@ -4038,9 +3825,9 @@ snapshots: '@cspell/dict-fullstack@3.1.5': {} - '@cspell/dict-gaming-terms@1.0.4': {} + '@cspell/dict-gaming-terms@1.0.5': {} - '@cspell/dict-git@2.0.0': {} + '@cspell/dict-git@3.0.0': {} '@cspell/dict-golang@6.0.5': {} @@ -4052,6 +3839,8 @@ snapshots: '@cspell/dict-java@5.0.6': {} + '@cspell/dict-julia@1.0.1': {} + '@cspell/dict-k8s@1.0.2': {} '@cspell/dict-latex@4.0.0': {} @@ -4062,45 +3851,49 @@ snapshots: '@cspell/dict-makefile@1.0.0': {} + '@cspell/dict-monkeyc@1.0.6': {} + '@cspell/dict-node@4.0.3': {} - '@cspell/dict-npm@5.0.13': {} + '@cspell/dict-npm@5.0.15': {} - '@cspell/dict-php@4.0.4': {} + '@cspell/dict-php@4.0.6': {} '@cspell/dict-powershell@5.0.3': {} - '@cspell/dict-public-licenses@2.0.5': {} + '@cspell/dict-public-licenses@2.0.6': {} - '@cspell/dict-python@4.1.10': + '@cspell/dict-python@4.1.11': dependencies: '@cspell/dict-data-science': 1.0.11 '@cspell/dict-r@2.0.1': {} - '@cspell/dict-ruby@5.0.1': {} + '@cspell/dict-ruby@5.0.2': {} - '@cspell/dict-rust@4.0.1': {} + '@cspell/dict-rust@4.0.2': {} '@cspell/dict-scala@5.0.0': {} - '@cspell/dict-software-terms@3.3.12': {} + '@cspell/dict-software-terms@3.3.20': {} - '@cspell/dict-sql@2.1.2': {} + '@cspell/dict-sql@2.1.3': {} '@cspell/dict-svelte@1.0.2': {} '@cspell/dict-swift@2.0.1': {} - '@cspell/dict-typescript@3.1.2': {} + '@cspell/dict-terraform@1.0.0': {} + + '@cspell/dict-typescript@3.1.4': {} '@cspell/dict-vue@3.0.0': {} - '@cspell/dynamic-import@8.1.3': + '@cspell/dynamic-import@8.7.0': dependencies: - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 - '@cspell/strong-weak-map@8.1.3': {} + '@cspell/strong-weak-map@8.7.0': {} '@double-great/alt-text@3.1.0': dependencies: @@ -4114,20 +3907,20 @@ snapshots: unified-lint-rule: 2.1.2 unist-util-visit-parents: 5.1.3 - '@eslint-community/eslint-utils@4.4.0(eslint@8.54.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: - eslint: 8.54.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} - '@eslint/eslintrc@2.1.3': + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.23.0 - ignore: 5.3.0 + globals: 13.24.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -4135,19 +3928,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.54.0': {} - - '@eth-optimism/contracts-bedrock@0.16.2': {} + '@eslint/js@8.57.0': {} - '@eth-optimism/contracts-ts@0.17.0(typescript@5.3.2)(zod@3.22.4)': + '@eth-optimism/contracts-ts@0.17.2(@types/react@19.0.2)(typescript@5.4.5)(zod@3.24.1)': dependencies: - '@testing-library/react': 14.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/change-case': 2.3.1 + '@testing-library/react': 14.3.1(@types/react@19.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/change-case': 2.3.5 change-case: 4.1.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - viem: 1.19.6(typescript@5.3.2)(zod@3.22.4) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + viem: 2.21.57(typescript@5.4.5)(zod@3.24.1) transitivePeerDependencies: + - '@types/react' - bufferutil - typescript - utf-8-validate @@ -4179,13 +3971,13 @@ snapshots: '@ethersproject/rlp': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 - bufio: 1.2.1 - chai: 4.3.10 + bufio: 1.2.2 + chai: 4.5.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@eth-optimism/core-utils@0.13.1': + '@eth-optimism/core-utils@0.13.2': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -4198,7 +3990,7 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/rlp': 5.7.0 '@ethersproject/web': 5.7.1 - chai: 4.3.10 + chai: 4.5.0 ethers: 5.7.2 node-fetch: 2.7.0 transitivePeerDependencies: @@ -4206,28 +3998,28 @@ snapshots: - encoding - utf-8-validate - '@eth-optimism/sdk@3.1.6(ethers@5.7.2)': + '@eth-optimism/sdk@3.3.3(ethers@5.7.2)': dependencies: '@eth-optimism/contracts': 0.6.0(ethers@5.7.2) - '@eth-optimism/contracts-bedrock': 0.16.2 - '@eth-optimism/core-utils': 0.13.1 + '@eth-optimism/core-utils': 0.13.2 ethers: 5.7.2 lodash: 4.17.21 merkletreejs: 0.3.11 rlp: 2.2.7 + semver: 7.6.3 transitivePeerDependencies: - bufferutil - encoding - utf-8-validate - '@eth-optimism/tokenlist@9.0.9': {} + '@eth-optimism/tokenlist@10.0.193': {} '@ethereumjs/rlp@4.0.1': {} '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.1.2 + ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 '@ethersproject/abi@5.7.0': @@ -4487,54 +4279,55 @@ snapshots: '@feelback/js@0.3.4': {} - '@feelback/react@0.3.4(react@18.2.0)': + '@feelback/react@0.3.4(react@18.3.1)': dependencies: '@feelback/js': 0.3.4 - react: 18.2.0 + react: 18.3.1 '@floating-ui/core@1.6.8': dependencies: '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.11': + '@floating-ui/dom@1.6.12': dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/utils': 0.2.8 - '@floating-ui/react-dom@2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.6.11 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@floating-ui/dom': 1.6.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react@0.26.25(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@floating-ui/utils': 0.2.8 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) tabbable: 6.2.0 '@floating-ui/utils@0.2.8': {} - '@headlessui/react@1.7.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@tanstack/react-virtual': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) client-only: 0.0.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@headlessui/react@2.1.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@headlessui/react@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react': 0.26.25(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/focus': 3.18.4(react@18.2.0) - '@react-aria/interactions': 3.22.4(react@18.2.0) - '@tanstack/react-virtual': 3.10.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.19.0(react@18.3.1) + '@react-aria/interactions': 3.22.5(react@18.3.1) + '@tanstack/react-virtual': 3.11.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@humanwhocodes/config-array@0.11.13': + '@humanwhocodes/config-array@0.11.14': dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -4542,7 +4335,7 @@ snapshots: '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.1': {} + '@humanwhocodes/object-schema@2.0.3': {} '@isaacs/cliui@8.0.2': dependencies: @@ -4557,8 +4350,8 @@ snapshots: '@mdx-js/mdx@2.3.0': dependencies: - '@types/estree-jsx': 1.0.3 - '@types/mdx': 2.0.9 + '@types/estree-jsx': 1.0.5 + '@types/mdx': 2.0.13 estree-util-build-jsx: 2.2.2 estree-util-is-identifier-name: 2.1.0 estree-util-to-js: 1.2.0 @@ -4577,58 +4370,58 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/react@2.3.0(react@18.2.0)': + '@mdx-js/react@2.3.0(react@18.3.1)': dependencies: - '@types/mdx': 2.0.9 - '@types/react': 18.2.36 - react: 18.2.0 + '@types/mdx': 2.0.13 + '@types/react': 18.3.1 + react: 18.3.1 - '@napi-rs/simple-git-android-arm-eabi@0.1.9': + '@napi-rs/simple-git-android-arm-eabi@0.1.16': optional: true - '@napi-rs/simple-git-android-arm64@0.1.9': + '@napi-rs/simple-git-android-arm64@0.1.16': optional: true - '@napi-rs/simple-git-darwin-arm64@0.1.9': + '@napi-rs/simple-git-darwin-arm64@0.1.16': optional: true - '@napi-rs/simple-git-darwin-x64@0.1.9': + '@napi-rs/simple-git-darwin-x64@0.1.16': optional: true - '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.9': + '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.16': optional: true - '@napi-rs/simple-git-linux-arm64-gnu@0.1.9': + '@napi-rs/simple-git-linux-arm64-gnu@0.1.16': optional: true - '@napi-rs/simple-git-linux-arm64-musl@0.1.9': + '@napi-rs/simple-git-linux-arm64-musl@0.1.16': optional: true - '@napi-rs/simple-git-linux-x64-gnu@0.1.9': + '@napi-rs/simple-git-linux-x64-gnu@0.1.16': optional: true - '@napi-rs/simple-git-linux-x64-musl@0.1.9': + '@napi-rs/simple-git-linux-x64-musl@0.1.16': optional: true - '@napi-rs/simple-git-win32-arm64-msvc@0.1.9': + '@napi-rs/simple-git-win32-arm64-msvc@0.1.16': optional: true - '@napi-rs/simple-git-win32-x64-msvc@0.1.9': + '@napi-rs/simple-git-win32-x64-msvc@0.1.16': optional: true - '@napi-rs/simple-git@0.1.9': + '@napi-rs/simple-git@0.1.16': optionalDependencies: - '@napi-rs/simple-git-android-arm-eabi': 0.1.9 - '@napi-rs/simple-git-android-arm64': 0.1.9 - '@napi-rs/simple-git-darwin-arm64': 0.1.9 - '@napi-rs/simple-git-darwin-x64': 0.1.9 - '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.9 - '@napi-rs/simple-git-linux-arm64-gnu': 0.1.9 - '@napi-rs/simple-git-linux-arm64-musl': 0.1.9 - '@napi-rs/simple-git-linux-x64-gnu': 0.1.9 - '@napi-rs/simple-git-linux-x64-musl': 0.1.9 - '@napi-rs/simple-git-win32-arm64-msvc': 0.1.9 - '@napi-rs/simple-git-win32-x64-msvc': 0.1.9 + '@napi-rs/simple-git-android-arm-eabi': 0.1.16 + '@napi-rs/simple-git-android-arm64': 0.1.16 + '@napi-rs/simple-git-darwin-arm64': 0.1.16 + '@napi-rs/simple-git-darwin-x64': 0.1.16 + '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.16 + '@napi-rs/simple-git-linux-arm64-gnu': 0.1.16 + '@napi-rs/simple-git-linux-arm64-musl': 0.1.16 + '@napi-rs/simple-git-linux-x64-gnu': 0.1.16 + '@napi-rs/simple-git-linux-x64-musl': 0.1.16 + '@napi-rs/simple-git-win32-arm64-msvc': 0.1.16 + '@napi-rs/simple-git-win32-x64-msvc': 0.1.16 '@next/env@13.5.6': {} @@ -4661,23 +4454,19 @@ snapshots: '@next/swc-win32-x64-msvc@14.2.15': optional: true - '@noble/curves@1.1.0': - dependencies: - '@noble/hashes': 1.3.1 - - '@noble/curves@1.2.0': + '@noble/curves@1.4.2': dependencies: - '@noble/hashes': 1.3.2 + '@noble/hashes': 1.4.0 - '@noble/curves@1.6.0': + '@noble/curves@1.7.0': dependencies: - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.6.0 - '@noble/hashes@1.3.1': {} + '@noble/hashes@1.4.0': {} - '@noble/hashes@1.3.2': {} + '@noble/hashes@1.6.0': {} - '@noble/hashes@1.5.0': {} + '@noble/hashes@1.6.1': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4689,24 +4478,24 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 - '@npmcli/config@6.4.0': + '@npmcli/config@6.4.1': dependencies: - '@npmcli/map-workspaces': 3.0.4 - ci-info: 3.9.0 - ini: 4.1.1 + '@npmcli/map-workspaces': 3.0.6 + ci-info: 4.0.0 + ini: 4.1.2 nopt: 7.2.0 proc-log: 3.0.0 read-package-json-fast: 3.0.2 - semver: 7.5.4 + semver: 7.6.0 walk-up-path: 3.0.1 - '@npmcli/map-workspaces@3.0.4': + '@npmcli/map-workspaces@3.0.6': dependencies: '@npmcli/name-from-folder': 2.0.0 - glob: 10.3.10 - minimatch: 9.0.3 + glob: 10.3.12 + minimatch: 9.0.4 read-package-json-fast: 3.0.2 '@npmcli/name-from-folder@2.0.0': {} @@ -4714,108 +4503,65 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/utils@2.4.2': - dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.3.2 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.6.2 + '@pkgr/core@0.1.1': {} '@popperjs/core@2.11.8': {} - '@react-aria/focus@3.18.4(react@18.2.0)': - dependencies: - '@react-aria/interactions': 3.22.4(react@18.2.0) - '@react-aria/utils': 3.25.3(react@18.2.0) - '@react-types/shared': 3.25.0(react@18.2.0) - '@swc/helpers': 0.5.5 - clsx: 2.1.1 - react: 18.2.0 - - '@react-aria/interactions@3.22.4(react@18.2.0)': - dependencies: - '@react-aria/ssr': 3.9.6(react@18.2.0) - '@react-aria/utils': 3.25.3(react@18.2.0) - '@react-types/shared': 3.25.0(react@18.2.0) - '@swc/helpers': 0.5.5 - react: 18.2.0 - - '@react-aria/ssr@3.9.6(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.5 - react: 18.2.0 - - '@react-aria/utils@3.25.3(react@18.2.0)': - dependencies: - '@react-aria/ssr': 3.9.6(react@18.2.0) - '@react-stately/utils': 3.10.4(react@18.2.0) - '@react-types/shared': 3.25.0(react@18.2.0) - '@swc/helpers': 0.5.5 - clsx: 2.1.1 - react: 18.2.0 - - '@react-stately/utils@3.10.4(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.5 - react: 18.2.0 - - '@react-types/shared@3.25.0(react@18.2.0)': - dependencies: - react: 18.2.0 - - '@scure/base@1.1.3': {} - '@scure/base@1.1.9': {} - '@scure/bip32@1.3.1': + '@scure/base@1.2.1': {} + + '@scure/bip32@1.4.0': dependencies: - '@noble/curves': 1.1.0 - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.3 + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 - '@scure/bip32@1.3.2': + '@scure/bip32@1.6.0': dependencies: - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.3 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 - '@scure/bip32@1.5.0': + '@scure/bip39@1.3.0': dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@scure/bip39@1.2.1': + '@scure/bip39@1.5.0': dependencies: - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.3 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 - '@scure/bip39@1.4.0': + '@swc/helpers@0.5.2': dependencies: - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.9 - - '@swc/counter@0.1.3': {} + tslib: 2.8.1 '@swc/helpers@0.5.5': dependencies: '@swc/counter': 0.1.3 - tslib: 2.6.2 + tslib: 2.8.1 - '@tanstack/react-virtual@3.10.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tanstack/react-virtual@3.11.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/virtual-core': 3.10.8 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@tanstack/virtual-core': 3.11.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@tanstack/virtual-core@3.10.8': {} + '@tanstack/react-virtual@3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/virtual-core': 3.5.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@testing-library/dom@9.3.3': + '@tanstack/virtual-core@3.11.2': {} + + '@tanstack/virtual-core@3.5.0': {} + + '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.23.4 - '@babel/runtime': 7.23.2 + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -4823,25 +4569,27 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/react@14.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@testing-library/react@14.3.1(@types/react@19.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.2 - '@testing-library/dom': 9.3.3 - '@types/react-dom': 18.2.16 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@babel/runtime': 7.26.0 + '@testing-library/dom': 9.3.4 + '@types/react-dom': 18.3.5(@types/react@19.0.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@types/react' - '@theguild/remark-mermaid@0.0.5(react@18.2.0)': + '@theguild/remark-mermaid@0.0.5(react@18.3.1)': dependencies: - mermaid: 10.6.1 - react: 18.2.0 + mermaid: 10.9.0 + react: 18.3.1 unist-util-visit: 5.0.0 transitivePeerDependencies: - supports-color '@theguild/remark-npm2yarn@0.2.1': dependencies: - npm-to-yarn: 2.1.0 + npm-to-yarn: 2.2.1 unist-util-visit: 5.0.0 '@types/acorn@4.0.6': @@ -4850,7 +4598,7 @@ snapshots: '@types/aria-query@5.0.4': {} - '@types/change-case@2.3.1': + '@types/change-case@2.3.5': dependencies: change-case: 4.1.2 @@ -4858,99 +4606,95 @@ snapshots: dependencies: '@types/node': 18.11.10 - '@types/d3-scale-chromatic@3.0.1': {} + '@types/d3-scale-chromatic@3.0.3': {} - '@types/d3-scale@4.0.7': + '@types/d3-scale@4.0.8': dependencies: - '@types/d3-time': 3.0.2 + '@types/d3-time': 3.0.3 - '@types/d3-time@3.0.2': {} + '@types/d3-time@3.0.3': {} - '@types/debug@4.1.11': + '@types/debug@4.1.12': dependencies: - '@types/ms': 0.7.33 + '@types/ms': 0.7.34 - '@types/estree-jsx@1.0.3': + '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.5 '@types/estree@1.0.5': {} - '@types/hast@2.3.7': + '@types/hast@2.3.10': dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 - '@types/hast@3.0.2': + '@types/hast@3.0.4': dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 '@types/is-empty@1.2.3': {} - '@types/js-yaml@4.0.8': {} + '@types/js-yaml@4.0.9': {} '@types/json-schema@7.0.15': {} - '@types/katex@0.16.5': {} + '@types/katex@0.16.7': {} '@types/lodash.clonedeep@4.5.9': dependencies: - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.0 - '@types/lodash@4.14.202': {} + '@types/lodash@4.17.0': {} - '@types/mdast@3.0.14': + '@types/mdast@3.0.15': dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 - '@types/mdast@4.0.2': + '@types/mdast@4.0.3': dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 - '@types/mdx@2.0.9': {} + '@types/mdx@2.0.13': {} - '@types/ms@0.7.33': {} + '@types/ms@0.7.34': {} '@types/node@18.11.10': {} - '@types/prop-types@15.7.9': {} + '@types/prop-types@15.7.12': {} - '@types/react-dom@18.2.16': + '@types/react-dom@18.3.5(@types/react@19.0.2)': dependencies: - '@types/react': 18.2.36 + '@types/react': 19.0.2 - '@types/react@18.2.36': + '@types/react@18.3.1': dependencies: - '@types/prop-types': 15.7.9 - '@types/scheduler': 0.16.5 - csstype: 3.1.2 + '@types/prop-types': 15.7.12 + csstype: 3.1.3 - '@types/scheduler@0.16.5': {} + '@types/react@19.0.2': + dependencies: + csstype: 3.1.3 '@types/supports-color@8.1.3': {} - '@types/unist@2.0.9': {} + '@types/unist@2.0.10': {} - '@types/unist@3.0.1': {} + '@types/unist@3.0.2': {} '@ungap/structured-clone@1.2.0': {} abbrev@2.0.0: {} - abitype@0.9.8(typescript@5.3.2)(zod@3.22.4): - optionalDependencies: - typescript: 5.3.2 - zod: 3.22.4 - - abitype@1.0.6(typescript@5.3.2)(zod@3.22.4): + abitype@1.0.7(typescript@5.4.5)(zod@3.24.1): optionalDependencies: - typescript: 5.3.2 - zod: 3.22.4 + typescript: 5.4.5 + zod: 3.24.1 - acorn-jsx@5.3.2(acorn@8.11.2): + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: - acorn: 8.11.2 + acorn: 8.11.3 - acorn@8.11.2: {} + acorn@8.11.3: {} aes-js@3.0.0: {} @@ -4972,23 +4716,23 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - algoliasearch@4.23.3: - dependencies: - '@algolia/cache-browser-local-storage': 4.23.3 - '@algolia/cache-common': 4.23.3 - '@algolia/cache-in-memory': 4.23.3 - '@algolia/client-account': 4.23.3 - '@algolia/client-analytics': 4.23.3 - '@algolia/client-common': 4.23.3 - '@algolia/client-personalization': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/logger-console': 4.23.3 - '@algolia/recommend': 4.23.3 - '@algolia/requester-browser-xhr': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/requester-node-http': 4.23.3 - '@algolia/transporter': 4.23.3 + algoliasearch@4.24.0: + dependencies: + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-account': 4.24.0 + '@algolia/client-analytics': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-personalization': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/recommend': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 ansi-regex@5.0.1: {} @@ -5022,10 +4766,10 @@ snapshots: dependencies: deep-equal: 2.2.3 - array-buffer-byte-length@1.0.0: + array-buffer-byte-length@1.0.2: dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 + call-bound: 1.0.3 + is-array-buffer: 3.0.5 array-timsort@1.0.3: {} @@ -5035,7 +4779,9 @@ snapshots: astring@1.8.6: {} - available-typed-arrays@1.0.5: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 bail@2.0.2: {} @@ -5043,8 +4789,6 @@ snapshots: bech32@1.1.4: {} - big-integer@1.6.52: {} - bignumber.js@9.1.2: {} bn.js@4.11.6: {} @@ -5053,10 +4797,6 @@ snapshots: bn.js@5.2.1: {} - bplist-parser@0.2.0: - dependencies: - big-integer: 1.6.52 - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -5076,48 +4816,55 @@ snapshots: buffer-reverse@1.0.1: {} - bufio@1.2.1: {} - - bundle-name@3.0.0: - dependencies: - run-applescript: 5.0.0 + bufio@1.2.2: {} busboy@1.6.0: dependencies: streamsearch: 1.1.0 - call-bind@1.0.5: + call-bind-apply-helpers@1.0.1: dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.6 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.6 callsites@3.1.0: {} camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.2 + tslib: 2.8.1 - caniuse-lite@1.0.30001669: {} + caniuse-lite@1.0.30001614: {} capital-case@1.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 upper-case-first: 2.0.2 ccount@2.0.1: {} - chai@4.3.10: + chai@4.5.0: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.0.8 + type-detect: 4.1.0 chalk-template@1.1.0: dependencies: @@ -5155,7 +4902,7 @@ snapshots: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 character-entities-html4@2.1.0: {} @@ -5175,7 +4922,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - ci-info@3.9.0: {} + ci-info@4.0.0: {} clear-module@4.1.2: dependencies: @@ -5205,7 +4952,7 @@ snapshots: comma-separated-tokens@2.0.3: {} - commander@11.1.0: {} + commander@12.0.0: {} commander@7.2.0: {} @@ -5241,7 +4988,7 @@ snapshots: constant-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 upper-case: 2.0.2 core-util-is@1.0.3: {} @@ -5250,10 +4997,6 @@ snapshots: dependencies: layout-base: 1.0.2 - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - cross-spawn@5.1.0: dependencies: lru-cache: 4.1.5 @@ -5272,105 +5015,97 @@ snapshots: dependencies: type-fest: 1.4.0 - cspell-config-lib@8.1.3: + cspell-config-lib@8.7.0: dependencies: - '@cspell/cspell-types': 8.1.3 + '@cspell/cspell-types': 8.7.0 comment-json: 4.2.3 - yaml: 2.3.4 + yaml: 2.4.2 - cspell-dictionary@8.1.3: + cspell-dictionary@8.7.0: dependencies: - '@cspell/cspell-pipe': 8.1.3 - '@cspell/cspell-types': 8.1.3 - cspell-trie-lib: 8.1.3 + '@cspell/cspell-pipe': 8.7.0 + '@cspell/cspell-types': 8.7.0 + cspell-trie-lib: 8.7.0 fast-equals: 5.0.1 - gensequence: 6.0.0 + gensequence: 7.0.0 - cspell-gitignore@8.1.3: + cspell-gitignore@8.7.0: dependencies: - cspell-glob: 8.1.3 + cspell-glob: 8.7.0 find-up-simple: 1.0.0 - cspell-glob@8.1.3: + cspell-glob@8.7.0: dependencies: micromatch: 4.0.5 - cspell-grammar@8.1.3: + cspell-grammar@8.7.0: dependencies: - '@cspell/cspell-pipe': 8.1.3 - '@cspell/cspell-types': 8.1.3 + '@cspell/cspell-pipe': 8.7.0 + '@cspell/cspell-types': 8.7.0 - cspell-io@8.1.3: + cspell-io@8.7.0: dependencies: - '@cspell/cspell-service-bus': 8.1.3 + '@cspell/cspell-service-bus': 8.7.0 - cspell-lib@8.1.3: + cspell-lib@8.7.0: dependencies: - '@cspell/cspell-bundled-dicts': 8.1.3 - '@cspell/cspell-pipe': 8.1.3 - '@cspell/cspell-resolver': 8.1.3 - '@cspell/cspell-types': 8.1.3 - '@cspell/dynamic-import': 8.1.3 - '@cspell/strong-weak-map': 8.1.3 + '@cspell/cspell-bundled-dicts': 8.7.0 + '@cspell/cspell-pipe': 8.7.0 + '@cspell/cspell-resolver': 8.7.0 + '@cspell/cspell-types': 8.7.0 + '@cspell/dynamic-import': 8.7.0 + '@cspell/strong-weak-map': 8.7.0 clear-module: 4.1.2 comment-json: 4.2.3 configstore: 6.0.0 - cspell-config-lib: 8.1.3 - cspell-dictionary: 8.1.3 - cspell-glob: 8.1.3 - cspell-grammar: 8.1.3 - cspell-io: 8.1.3 - cspell-trie-lib: 8.1.3 + cspell-config-lib: 8.7.0 + cspell-dictionary: 8.7.0 + cspell-glob: 8.7.0 + cspell-grammar: 8.7.0 + cspell-io: 8.7.0 + cspell-trie-lib: 8.7.0 fast-equals: 5.0.1 - gensequence: 6.0.0 + gensequence: 7.0.0 import-fresh: 3.3.0 resolve-from: 5.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - cspell-trie-lib@8.1.3: + cspell-trie-lib@8.7.0: dependencies: - '@cspell/cspell-pipe': 8.1.3 - '@cspell/cspell-types': 8.1.3 - gensequence: 6.0.0 + '@cspell/cspell-pipe': 8.7.0 + '@cspell/cspell-types': 8.7.0 + gensequence: 7.0.0 - cspell@8.1.3: + cspell@8.7.0: dependencies: - '@cspell/cspell-json-reporter': 8.1.3 - '@cspell/cspell-pipe': 8.1.3 - '@cspell/cspell-types': 8.1.3 - '@cspell/dynamic-import': 8.1.3 + '@cspell/cspell-json-reporter': 8.7.0 + '@cspell/cspell-pipe': 8.7.0 + '@cspell/cspell-types': 8.7.0 + '@cspell/dynamic-import': 8.7.0 chalk: 5.3.0 chalk-template: 1.1.0 - commander: 11.1.0 - cspell-gitignore: 8.1.3 - cspell-glob: 8.1.3 - cspell-io: 8.1.3 - cspell-lib: 8.1.3 + commander: 12.0.0 + cspell-gitignore: 8.7.0 + cspell-glob: 8.7.0 + cspell-io: 8.7.0 + cspell-lib: 8.7.0 fast-glob: 3.3.2 fast-json-stable-stringify: 2.1.0 - file-entry-cache: 7.0.2 + file-entry-cache: 8.0.0 get-stdin: 9.0.0 - semver: 7.5.4 + semver: 7.6.0 strip-ansi: 7.1.0 vscode-uri: 3.0.8 - csstype@3.1.2: {} + csstype@3.1.3: {} - cytoscape-cose-bilkent@4.1.0(cytoscape@3.27.0): + cytoscape-cose-bilkent@4.1.0(cytoscape@3.29.2): dependencies: cose-base: 1.0.3 - cytoscape: 3.27.0 + cytoscape: 3.29.2 - cytoscape-fcose@2.2.0(cytoscape@3.27.0): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.27.0 - - cytoscape@3.27.0: - dependencies: - heap: 0.2.7 - lodash: 4.17.21 + cytoscape@3.29.2: {} d3-array@2.12.1: dependencies: @@ -5402,7 +5137,7 @@ snapshots: d3-delaunay@6.0.4: dependencies: - delaunator: 5.0.0 + delaunator: 5.0.1 d3-dispatch@3.0.1: {} @@ -5431,7 +5166,7 @@ snapshots: d3-format@3.1.0: {} - d3-geo@3.1.0: + d3-geo@3.1.1: dependencies: d3-array: 3.2.4 @@ -5456,7 +5191,7 @@ snapshots: d3-array: 2.12.1 d3-shape: 1.3.7 - d3-scale-chromatic@3.0.0: + d3-scale-chromatic@3.1.0: dependencies: d3-color: 3.1.0 d3-interpolate: 3.0.1 @@ -5506,7 +5241,7 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - d3@7.8.5: + d3@7.9.0: dependencies: d3-array: 3.2.4 d3-axis: 3.0.0 @@ -5522,7 +5257,7 @@ snapshots: d3-fetch: 3.0.1 d3-force: 3.0.0 d3-format: 3.1.0 - d3-geo: 3.1.0 + d3-geo: 3.1.1 d3-hierarchy: 3.1.2 d3-interpolate: 3.0.1 d3-path: 3.1.0 @@ -5530,7 +5265,7 @@ snapshots: d3-quadtree: 3.0.1 d3-random: 3.0.1 d3-scale: 4.0.2 - d3-scale-chromatic: 3.0.0 + d3-scale-chromatic: 3.1.0 d3-selection: 3.0.0 d3-shape: 3.2.0 d3-time: 3.1.0 @@ -5541,10 +5276,10 @@ snapshots: dagre-d3-es@7.0.10: dependencies: - d3: 7.8.5 + d3: 7.9.0 lodash-es: 4.17.21 - dayjs@1.11.10: {} + dayjs@1.11.11: {} debug@4.3.4: dependencies: @@ -5554,60 +5289,46 @@ snapshots: dependencies: character-entities: 2.0.2 - deep-eql@4.1.3: + deep-eql@4.1.4: dependencies: - type-detect: 4.0.8 + type-detect: 4.1.0 deep-equal@2.2.3: dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.2 - is-arguments: 1.1.1 - is-array-buffer: 3.0.2 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + get-intrinsic: 1.2.6 + is-arguments: 1.2.0 + is-array-buffer: 3.0.5 + is-date-object: 1.1.0 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 isarray: 2.0.5 - object-is: 1.1.5 + object-is: 1.1.6 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - side-channel: 1.0.4 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 + object.assign: 4.1.7 + regexp.prototype.flags: 1.5.3 + side-channel: 1.1.0 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.18 deep-is@0.1.4: {} - default-browser-id@3.0.0: - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - - default-browser@4.0.0: + define-data-property@1.1.4: dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - - define-data-property@1.1.1: - dependencies: - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - - define-lazy-prop@3.0.0: {} + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 define-properties@1.2.1: dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 - delaunator@5.0.0: + delaunator@5.0.1: dependencies: robust-predicates: 3.0.2 @@ -5617,7 +5338,7 @@ snapshots: dependencies: dequal: 2.0.3 - diff@5.1.0: {} + diff@5.2.0: {} dir-glob@3.0.1: dependencies: @@ -5629,20 +5350,26 @@ snapshots: dom-accessibility-api@0.5.16: {} - dompurify@3.0.6: {} + dompurify@3.1.1: {} dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 dot-prop@6.0.1: dependencies: is-obj: 2.0.0 + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + eastasianwidth@0.2.0: {} - elkjs@0.8.2: {} + elkjs@0.9.3: {} elliptic@6.5.4: dependencies: @@ -5666,17 +5393,25 @@ snapshots: dependencies: is-arrayish: 0.2.1 + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + es-get-iterator@1.1.3: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 + call-bind: 1.0.8 + get-intrinsic: 1.2.6 + has-symbols: 1.1.0 + is-arguments: 1.2.0 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.1.1 isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 + stop-iteration-iterator: 1.1.0 + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 escape-string-regexp@1.0.5: {} @@ -5684,17 +5419,17 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-mdx@2.2.0(eslint@8.54.0): + eslint-mdx@2.3.4(eslint@8.57.0): dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) - eslint: 8.54.0 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint: 8.57.0 espree: 9.6.1 estree-util-visit: 1.2.1 remark-mdx: 2.3.0 remark-parse: 10.0.2 remark-stringify: 10.0.3 - synckit: 0.8.5 + synckit: 0.9.0 tslib: 2.6.2 unified: 10.1.2 unified-engine: 10.1.0 @@ -5704,18 +5439,18 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-markdown@3.0.1(eslint@8.54.0): + eslint-plugin-markdown@3.0.1(eslint@8.57.0): dependencies: - eslint: 8.54.0 + eslint: 8.57.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-mdx@2.2.0(eslint@8.54.0): + eslint-plugin-mdx@2.3.4(eslint@8.57.0): dependencies: - eslint: 8.54.0 - eslint-mdx: 2.2.0(eslint@8.54.0) - eslint-plugin-markdown: 3.0.1(eslint@8.54.0) + eslint: 8.57.0 + eslint-mdx: 2.3.4(eslint@8.57.0) + eslint-plugin-markdown: 3.0.1(eslint@8.57.0) remark-mdx: 2.3.0 remark-parse: 10.0.2 remark-stringify: 10.0.3 @@ -5732,13 +5467,13 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.54.0: + eslint@8.57.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -5757,9 +5492,9 @@ snapshots: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.23.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -5769,7 +5504,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -5777,8 +5512,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -5799,7 +5534,7 @@ snapshots: estree-util-build-jsx@2.2.2: dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.5 estree-util-is-identifier-name: 2.1.0 estree-walker: 3.0.3 @@ -5807,7 +5542,7 @@ snapshots: estree-util-to-js@1.2.0: dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.5 astring: 1.8.6 source-map: 0.7.4 @@ -5817,8 +5552,8 @@ snapshots: estree-util-visit@1.2.1: dependencies: - '@types/estree-jsx': 1.0.3 - '@types/unist': 2.0.9 + '@types/estree-jsx': 1.0.5 + '@types/unist': 2.0.10 estree-walker@3.0.3: dependencies: @@ -5826,16 +5561,16 @@ snapshots: esutils@2.0.3: {} - ethereum-bloom-filters@1.0.10: + ethereum-bloom-filters@1.2.0: dependencies: - js-sha3: 0.8.0 + '@noble/hashes': 1.6.1 - ethereum-cryptography@2.1.2: + ethereum-cryptography@2.2.1: dependencies: - '@noble/curves': 1.1.0 - '@noble/hashes': 1.3.1 - '@scure/bip32': 1.3.1 - '@scure/bip39': 1.2.1 + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 ethers@5.7.2: dependencies: @@ -5878,6 +5613,8 @@ snapshots: bn.js: 4.11.6 number-to-bn: 1.7.0 + eventemitter3@5.0.1: {} + execa@0.8.0: dependencies: cross-spawn: 5.1.0 @@ -5888,30 +5625,6 @@ snapshots: signal-exit: 3.0.7 strip-eof: 1.0.0 - execa@5.1.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - execa@7.2.0: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -5934,7 +5647,7 @@ snapshots: fast-levenshtein@2.0.6: {} - fastq@1.15.0: + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -5946,9 +5659,9 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-entry-cache@7.0.2: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.0.1: dependencies: @@ -5968,13 +5681,18 @@ snapshots: flat-cache@3.2.0: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - flatted@3.2.9: {} + flat-cache@4.0.1: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + + flatted@3.3.1: {} - flexsearch@0.7.31: {} + flexsearch@0.7.43: {} focus-visible@5.2.0: {} @@ -5995,23 +5713,27 @@ snapshots: functions-have-names@1.2.3: {} - gensequence@6.0.0: {} + gensequence@7.0.0: {} get-func-name@2.0.2: {} - get-intrinsic@1.2.2: + get-intrinsic@1.2.6: dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 function-bind: 1.1.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.0 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 get-stdin@9.0.0: {} get-stream@3.0.0: {} - get-stream@6.0.1: {} - git-up@7.0.0: dependencies: is-ssh: 1.4.0 @@ -6033,13 +5755,13 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.10: + glob@10.3.12: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 7.0.4 - path-scurry: 1.10.1 + path-scurry: 1.10.2 glob@7.2.3: dependencies: @@ -6062,22 +5784,11 @@ snapshots: dependencies: ini: 4.1.1 - globals@13.23.0: + globals@13.24.0: dependencies: type-fest: 0.20.2 - globby@11.0.4: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.0 - merge2: 1.4.1 - slash: 3.0.0 - - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.2 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -6090,7 +5801,7 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 - has-bigints@1.0.2: {} + has-bigints@1.1.0: {} has-flag@2.0.0: {} @@ -6100,17 +5811,15 @@ snapshots: has-own-prop@2.0.0: {} - has-property-descriptors@1.0.1: + has-property-descriptors@1.0.2: dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.1 - has-proto@1.0.1: {} + has-symbols@1.1.0: {} - has-symbols@1.0.3: {} - - has-tostringtag@1.0.0: + has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 hash-obj@4.0.0: dependencies: @@ -6123,26 +5832,26 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 - hasown@2.0.0: + hasown@2.0.2: dependencies: function-bind: 1.1.2 hast-util-from-dom@5.0.0: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 hastscript: 8.0.0 web-namespaces: 2.0.1 hast-util-from-html-isomorphic@2.0.0: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 hast-util-from-dom: 5.0.0 hast-util-from-html: 2.0.1 unist-util-remove-position: 5.0.0 hast-util-from-html@2.0.1: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 devlop: 1.1.0 hast-util-from-parse5: 8.0.1 parse5: 7.1.2 @@ -6151,32 +5860,32 @@ snapshots: hast-util-from-parse5@8.0.1: dependencies: - '@types/hast': 3.0.2 - '@types/unist': 3.0.1 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.4.0 + property-information: 6.5.0 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 hast-util-is-element@3.0.0: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 - hast-util-raw@9.0.1: + hast-util-raw@9.0.2: dependencies: - '@types/hast': 3.0.2 - '@types/unist': 3.0.1 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 '@ungap/structured-clone': 1.2.0 hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -6187,16 +5896,16 @@ snapshots: hast-util-to-estree@2.3.3: dependencies: '@types/estree': 1.0.5 - '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.7 - '@types/unist': 2.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/unist': 2.0.10 comma-separated-tokens: 2.0.3 estree-util-attach-comments: 2.1.1 estree-util-is-identifier-name: 2.1.0 hast-util-whitespace: 2.0.1 mdast-util-mdx-expression: 1.3.2 mdast-util-mdxjs-esm: 1.3.1 - property-information: 6.4.0 + property-information: 6.5.0 space-separated-tokens: 2.0.2 style-to-object: 0.4.4 unist-util-position: 4.0.4 @@ -6206,18 +5915,18 @@ snapshots: hast-util-to-parse5@8.0.0: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.4.0 + property-information: 6.5.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-to-text@4.0.0: + hast-util-to-text@4.0.2: dependencies: - '@types/hast': 3.0.2 - '@types/unist': 3.0.1 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 hast-util-is-element: 3.0.0 unist-util-find-after: 5.0.0 @@ -6225,18 +5934,16 @@ snapshots: hastscript@8.0.0: dependencies: - '@types/hast': 3.0.2 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.4.0 + property-information: 6.5.0 space-separated-tokens: 2.0.2 header-case@2.0.4: dependencies: capital-case: 1.0.4 - tslib: 2.6.2 - - heap@0.2.7: {} + tslib: 2.8.1 hmac-drbg@1.0.1: dependencies: @@ -6246,15 +5953,11 @@ snapshots: html-void-elements@3.0.0: {} - human-signals@2.1.0: {} - - human-signals@4.3.1: {} - iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - ignore@5.3.0: {} + ignore@5.3.1: {} import-fresh@3.3.0: dependencies: @@ -6263,7 +5966,7 @@ snapshots: import-meta-resolve@2.2.2: {} - import-meta-resolve@4.0.0: {} + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -6276,13 +5979,15 @@ snapshots: ini@4.1.1: {} + ini@4.1.2: {} + inline-style-parser@0.1.1: {} - internal-slot@1.0.6: + internal-slot@1.1.0: dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 internmap@1.0.1: {} @@ -6304,44 +6009,41 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-arguments@1.1.1: + is-arguments@1.2.0: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bound: 1.0.3 + has-tostringtag: 1.0.2 - is-array-buffer@3.0.2: + is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.6 is-arrayish@0.2.1: {} - is-bigint@1.0.4: + is-bigint@1.1.0: dependencies: - has-bigints: 1.0.2 + has-bigints: 1.1.0 - is-boolean-object@1.1.2: + is-boolean-object@1.2.1: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bound: 1.0.3 + has-tostringtag: 1.0.2 is-buffer@2.0.5: {} is-callable@1.2.7: {} - is-date-object@1.0.5: + is-date-object@1.1.0: dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.3 + has-tostringtag: 1.0.2 is-decimal@1.0.4: {} is-decimal@2.0.1: {} - is-docker@2.2.1: {} - - is-docker@3.0.0: {} - is-empty@1.2.0: {} is-extendable@0.1.1: {} @@ -6360,15 +6062,12 @@ snapshots: is-hexadecimal@2.0.1: {} - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 + is-map@2.0.3: {} - is-map@2.0.2: {} - - is-number-object@1.0.7: + is-number-object@1.1.1: dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.3 + has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -6386,16 +6085,18 @@ snapshots: dependencies: '@types/estree': 1.0.5 - is-regex@1.1.4: + is-regex@1.2.1: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - is-set@2.0.2: {} + is-set@2.0.3: {} - is-shared-array-buffer@1.0.2: + is-shared-array-buffer@1.0.4: dependencies: - call-bind: 1.0.5 + call-bound: 1.0.3 is-ssh@1.4.0: dependencies: @@ -6403,43 +6104,30 @@ snapshots: is-stream@1.1.0: {} - is-stream@2.0.1: {} - - is-stream@3.0.0: {} - - is-string@1.0.7: + is-string@1.1.1: dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.3 + has-tostringtag: 1.0.2 - is-symbol@1.0.4: + is-symbol@1.1.1: dependencies: - has-symbols: 1.0.3 - - is-typed-array@1.1.12: - dependencies: - which-typed-array: 1.1.13 + call-bound: 1.0.3 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 is-typedarray@1.0.0: {} - is-weakmap@2.0.1: {} - - is-weakset@2.0.2: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + is-weakmap@2.0.2: {} - is-wsl@2.2.0: + is-weakset@2.0.4: dependencies: - is-docker: 2.2.1 + call-bound: 1.0.3 + get-intrinsic: 1.2.6 isarray@2.0.5: {} isexe@2.0.0: {} - isows@1.0.3(ws@8.13.0): - dependencies: - ws: 8.13.0 - isows@1.0.6(ws@8.18.0): dependencies: ws: 8.18.0 @@ -6467,7 +6155,7 @@ snapshots: json-parse-even-better-errors@2.3.1: {} - json-parse-even-better-errors@3.0.0: {} + json-parse-even-better-errors@3.0.1: {} json-schema-traverse@0.4.1: {} @@ -6475,9 +6163,9 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - jsonc-parser@3.2.0: {} + jsonc-parser@3.2.1: {} - katex@0.16.9: + katex@0.16.10: dependencies: commander: 8.3.0 @@ -6493,8 +6181,6 @@ snapshots: layout-base@1.0.2: {} - layout-base@2.0.1: {} - levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -6504,7 +6190,7 @@ snapshots: load-plugin@5.1.0: dependencies: - '@npmcli/config': 6.4.0 + '@npmcli/config': 6.4.1 import-meta-resolve: 2.2.2 locate-path@6.0.0: @@ -6537,9 +6223,9 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 - lru-cache@10.0.3: {} + lru-cache@10.2.2: {} lru-cache@4.1.5: dependencies: @@ -6556,34 +6242,36 @@ snapshots: markdown-table@3.0.3: {} - match-sorter@6.3.1: + match-sorter@6.3.4: dependencies: - '@babel/runtime': 7.23.2 - remove-accents: 0.4.2 + '@babel/runtime': 7.24.4 + remove-accents: 0.5.0 + + math-intrinsics@1.1.0: {} mdast-comment-marker@2.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-mdx-expression: 1.3.2 transitivePeerDependencies: - supports-color mdast-util-definitions@5.1.2: dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 unist-util-visit: 4.1.2 mdast-util-find-and-replace@2.2.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 escape-string-regexp: 5.0.0 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 mdast-util-from-markdown@0.8.5: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -6593,8 +6281,8 @@ snapshots: mdast-util-from-markdown@1.3.1: dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 micromark: 3.2.0 @@ -6610,8 +6298,8 @@ snapshots: mdast-util-from-markdown@2.0.0: dependencies: - '@types/mdast': 4.0.2 - '@types/unist': 3.0.1 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 @@ -6627,7 +6315,7 @@ snapshots: mdast-util-frontmatter@2.0.1: dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 devlop: 1.1.0 escape-string-regexp: 5.0.0 mdast-util-from-markdown: 2.0.0 @@ -6638,25 +6326,25 @@ snapshots: mdast-util-gfm-autolink-literal@1.0.3: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 ccount: 2.0.1 mdast-util-find-and-replace: 2.2.2 micromark-util-character: 1.2.0 mdast-util-gfm-footnote@1.0.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 micromark-util-normalize-identifier: 1.1.0 mdast-util-gfm-strikethrough@1.0.3: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 mdast-util-gfm-table@1.0.7: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 markdown-table: 3.0.3 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 @@ -6665,7 +6353,7 @@ snapshots: mdast-util-gfm-task-list-item@1.0.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 mdast-util-gfm@2.0.2: @@ -6682,19 +6370,19 @@ snapshots: mdast-util-heading-style@2.0.1: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-math@2.0.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 longest-streak: 3.1.0 mdast-util-to-markdown: 1.5.0 mdast-util-mdx-expression@1.3.2: dependencies: - '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: @@ -6702,15 +6390,15 @@ snapshots: mdast-util-mdx-jsx@2.1.4: dependencies: - '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 ccount: 2.0.1 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 parse-entities: 4.0.1 - stringify-entities: 4.0.3 + stringify-entities: 4.0.4 unist-util-remove-position: 4.0.2 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 @@ -6729,9 +6417,9 @@ snapshots: mdast-util-mdxjs-esm@1.3.1: dependencies: - '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: @@ -6739,18 +6427,18 @@ snapshots: mdast-util-phrasing@3.0.1: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unist-util-is: 5.2.1 - mdast-util-phrasing@4.0.0: + mdast-util-phrasing@4.1.0: dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 unist-util-is: 6.0.0 mdast-util-to-hast@12.3.0: dependencies: - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 mdast-util-definitions: 5.1.2 micromark-util-sanitize-uri: 1.2.0 trim-lines: 3.0.1 @@ -6758,21 +6446,22 @@ snapshots: unist-util-position: 4.0.4 unist-util-visit: 4.1.2 - mdast-util-to-hast@13.0.2: + mdast-util-to-hast@13.1.0: dependencies: - '@types/hast': 3.0.2 - '@types/mdast': 4.0.2 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.0 trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 + vfile: 6.0.1 mdast-util-to-markdown@1.5.0: dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 mdast-util-to-string: 3.2.0 @@ -6782,10 +6471,10 @@ snapshots: mdast-util-to-markdown@2.1.0: dependencies: - '@types/mdast': 4.0.2 - '@types/unist': 3.0.1 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 longest-streak: 3.1.0 - mdast-util-phrasing: 4.0.0 + mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 @@ -6795,13 +6484,11 @@ snapshots: mdast-util-to-string@3.2.0: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-string@4.0.0: dependencies: - '@types/mdast': 4.0.2 - - merge-stream@2.0.0: {} + '@types/mdast': 4.0.3 merge2@1.4.1: {} @@ -6811,30 +6498,30 @@ snapshots: buffer-reverse: 1.0.1 crypto-js: 4.2.0 treeify: 1.1.0 - web3-utils: 1.10.3 + web3-utils: 1.10.4 - mermaid@10.6.1: + mermaid@10.9.0: dependencies: '@braintree/sanitize-url': 6.0.4 - '@types/d3-scale': 4.0.7 - '@types/d3-scale-chromatic': 3.0.1 - cytoscape: 3.27.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.27.0) - cytoscape-fcose: 2.2.0(cytoscape@3.27.0) - d3: 7.8.5 + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + cytoscape: 3.29.2 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.29.2) + d3: 7.9.0 d3-sankey: 0.12.3 dagre-d3-es: 7.0.10 - dayjs: 1.11.10 - dompurify: 3.0.6 - elkjs: 0.8.2 + dayjs: 1.11.11 + dompurify: 3.1.1 + elkjs: 0.9.3 + katex: 0.16.10 khroma: 2.1.0 lodash-es: 4.17.21 mdast-util-from-markdown: 1.3.1 non-layered-tidy-tree-layout: 2.0.2 - stylis: 4.3.0 + stylis: 4.3.2 ts-dedent: 2.2.0 uuid: 9.0.1 - web-worker: 1.2.0 + web-worker: 1.3.0 transitivePeerDependencies: - supports-color @@ -6859,7 +6546,7 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-core-commonmark@2.0.0: + micromark-core-commonmark@2.0.1: dependencies: decode-named-character-reference: 1.0.2 devlop: 1.1.0 @@ -6868,20 +6555,20 @@ snapshots: micromark-factory-space: 2.0.0 micromark-factory-title: 2.0.0 micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 micromark-util-classify-character: 2.0.0 micromark-util-html-tag-name: 2.0.0 micromark-util-normalize-identifier: 2.0.0 micromark-util-resolve-all: 2.0.0 - micromark-util-subtokenize: 2.0.0 + micromark-util-subtokenize: 2.0.1 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 micromark-extension-frontmatter@2.0.0: dependencies: fault: 2.0.1 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -6945,8 +6632,8 @@ snapshots: micromark-extension-math@2.1.2: dependencies: - '@types/katex': 0.16.5 - katex: 0.16.9 + '@types/katex': 0.16.7 + katex: 0.16.10 micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 @@ -6995,8 +6682,8 @@ snapshots: micromark-extension-mdxjs@1.0.1: dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) micromark-extension-mdx-expression: 1.0.8 micromark-extension-mdx-jsx: 1.0.5 micromark-extension-mdx-md: 1.0.1 @@ -7012,7 +6699,7 @@ snapshots: micromark-factory-destination@2.0.0: dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -7026,7 +6713,7 @@ snapshots: micromark-factory-label@2.0.0: dependencies: devlop: 1.1.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -7048,7 +6735,7 @@ snapshots: micromark-factory-space@2.0.0: dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 micromark-factory-title@1.1.0: @@ -7061,7 +6748,7 @@ snapshots: micromark-factory-title@2.0.0: dependencies: micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -7075,7 +6762,7 @@ snapshots: micromark-factory-whitespace@2.0.0: dependencies: micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -7084,7 +6771,7 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - micromark-util-character@2.0.1: + micromark-util-character@2.1.0: dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -7105,7 +6792,7 @@ snapshots: micromark-util-classify-character@2.0.0: dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -7137,7 +6824,7 @@ snapshots: micromark-util-decode-string@2.0.0: dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 @@ -7149,7 +6836,7 @@ snapshots: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.5 - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 estree-util-visit: 1.2.1 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 @@ -7184,7 +6871,7 @@ snapshots: micromark-util-sanitize-uri@2.0.0: dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 @@ -7195,7 +6882,7 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-util-subtokenize@2.0.0: + micromark-util-subtokenize@2.0.1: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 @@ -7219,7 +6906,7 @@ snapshots: micromark@3.2.0: dependencies: - '@types/debug': 4.1.11 + '@types/debug': 4.1.12 debug: 4.3.4 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 @@ -7241,13 +6928,13 @@ snapshots: micromark@4.0.0: dependencies: - '@types/debug': 4.1.11 + '@types/debug': 4.1.12 debug: 4.3.4 decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-core-commonmark: 2.0.0 + micromark-core-commonmark: 2.0.1 micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 micromark-util-combine-extensions: 2.0.0 micromark-util-decode-numeric-character-reference: 2.0.1 @@ -7255,7 +6942,7 @@ snapshots: micromark-util-normalize-identifier: 2.0.0 micromark-util-resolve-all: 2.0.0 micromark-util-sanitize-uri: 2.0.0 - micromark-util-subtokenize: 2.0.0 + micromark-util-subtokenize: 2.0.1 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 transitivePeerDependencies: @@ -7266,10 +6953,6 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 - mimic-fn@2.1.0: {} - - mimic-fn@4.0.0: {} - min-indent@1.0.1: {} minimalistic-assert@1.0.1: {} @@ -7288,6 +6971,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + minimist@1.2.8: {} minipass@7.0.4: {} @@ -7296,52 +6983,52 @@ snapshots: ms@2.1.2: {} - nanoid@3.3.8: {} + nanoid@3.3.7: {} natural-compare@1.4.0: {} - next-mdx-remote@4.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next-mdx-remote@4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@mdx-js/mdx': 2.3.0 - '@mdx-js/react': 2.3.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@mdx-js/react': 2.3.0(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) vfile: 5.3.7 vfile-matter: 3.0.1 transitivePeerDependencies: - supports-color - next-seo@6.4.0(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next-seo@6.5.0(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - next: 14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + next: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - next-sitemap@4.2.3(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0)): + next-sitemap@4.2.3(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@corex/deepmerge': 4.0.43 '@next/env': 13.5.6 fast-glob: 3.3.2 minimist: 1.2.8 - next: 14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-themes@0.2.1(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next-themes@0.2.1(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - next: 14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + next: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.15 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001669 + caniuse-lite: 1.0.30001614 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.15 '@next/swc-darwin-x64': 14.2.15 @@ -7356,64 +7043,64 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextra-theme-docs@2.13.2(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(nextra@2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + nextra-theme-docs@2.13.2(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@headlessui/react': 1.7.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@popperjs/core': 2.11.8 clsx: 2.1.1 escape-string-regexp: 5.0.0 - flexsearch: 0.7.31 + flexsearch: 0.7.43 focus-visible: 5.2.0 git-url-parse: 13.1.1 intersection-observer: 0.12.2 - match-sorter: 6.3.1 - next: 14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - next-seo: 6.4.0(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - next-themes: 0.2.1(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - nextra: 2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + match-sorter: 6.3.4 + next: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-seo: 6.5.0(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-themes: 0.2.1(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + nextra: 2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) scroll-into-view-if-needed: 3.1.0 - zod: 3.22.4 + zod: 3.23.4 - nextra@2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + nextra@2.13.2(patch_hash=a4rp2hgojklggjmthmkiyqaek4)(next@14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@headlessui/react': 1.7.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdx-js/mdx': 2.3.0 - '@mdx-js/react': 2.3.0(react@18.2.0) - '@napi-rs/simple-git': 0.1.9 - '@theguild/remark-mermaid': 0.0.5(react@18.2.0) + '@mdx-js/react': 2.3.0(react@18.3.1) + '@napi-rs/simple-git': 0.1.16 + '@theguild/remark-mermaid': 0.0.5(react@18.3.1) '@theguild/remark-npm2yarn': 0.2.1 clsx: 2.1.1 github-slugger: 2.0.0 graceful-fs: 4.2.11 gray-matter: 4.0.3 - katex: 0.16.9 + katex: 0.16.10 lodash.get: 4.4.2 - next: 14.2.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - next-mdx-remote: 4.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 14.2.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-mdx-remote: 4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) p-limit: 3.1.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) rehype-katex: 7.0.0 - rehype-pretty-code: 0.9.11(shiki@0.14.5) + rehype-pretty-code: 0.9.11(shiki@0.14.7) rehype-raw: 7.0.0 remark-gfm: 3.0.1 remark-math: 5.1.1 remark-reading-time: 2.0.1 - shiki: 0.14.5 + shiki: 0.14.7 slash: 3.0.0 title: 3.5.3 unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 - zod: 3.22.4 + zod: 3.23.4 transitivePeerDependencies: - supports-color no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.2 + tslib: 2.8.1 node-fetch@2.7.0: dependencies: @@ -7431,64 +7118,57 @@ snapshots: dependencies: path-key: 2.0.1 - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - npm-run-path@5.1.0: - dependencies: - path-key: 4.0.0 - - npm-to-yarn@2.1.0: {} + npm-to-yarn@2.2.1: {} number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 - object-inspect@1.13.1: {} + object-inspect@1.13.3: {} - object-is@1.1.5: + object-is@1.1.6: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.8 define-properties: 1.2.1 object-keys@1.1.1: {} - object.assign@4.1.4: + object.assign@4.1.7: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 - has-symbols: 1.0.3 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 object-keys: 1.1.1 once@1.4.0: dependencies: wrappy: 1.0.2 - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - open@9.1.0: - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 + + ox@0.1.2(typescript@5.4.5)(zod@3.24.1): + dependencies: + '@adraffy/ens-normalize': 1.11.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.4.5)(zod@3.24.1) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - zod p-finally@1.0.0: {} @@ -7511,7 +7191,7 @@ snapshots: param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 parent-module@1.0.1: dependencies: @@ -7532,7 +7212,7 @@ snapshots: parse-entities@4.0.1: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 @@ -7543,7 +7223,7 @@ snapshots: parse-json@6.0.2: dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 2.0.4 @@ -7565,12 +7245,12 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 path-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 path-exists@4.0.0: {} @@ -7582,11 +7262,9 @@ snapshots: path-key@3.1.1: {} - path-key@4.0.0: {} - - path-scurry@1.10.1: + path-scurry@1.10.2: dependencies: - lru-cache: 10.0.3 + lru-cache: 10.2.2 minipass: 7.0.4 path-type@4.0.0: {} @@ -7601,15 +7279,19 @@ snapshots: picocolors@1.0.0: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} pluralize@8.0.0: {} + possible-typed-array-names@1.0.0: {} + postcss@8.4.31: dependencies: - nanoid: 3.3.8 - picocolors: 1.0.0 - source-map-js: 1.0.2 + nanoid: 3.3.7 + picocolors: 1.1.1 + source-map-js: 1.2.0 prelude-ls@1.2.1: {} @@ -7621,7 +7303,7 @@ snapshots: proc-log@3.0.0: {} - property-information@6.4.0: {} + property-information@6.5.0: {} protocols@2.0.1: {} @@ -7635,21 +7317,21 @@ snapshots: dependencies: safe-buffer: 5.2.1 - react-dom@18.2.0(react@18.2.0): + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 react-is@17.0.2: {} - react@18.2.0: + react@18.3.1: dependencies: loose-envify: 1.4.0 read-package-json-fast@3.0.2: dependencies: - json-parse-even-better-errors: 3.0.0 + json-parse-even-better-errors: 3.0.1 npm-normalize-package-bin: 3.0.1 readable-stream@3.6.2: @@ -7660,35 +7342,36 @@ snapshots: reading-time@1.5.0: {} - regenerator-runtime@0.14.0: {} + regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.1: + regexp.prototype.flags@1.5.3: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.8 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 rehype-katex@7.0.0: dependencies: - '@types/hast': 3.0.2 - '@types/katex': 0.16.5 + '@types/hast': 3.0.4 + '@types/katex': 0.16.7 hast-util-from-html-isomorphic: 2.0.0 - hast-util-to-text: 4.0.0 - katex: 0.16.9 + hast-util-to-text: 4.0.2 + katex: 0.16.10 unist-util-visit-parents: 6.0.1 vfile: 6.0.1 - rehype-pretty-code@0.9.11(shiki@0.14.5): + rehype-pretty-code@0.9.11(shiki@0.14.7): dependencies: - '@types/hast': 2.3.7 + '@types/hast': 2.3.10 hash-obj: 4.0.0 parse-numeric-range: 1.3.0 - shiki: 0.14.5 + shiki: 0.14.7 rehype-raw@7.0.0: dependencies: - '@types/hast': 3.0.2 - hast-util-raw: 9.0.1 + '@types/hast': 3.0.4 + hast-util-raw: 9.0.2 vfile: 6.0.1 remark-code-import@1.2.0(patch_hash=heylvfasxh3ubj2edns2svea2m): @@ -7699,7 +7382,7 @@ snapshots: remark-frontmatter@5.0.0: dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 mdast-util-frontmatter: 2.0.1 micromark-extension-frontmatter: 2.0.0 unified: 11.0.4 @@ -7708,7 +7391,7 @@ snapshots: remark-gfm@3.0.1: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-gfm: 2.0.2 micromark-extension-gfm: 2.0.3 unified: 10.1.2 @@ -7717,7 +7400,7 @@ snapshots: remark-lint-blockquote-indentation@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 pluralize: 8.0.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7727,7 +7410,7 @@ snapshots: remark-lint-checkbox-character-style@4.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7735,7 +7418,7 @@ snapshots: remark-lint-code-block-style@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7744,7 +7427,7 @@ snapshots: remark-lint-emphasis-marker@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7752,7 +7435,7 @@ snapshots: remark-lint-fenced-code-marker@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7760,7 +7443,7 @@ snapshots: remark-lint-final-newline@2.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7776,7 +7459,7 @@ snapshots: remark-lint-hard-break-spaces@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7785,7 +7468,7 @@ snapshots: remark-lint-heading-style@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-heading-style: 2.0.1 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7794,7 +7477,7 @@ snapshots: remark-lint-link-title-style@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7803,7 +7486,7 @@ snapshots: remark-lint-list-item-bullet-indent@4.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 pluralize: 8.0.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7811,7 +7494,7 @@ snapshots: remark-lint-list-item-content-indent@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 pluralize: 8.0.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7820,7 +7503,7 @@ snapshots: remark-lint-list-item-indent@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 pluralize: 8.0.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7830,7 +7513,7 @@ snapshots: remark-lint-no-blockquote-without-marker@5.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7840,7 +7523,7 @@ snapshots: remark-lint-no-duplicate-definitions@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7850,7 +7533,7 @@ snapshots: remark-lint-no-heading-content-indent@4.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-heading-style: 2.0.1 pluralize: 8.0.0 unified: 10.1.2 @@ -7861,7 +7544,7 @@ snapshots: remark-lint-no-inline-padding@4.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-string: 3.2.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7870,7 +7553,7 @@ snapshots: remark-lint-no-literal-urls@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-string: 3.2.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7880,7 +7563,7 @@ snapshots: remark-lint-no-shortcut-reference-image@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7888,7 +7571,7 @@ snapshots: remark-lint-no-shortcut-reference-link@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7896,7 +7579,7 @@ snapshots: remark-lint-no-undefined-references@4.2.1: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 micromark-util-normalize-identifier: 1.1.0 unified: 10.1.2 unified-lint-rule: 2.1.2 @@ -7907,7 +7590,7 @@ snapshots: remark-lint-no-unused-definitions@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7915,7 +7598,7 @@ snapshots: remark-lint-ordered-list-marker-style@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7924,7 +7607,7 @@ snapshots: remark-lint-rule-style@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7932,7 +7615,7 @@ snapshots: remark-lint-strong-marker@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7940,8 +7623,8 @@ snapshots: remark-lint-table-cell-padding@4.1.3: dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7949,7 +7632,7 @@ snapshots: remark-lint-table-pipe-alignment@3.1.3: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7957,7 +7640,7 @@ snapshots: remark-lint-table-pipes@4.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-position: 4.0.4 @@ -7965,7 +7648,7 @@ snapshots: remark-lint-unordered-list-marker-style@3.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 unified: 10.1.2 unified-lint-rule: 2.1.2 unist-util-generated: 2.0.1 @@ -7974,7 +7657,7 @@ snapshots: remark-lint@9.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 remark-message-control: 7.1.1 unified: 10.1.2 transitivePeerDependencies: @@ -7982,7 +7665,7 @@ snapshots: remark-math@5.1.1: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-math: 2.0.2 micromark-extension-math: 2.1.2 unified: 10.1.2 @@ -7996,7 +7679,7 @@ snapshots: remark-message-control@7.1.1: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-comment-marker: 2.1.2 unified: 10.1.2 unified-message-control: 4.0.0 @@ -8006,7 +7689,7 @@ snapshots: remark-parse@10.0.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 unified: 10.1.2 transitivePeerDependencies: @@ -8014,7 +7697,7 @@ snapshots: remark-parse@11.0.0: dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 mdast-util-from-markdown: 2.0.0 micromark-util-types: 2.0.0 unified: 11.0.4 @@ -8023,7 +7706,7 @@ snapshots: remark-preset-lint-consistent@5.1.2: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 remark-lint: 9.1.2 remark-lint-blockquote-indentation: 3.1.2 remark-lint-checkbox-character-style: 4.1.2 @@ -8043,7 +7726,7 @@ snapshots: remark-preset-lint-recommended@6.1.3: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 remark-lint: 9.1.2 remark-lint-final-newline: 2.1.2 remark-lint-hard-break-spaces: 3.1.2 @@ -8072,33 +7755,33 @@ snapshots: remark-rehype@10.1.0: dependencies: - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 mdast-util-to-hast: 12.3.0 unified: 10.1.2 remark-stringify@10.0.3: dependencies: - '@types/mdast': 3.0.14 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 unified: 10.1.2 remark-stringify@11.0.0: dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 mdast-util-to-markdown: 2.1.0 unified: 11.0.4 remark@15.0.1: dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 remark-parse: 11.0.0 remark-stringify: 11.0.0 unified: 11.0.4 transitivePeerDependencies: - supports-color - remove-accents@0.4.2: {} + remove-accents@0.5.0: {} repeat-string@1.6.1: {} @@ -8120,10 +7803,6 @@ snapshots: robust-predicates@3.0.2: {} - run-applescript@5.0.0: - dependencies: - execa: 5.1.1 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -8136,9 +7815,15 @@ snapshots: safe-buffer@5.2.1: {} + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + safer-buffer@2.1.2: {} - scheduler@0.23.0: + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 @@ -8148,35 +7833,40 @@ snapshots: scrypt-js@3.0.1: {} - search-insights@2.15.0: {} + search-insights@2.17.3: {} section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 kind-of: 6.0.3 - semver@7.5.4: + semver@7.6.0: dependencies: lru-cache: 6.0.0 + semver@7.6.3: {} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 upper-case-first: 2.0.2 - set-function-length@1.1.1: + set-function-length@1.2.2: dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 - set-function-name@2.0.1: + set-function-name@2.0.2: dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 shebang-command@1.2.0: dependencies: @@ -8190,18 +7880,40 @@ snapshots: shebang-regex@3.0.0: {} - shiki@0.14.5: + shiki@0.14.7: dependencies: ansi-sequence-parser: 1.1.1 - jsonc-parser: 3.2.0 + jsonc-parser: 3.2.1 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 - side-channel@1.0.4: + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.13.1 + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 signal-exit@3.0.7: {} @@ -8212,13 +7924,13 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 sort-keys@5.0.0: dependencies: is-plain-obj: 4.1.0 - source-map-js@1.0.2: {} + source-map-js@1.2.0: {} source-map@0.7.4: {} @@ -8226,9 +7938,10 @@ snapshots: sprintf-js@1.0.3: {} - stop-iteration-iterator@1.0.0: + stop-iteration-iterator@1.1.0: dependencies: - internal-slot: 1.0.6 + es-errors: 1.3.0 + internal-slot: 1.1.0 streamsearch@1.1.0: {} @@ -8248,7 +7961,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - stringify-entities@4.0.3: + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 @@ -8265,10 +7978,6 @@ snapshots: strip-eof@1.0.0: {} - strip-final-newline@2.0.0: {} - - strip-final-newline@3.0.0: {} - strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed: 1.0.0 @@ -8283,12 +7992,12 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - styled-jsx@5.1.1(react@18.2.0): + styled-jsx@5.1.1(react@18.3.1): dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 - stylis@4.3.0: {} + stylis@4.3.2: {} supports-color@4.5.0: dependencies: @@ -8304,9 +8013,9 @@ snapshots: supports-color@9.4.0: {} - synckit@0.8.5: + synckit@0.9.0: dependencies: - '@pkgr/utils': 2.4.2 + '@pkgr/core': 0.1.1 tslib: 2.6.2 tabbable@6.2.0: {} @@ -8324,8 +8033,6 @@ snapshots: titleize@1.0.0: {} - titleize@3.0.0: {} - to-gatsby-remark-plugin@0.1.0: dependencies: to-vfile: 6.1.0 @@ -8350,17 +8057,19 @@ snapshots: trim-lines@3.0.1: {} - trough@2.1.0: {} + trough@2.2.0: {} ts-dedent@2.2.0: {} tslib@2.6.2: {} + tslib@2.8.1: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} + type-detect@4.1.0: {} type-fest@0.20.2: {} @@ -8372,45 +8081,45 @@ snapshots: typedarray@0.0.6: {} - typescript@5.3.2: {} + typescript@5.4.5: {} unified-engine@10.1.0: dependencies: '@types/concat-stream': 2.0.3 - '@types/debug': 4.1.11 + '@types/debug': 4.1.12 '@types/is-empty': 1.2.3 '@types/node': 18.11.10 - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 concat-stream: 2.0.0 debug: 4.3.4 fault: 2.0.1 glob: 8.1.0 - ignore: 5.3.0 + ignore: 5.3.1 is-buffer: 2.0.5 is-empty: 1.2.0 is-plain-obj: 4.1.0 load-plugin: 5.1.0 parse-json: 6.0.2 to-vfile: 7.2.4 - trough: 2.1.0 + trough: 2.2.0 unist-util-inspect: 7.0.2 vfile-message: 3.1.4 vfile-reporter: 7.0.5 vfile-statistics: 2.0.1 - yaml: 2.3.4 + yaml: 2.4.2 transitivePeerDependencies: - supports-color unified-lint-rule@2.1.2: dependencies: - '@types/unist': 2.0.9 - trough: 2.1.0 + '@types/unist': 2.0.10 + trough: 2.2.0 unified: 10.1.2 vfile: 5.3.7 unified-message-control@4.0.0: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit: 3.1.0 vfile: 5.3.7 @@ -8419,22 +8128,22 @@ snapshots: unified@10.1.2: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 is-plain-obj: 4.1.0 - trough: 2.1.0 + trough: 2.2.0 vfile: 5.3.7 unified@11.0.4: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 bail: 2.0.2 devlop: 1.1.0 extend: 3.0.2 is-plain-obj: 4.1.0 - trough: 2.1.0 + trough: 2.2.0 vfile: 6.0.1 unique-string@3.0.0: @@ -8443,105 +8152,103 @@ snapshots: unist-util-find-after@5.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-generated@2.0.1: {} unist-util-inspect@7.0.2: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is@5.2.1: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is@6.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-position-from-estree@1.1.2: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-position@4.0.4: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-position@5.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-remove-position@4.0.2: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-visit: 4.1.2 unist-util-remove-position@5.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-visit: 5.0.0 unist-util-remove@4.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 unist-util-stringify-position@2.0.3: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-stringify-position@3.0.3: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-stringify-position@4.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-visit-parents@4.1.1: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents@5.1.3: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents@6.0.1: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit@3.1.0: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 4.1.1 unist-util-visit@4.1.2: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 unist-util-visit@5.0.0: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - untildify@4.0.0: {} - upper-case-first@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 upper-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 uri-js@4.4.1: dependencies: @@ -8556,39 +8263,39 @@ snapshots: uvu@0.5.6: dependencies: dequal: 2.0.3 - diff: 5.1.0 + diff: 5.2.0 kleur: 4.1.5 sade: 1.8.1 vfile-location@4.1.0: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 vfile: 5.3.7 vfile-location@5.0.2: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 vfile: 6.0.1 vfile-matter@3.0.1: dependencies: - '@types/js-yaml': 4.0.8 + '@types/js-yaml': 4.0.9 is-buffer: 2.0.5 js-yaml: 4.1.0 vfile-message@2.0.4: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 vfile-message@3.1.4: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 vfile-message@4.0.2: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-reporter@7.0.5: @@ -8614,54 +8321,37 @@ snapshots: vfile@4.2.1: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 vfile@5.3.7: dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 vfile@6.0.1: dependencies: - '@types/unist': 3.0.1 + '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - viem@1.19.6(typescript@5.3.2)(zod@3.22.4): + viem@2.21.57(typescript@5.4.5)(zod@3.24.1): dependencies: - '@adraffy/ens-normalize': 1.10.0 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/bip32': 1.3.2 - '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.3.2)(zod@3.22.4) - isows: 1.0.3(ws@8.13.0) - ws: 8.13.0 - optionalDependencies: - typescript: 5.3.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - viem@2.21.37(typescript@5.3.2)(zod@3.22.4): - dependencies: - '@adraffy/ens-normalize': 1.11.0 - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.3.2)(zod@3.22.4) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.4.5)(zod@3.24.1) isows: 1.0.6(ws@8.18.0) + ox: 0.1.2(typescript@5.4.5)(zod@3.24.1) webauthn-p256: 0.0.10 ws: 8.18.0 optionalDependencies: - typescript: 5.3.2 + typescript: 5.4.5 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -8679,14 +8369,14 @@ snapshots: web-namespaces@2.0.1: {} - web-worker@1.2.0: {} + web-worker@1.3.0: {} - web3-utils@1.10.3: + web3-utils@1.10.4: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 - ethereum-bloom-filters: 1.0.10 - ethereum-cryptography: 2.1.2 + ethereum-bloom-filters: 1.2.0 + ethereum-cryptography: 2.2.1 ethjs-unit: 0.1.6 number-to-bn: 1.7.0 randombytes: 2.1.0 @@ -8694,8 +8384,8 @@ snapshots: webauthn-p256@0.0.10: dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 webidl-conversions@3.0.1: {} @@ -8704,28 +8394,29 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: + which-boxed-primitive@1.1.1: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + is-bigint: 1.1.0 + is-boolean-object: 1.2.1 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 - which-collection@1.0.1: + which-collection@1.0.2: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 - which-typed-array@1.1.13: + which-typed-array@1.1.18: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + gopd: 1.2.0 + has-tostringtag: 1.0.2 which@1.3.1: dependencies: @@ -8735,6 +8426,8 @@ snapshots: dependencies: isexe: 2.0.0 + word-wrap@1.2.5: {} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -8758,8 +8451,6 @@ snapshots: ws@7.4.6: {} - ws@8.13.0: {} - ws@8.18.0: {} xdg-basedir@5.1.0: {} @@ -8770,12 +8461,15 @@ snapshots: yaml@2.3.3: {} - yaml@2.3.4: {} + yaml@2.4.2: {} yocto-queue@0.1.0: {} yocto-queue@1.0.0: {} - zod@3.22.4: {} + zod@3.23.4: {} + + zod@3.24.1: + optional: true zwitch@2.0.4: {} diff --git a/public/img/icons/500-page.svg b/public/img/icons/500-page.svg index c4d5a70ae..db313120f 100644 --- a/public/img/icons/500-page.svg +++ b/public/img/icons/500-page.svg @@ -1,4 +1,4 @@ - + diff --git a/public/img/icons/arrow-left-right.svg b/public/img/icons/arrow-left-right.svg index 855c0cfde..93ae89f26 100644 --- a/public/img/icons/arrow-left-right.svg +++ b/public/img/icons/arrow-left-right.svg @@ -1,3 +1,10 @@ - - + + + + + + + + + diff --git a/public/img/icons/asterisk.svg b/public/img/icons/asterisk.svg index 23ddf52f3..1fd584502 100644 --- a/public/img/icons/asterisk.svg +++ b/public/img/icons/asterisk.svg @@ -1,3 +1,3 @@ - - + + diff --git a/public/img/icons/book.svg b/public/img/icons/book.svg index 0f528f646..f3adab939 100644 --- a/public/img/icons/book.svg +++ b/public/img/icons/book.svg @@ -1,3 +1,3 @@ - - + + diff --git a/public/img/icons/build.svg b/public/img/icons/build.svg index ecee209ec..e47d748e0 100644 --- a/public/img/icons/build.svg +++ b/public/img/icons/build.svg @@ -1,3 +1,10 @@ - + + + + + + + + diff --git a/public/img/icons/computer-line.svg b/public/img/icons/computer-line.svg index aa5e84778..bdb34cf23 100644 --- a/public/img/icons/computer-line.svg +++ b/public/img/icons/computer-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/favicon.ico b/public/img/icons/favicon.ico index 7abd812e5..cfce4d51d 100644 Binary files a/public/img/icons/favicon.ico and b/public/img/icons/favicon.ico differ diff --git a/public/img/icons/file-edit-line.svg b/public/img/icons/file-edit-line.svg index bc5a8705d..8458db442 100644 --- a/public/img/icons/file-edit-line.svg +++ b/public/img/icons/file-edit-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/gear.svg b/public/img/icons/gear.svg index 785011111..e8a586a93 100644 --- a/public/img/icons/gear.svg +++ b/public/img/icons/gear.svg @@ -1,3 +1,10 @@ - - + + + + + + + + + diff --git a/public/img/icons/government-line.svg b/public/img/icons/government-line.svg index 445ba0b23..7af06fcb1 100644 --- a/public/img/icons/government-line.svg +++ b/public/img/icons/government-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/instance-line.svg b/public/img/icons/instance-line.svg index 6e6fe254a..afd77ae80 100644 --- a/public/img/icons/instance-line.svg +++ b/public/img/icons/instance-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/link.svg b/public/img/icons/link.svg index aee73d0ae..8c4ac3e78 100644 --- a/public/img/icons/link.svg +++ b/public/img/icons/link.svg @@ -1,3 +1,10 @@ - + + + + + + + + diff --git a/public/img/icons/news-line.svg b/public/img/icons/news-line.svg index 25d50f800..7a0d35b6b 100644 --- a/public/img/icons/news-line.svg +++ b/public/img/icons/news-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/person.svg b/public/img/icons/person.svg index 43b61f3b2..4c3cf502d 100644 --- a/public/img/icons/person.svg +++ b/public/img/icons/person.svg @@ -1,3 +1,10 @@ - + + + + + + + + diff --git a/public/img/icons/question-answer-line.svg b/public/img/icons/question-answer-line.svg index 962011f72..8c4ad1007 100644 --- a/public/img/icons/question-answer-line.svg +++ b/public/img/icons/question-answer-line.svg @@ -1 +1,3 @@ - + + + diff --git a/public/img/icons/rocket-2-line.svg b/public/img/icons/rocket-2-line.svg index 98cd668e1..05374a543 100644 --- a/public/img/icons/rocket-2-line.svg +++ b/public/img/icons/rocket-2-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/shapes.svg b/public/img/icons/shapes.svg index 0c877815c..515edcf3b 100644 --- a/public/img/icons/shapes.svg +++ b/public/img/icons/shapes.svg @@ -1,3 +1,10 @@ - + + + + + + + + diff --git a/public/img/icons/stack-line.svg b/public/img/icons/stack-line.svg index 712f04f6a..cacd6e073 100644 --- a/public/img/icons/stack-line.svg +++ b/public/img/icons/stack-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/stack.svg b/public/img/icons/stack.svg index 7d8464feb..195121999 100644 --- a/public/img/icons/stack.svg +++ b/public/img/icons/stack.svg @@ -1,3 +1,10 @@ - + + + + + + + + diff --git a/public/img/icons/terminal-window-line.svg b/public/img/icons/terminal-window-line.svg index e56c05668..153be36db 100644 --- a/public/img/icons/terminal-window-line.svg +++ b/public/img/icons/terminal-window-line.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/public/img/icons/tools.svg b/public/img/icons/tools.svg index 4bd4bcd87..3a5a7f1f1 100644 --- a/public/img/icons/tools.svg +++ b/public/img/icons/tools.svg @@ -1,3 +1,3 @@ - - + + diff --git a/public/img/icons/wallet.svg b/public/img/icons/wallet.svg index 4c5afab75..4888a93cd 100644 --- a/public/img/icons/wallet.svg +++ b/public/img/icons/wallet.svg @@ -1,3 +1,10 @@ - - \ No newline at end of file + + + + + + + + + diff --git a/public/img/op-stack/protocol/transaction-flow.svg b/public/img/op-stack/protocol/transaction-flow.svg index df18cac0a..8a2d4410b 100644 --- a/public/img/op-stack/protocol/transaction-flow.svg +++ b/public/img/op-stack/protocol/transaction-flow.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/img/op-stack/protocol/tx-overall-process.svg b/public/img/op-stack/protocol/tx-overall-process.svg index df18cac0a..8a2d4410b 100644 --- a/public/img/op-stack/protocol/tx-overall-process.svg +++ b/public/img/op-stack/protocol/tx-overall-process.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/logos/logo-docs-dark.svg b/public/logos/logo-docs-dark.svg index 6f96aae8e..521726786 100644 --- a/public/logos/logo-docs-dark.svg +++ b/public/logos/logo-docs-dark.svg @@ -1,4 +1,4 @@ - + diff --git a/public/logos/logo-docs-light.svg b/public/logos/logo-docs-light.svg index 63ab1156f..4d2432713 100644 --- a/public/logos/logo-docs-light.svg +++ b/public/logos/logo-docs-light.svg @@ -1,4 +1,4 @@ - + diff --git a/public/logos/metal-logo-docs-dark.svg b/public/logos/metal-logo-docs-dark.svg new file mode 100644 index 000000000..c3de09398 --- /dev/null +++ b/public/logos/metal-logo-docs-dark.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/metal-logo-docs-light.svg b/public/logos/metal-logo-docs-light.svg new file mode 100644 index 000000000..d8739e003 --- /dev/null +++ b/public/logos/metal-logo-docs-light.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/styles/colors.css b/styles/colors.css index d3edc18d2..0f171c9f5 100644 --- a/styles/colors.css +++ b/styles/colors.css @@ -106,7 +106,7 @@ --op-red-200: #FFD1D5; --op-red-300: #FF99A1; --op-red-400: #FF5C6C; - --op-red-500: #FF0420; + --op-red-500: #FC9237; --op-red-600: #B80018; --op-red-700: #700013; --op-red-800: #330009; diff --git a/styles/global.css b/styles/global.css index 4a1dcb2af..556273621 100644 --- a/styles/global.css +++ b/styles/global.css @@ -65,7 +65,7 @@ div.custom-callouts { border-radius: 4px; } a.callout-link { - color: #006be6; + color: #FC9237; text-decoration: underline; } diff --git a/styles/theme.css b/styles/theme.css index 1f091d7ca..f666a4629 100644 --- a/styles/theme.css +++ b/styles/theme.css @@ -127,6 +127,11 @@ nav a span { /* Links */ a.nx-underline { text-decoration: none; + color:#FC9237; +} + +a.nx-underline:hover { + text-decoration: underline; } @@ -243,7 +248,7 @@ pre { /* in-content external links */ .nextra-content a[target="_blank"]:after { - content: url('data:image/svg+xml,'); + content: url('data:image/svg+xml,'); padding-left: 5px; margin-right: 2px; } @@ -313,3 +318,4 @@ table tr { :is(html[class~=dark]) .nextra-toc .divider { border-top: 1px solid var(--op-neutral-700); } + diff --git a/theme.config.tsx b/theme.config.tsx index bc5c533a3..408933bac 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -9,95 +9,106 @@ import { Search } from "./components/Search"; const config: DocsThemeConfig = { logo: ( <> - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ), darkMode: true, - banner: { - key: 'viem/op-stack', - text: ( - - 🎉 We are deprecating the Optimism SDK and migrating all tutorials to use viem/op-stack. Read more → - - ) - }, - search: { - component: Search, - }, project: { - link: "https://github.com/ethereum-optimism/docs", + link: 'https://github.com/MetalPay/metal-l2-docs', }, - docsRepositoryBase: "https://github.com/ethereum-optimism/docs/blob/main/", + docsRepositoryBase: 'https://github.com/MetalPay/metal-l2-docs/docs/blob/main/', footer: { - text: "OP Documentation", + text: 'Metal L2 Documentation', }, sidebar: { defaultMenuCollapseLevel: 1, - autoCollapse: true, + autoCollapse: true }, toc: { backToTop: true, - extraContent: () => ( - <> + extraContent: () => + <>
-
- - ), + }, - navigation: false, feedback: { - content: "❤️ Share general feedback", - labels: "user-feedback", + content: '❤️ Share general feedback', + labels: 'user-feedback' }, editLink: { - text: "✏️ Edit this page on GitHub", + text: '✏️ Edit this page on GitHub' }, + /*banner: { + key: 'fp-mainnet-release', + text: ( + + 🎉 We are deprecating the Optimism SDK and migrating all tutorials to use viem/op-stack. Read more → + + ) + },*/ useNextSeoProps() { const { asPath } = useRouter(); if (asPath !== "/") { return { - titleTemplate: "%s | Optimism Docs", - }; + titleTemplate: '%s | Metal L2 Docs' + } } }, head: () => { const { asPath, defaultLocale, locale } = useRouter(); const { frontMatter } = useConfig(); const url = - "https://docs.optimism.io" + - (defaultLocale === locale ? asPath : `/${locale}${asPath}`); - + 'https://docs.metall2.com' + + (defaultLocale === locale ? asPath : `/${locale}${asPath}`) + return ( <> - +