diff --git a/packages/website/components/BlogSection.tsx b/packages/website/components/BlogSection.tsx index 1a82b78865..35bc538006 100644 --- a/packages/website/components/BlogSection.tsx +++ b/packages/website/components/BlogSection.tsx @@ -61,7 +61,7 @@ export default function BlogSection() { Check out the full blog at{" "} diff --git a/packages/website/components/EcosystemCard.tsx b/packages/website/components/EcosystemCard.tsx index c44552497f..08e1664e4d 100644 --- a/packages/website/components/EcosystemCard.tsx +++ b/packages/website/components/EcosystemCard.tsx @@ -4,8 +4,7 @@ function EcosystemCard({ icon, name, link, description }) { href={link} target="_blank" rel="noopener noreferrer" - className="rounded-xl shadow-md bg-white dark:bg-neutral-800 p-6 flex flex-col justify-start items-start - transition-colors duration-200 hover:shadow-xl dark:hover:bg-neutral-700" + className="rounded-xl shadow-md bg-white dark:bg-neutral-800 p-6 flex flex-col justify-start items-start transition-colors duration-200 hover:shadow-xl dark:hover:bg-neutral-700" > {`${name}-logo`}

diff --git a/packages/website/components/EcosystemSection.tsx b/packages/website/components/EcosystemSection.tsx index 5e2149a9fe..e3bd33de2d 100644 --- a/packages/website/components/EcosystemSection.tsx +++ b/packages/website/components/EcosystemSection.tsx @@ -25,7 +25,7 @@ export default function EcosystemSection() { { icon: "/images/ecosystem/loopring.svg", name: "Loopring Wallet", - link: "https://loopring.io/#/wallet", + link: "https://loopring.io/wallet.html", description: "Loopring is your mobile gateway to Ethereum L2, enabling you to easily trade, swap, collect, stake, and invest without the costly gas fees.", }, diff --git a/packages/website/components/FeaturesSection.tsx b/packages/website/components/FeaturesSection.tsx index f90f72fb25..64000beb78 100644 --- a/packages/website/components/FeaturesSection.tsx +++ b/packages/website/components/FeaturesSection.tsx @@ -27,7 +27,7 @@ const features = [ export default function FeaturesSection() { return ( -
+
{features.map((feature) => ( diff --git a/packages/website/components/Hero.tsx b/packages/website/components/Hero.tsx index f2fdf40bf5..62f86109d7 100644 --- a/packages/website/components/Hero.tsx +++ b/packages/website/components/Hero.tsx @@ -51,7 +51,7 @@ export default function Hero() {
Get started β†’ diff --git a/packages/website/package.json b/packages/website/package.json index ca1ba731cf..00c93a2cda 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -11,19 +11,18 @@ "@vercel/analytics": "^1.0.1", "next": "^13.4.4", "next-themes": "^0.2.1", - "nextra": "^2.6.2", - "nextra-theme-docs": "^2.6.2", + "nextra": "^2.7.0", + "nextra-theme-docs": "^2.7.0", "react": "^18.2.0", - "react-dom": "^18.2.0", - "sharp": "^0.31.3" + "react-dom": "^18.2.0" }, "devDependencies": { "@heroicons/react": "^2.0.18", - "@types/node": "^18.16.16", + "@types/node": "^20.2.5", "@types/react": "^18.2.8", "autoprefixer": "^10.4.14", "postcss": "^8.4.24", "tailwindcss": "^3.3.2", - "typescript": "^4.9.5" + "typescript": "^5.1.3" } } diff --git a/packages/website/pages/_app.tsx b/packages/website/pages/_app.tsx index 360392abd0..3835feeb4b 100644 --- a/packages/website/pages/_app.tsx +++ b/packages/website/pages/_app.tsx @@ -1,6 +1,7 @@ import "../styles.css"; -import localFont from "next/font/local"; + import { Analytics } from "@vercel/analytics/react"; +import localFont from "next/font/local"; const grotesk = localFont({ src: "../fonts/ClashGrotesk-Semibold.woff2", @@ -16,9 +17,11 @@ const groteskmedium = localFont({ export default function App({ Component, pageProps }) { return ( -
- - -
+ <> +
+ + +
+ ); } diff --git a/packages/website/pages/_meta.json b/packages/website/pages/_meta.json index 00cc62f269..82eb6f1818 100644 --- a/packages/website/pages/_meta.json +++ b/packages/website/pages/_meta.json @@ -11,12 +11,40 @@ "title": "Docs", "type": "page" }, - "blog": { - "title": "Blog", + "bridge": { + "title": "Bridge", "type": "page", - "href": "https://mirror.xyz/labs.taiko.eth", + "href": "https://bridge.test.taiko.xyz", "newWindow": true }, + "swap": { + "title": "Swap", + "type": "page", + "display": "hidden", + "href": "https://swap.test.taiko.xyz", + "newWindow": true + }, + "explorers": { + "title": "Explorers", + "type": "menu", + "items": { + "status": { + "title": "Protocol Status", + "href": "https://status.test.taiko.xyz", + "newWindow": true + }, + "l1-block-explorer": { + "title": "L1 Block Explorer", + "href": "https://sepolia.etherscan.io", + "newWindow": true + }, + "l2-block-explorer": { + "title": "L2 Block Explorer", + "href": "https://explorer.test.taiko.xyz", + "newWindow": true + } + } + }, "ecosystem": { "title": "Ecosystem", "type": "page", @@ -24,10 +52,22 @@ "layout": "full" } }, + "blog": { + "title": "Blog", + "type": "page", + "href": "https://mirror.xyz/labs.taiko.eth", + "newWindow": true + }, "forum": { "title": "Forum", "type": "page", "href": "https://community.taiko.xyz/", "newWindow": true + }, + "feedback": { + "title": "Feedback", + "type": "page", + "href": "https://forms.gle/9JWjWtjbWytZZcNRA", + "newWindow": true } } diff --git a/packages/website/pages/docs/_meta.json b/packages/website/pages/docs/_meta.json index f2119ed3e8..119755eead 100644 --- a/packages/website/pages/docs/_meta.json +++ b/packages/website/pages/docs/_meta.json @@ -2,12 +2,15 @@ "index": { "title": "Hello πŸ‘‹" }, - "concepts": { - "title": "Concepts" + "guides": { + "title": "Guides" }, "reference": { "title": "Reference" }, + "concepts": { + "title": "Concepts" + }, "resources": { "title": "Resources" } diff --git a/packages/website/pages/docs/concepts/bridging/how-the-bridge-works.mdx b/packages/website/pages/docs/concepts/bridging/how-the-bridge-works.mdx index aeefc76786..cdeead1fa1 100644 --- a/packages/website/pages/docs/concepts/bridging/how-the-bridge-works.mdx +++ b/packages/website/pages/docs/concepts/bridging/how-the-bridge-works.mdx @@ -13,7 +13,7 @@ Taiko's bridge utilizes the Signal Service we described. Here is the general use ## How does ERC-20 bridging work? -ERC-20 tokens originate from a canonical chain. To send a token and bridge it to the other chain, a new BridgedERC20 contract needs to be deployed on the destination chain. For example, the HORSE token's canonical chain is [deployed on Ethereum (Sepolia)](https://explorer.a2.taiko.xyz/address/0x3E3a3416DbCc5cb4448B6b171fF15f9Da35Ab72d). To enable bridging to Taiko, there is also a BridgedERC20 contract for it [deployed on Taiko (Askja)](https://explorer.a2.taiko.xyz/address/0xb8eA36284d1Fa062cc0c969E28a49f3531cFB1bf). +ERC-20 tokens originate from a canonical chain. To send a token and bridge it to the other chain, a new BridgedERC20 contract needs to be deployed on the destination chain. ### Bridge from canonical chain to destination chain diff --git a/packages/website/pages/docs/concepts/bridging/the-taiko-bridge-dapp.mdx b/packages/website/pages/docs/concepts/bridging/the-taiko-bridge-dapp.mdx index 8512a1000a..d7d18b0806 100644 --- a/packages/website/pages/docs/concepts/bridging/the-taiko-bridge-dapp.mdx +++ b/packages/website/pages/docs/concepts/bridging/the-taiko-bridge-dapp.mdx @@ -1 +1 @@ -The bridge is a set of smart contracts and a frontend web app that allow you to send testnet ETH and ERC-20 tokens between Sepolia and Taiko. This bridge is just one possible implementation built on top of Taiko's core protocol, specifically the signal service which anybody can use to build bridges. You can try the bridge [here](https://bridge.a2.taiko.xyz). +The bridge is a set of smart contracts and a frontend web app that allow you to send testnet ETH and ERC-20 tokens between Sepolia and Taiko. This bridge is just one possible implementation built on top of Taiko's core protocol, specifically the signal service which anybody can use to build bridges. You can try the bridge [here](https://bridge.test.taiko.xyz). diff --git a/packages/website/pages/docs/concepts/overview.md b/packages/website/pages/docs/concepts/overview.md index eccf4882ef..2d01efb789 100644 --- a/packages/website/pages/docs/concepts/overview.md +++ b/packages/website/pages/docs/concepts/overview.md @@ -1,4 +1,4 @@ -Taiko aims to build a secure, decentralized, and permissionless rollup on Ethereum. These requirements dictate the following properties: +Taiko aims to build a secure, decentralized, and permissionless [rollup](https://www.youtube.com/watch?v=7pWxCklcNsU) on Ethereum. These requirements dictate the following properties: 1. All block data required to reconstruct the post-block state needs to be put on Ethereum so it is publicly available. If this would not be the case, Taiko would not only fail to be a rollup but would also fail to be fully decentralized. This data is required so that anyone can know the latest chain state and so that useful new blocks can be appended to the chain. For the decentralization of the proof generation Taiko requires an even stronger requirement: all block data needed to be able to re-execute all work in a block in a step-by-step fashion needs to be made public. This makes it possible for provers to generate a proof for a block using only publicly known data. 2. Creating and proposing blocks should be a fast and efficient process. Anyone should be able to add blocks to the chain on a level playing field, having access to the same chain data at all times. Proposers, of course, should be able to compete on e.g. transaction fees and [Maximal Extractable Value (MEV)](https://ethereum.org/en/developers/docs/mev/). diff --git a/packages/website/pages/docs/guides.mdx b/packages/website/pages/docs/guides.mdx new file mode 100644 index 0000000000..1e8d4554c8 --- /dev/null +++ b/packages/website/pages/docs/guides.mdx @@ -0,0 +1,13 @@ +# Guides + +You can leave feedback [here](https://forms.gle/RZsweAPy5RhQSP6j7) and ask any questions on the [Taiko Discord](https://discord.gg/taikoxyz)! + +- πŸ’» [Configure your wallet](/docs/guides/configure-your-wallet) +- 🎈 [Receive tokens](/docs/guides/receive-tokens) +- πŸŒ‰ [Use the bridge](/docs/guides/use-the-bridge){/* - πŸ”„ [Swap tokens](/docs/guides/swap-tokens) */} +- 🌐 [Run a node](/docs/guides/run-a-node) +- πŸ“€ [Enable a proposer](/docs/guides/enable-a-proposer) +- βœ… [Enable a prover](/docs/guides/enable-a-prover) +- πŸš€ [Deploy a contract](/docs/guides/deploy-a-contract) +- πŸ“œ [Verify a contract](/docs/guides/verify-a-contract) +- πŸ› οΈ [Build a dapp](/docs/guides/build-a-dapp) diff --git a/packages/website/pages/docs/guides/_meta.json b/packages/website/pages/docs/guides/_meta.json new file mode 100644 index 0000000000..184f5707d1 --- /dev/null +++ b/packages/website/pages/docs/guides/_meta.json @@ -0,0 +1,33 @@ +{ + "configure-your-wallet": { + "title": "πŸ’» Configure your wallet" + }, + "receive-tokens": { + "title": "🎈 Receive tokens" + }, + "use-the-bridge": { + "title": "πŸŒ‰ Use the bridge" + }, + "swap-tokens": { + "title": "πŸ”„ Swap tokens", + "display": "hidden" + }, + "run-a-node": { + "title": "🌐 Run a node" + }, + "enable-a-proposer": { + "title": "πŸ“€ Enable a proposer" + }, + "enable-a-prover": { + "title": "βœ… Enable a prover" + }, + "deploy-a-contract": { + "title": "πŸš€ Deploy a contract" + }, + "verify-a-contract": { + "title": "πŸ“œ Verify a contract" + }, + "build-a-dapp": { + "title": "πŸ› οΈ Build a dapp" + } +} diff --git a/packages/website/pages/docs/guides/build-a-dapp.mdx b/packages/website/pages/docs/guides/build-a-dapp.mdx new file mode 100644 index 0000000000..1cb7b29283 --- /dev/null +++ b/packages/website/pages/docs/guides/build-a-dapp.mdx @@ -0,0 +1,12 @@ +# Build a dapp + +## Overview + +This guide will help you build a dapp on Taiko in one click! + +## Prerequisites + +- A curiosity to learn and build πŸ™ƒ. + +## Steps +1. Visit the [dapp-slaps starter template](https://github.com/d1onys1us/dapp-slaps) to create an Ethereum dapp in one click. diff --git a/packages/website/pages/docs/guides/configure-your-wallet.mdx b/packages/website/pages/docs/guides/configure-your-wallet.mdx new file mode 100644 index 0000000000..48a942ccb2 --- /dev/null +++ b/packages/website/pages/docs/guides/configure-your-wallet.mdx @@ -0,0 +1,31 @@ +import { Steps } from "nextra-theme-docs"; + +# Configure your wallet + +## Overview + +This guide help you connect your wallet to Taiko (Alpha-3 testnet). There are two networks to configure your wallet with: Ethereum (Sepolia testnet) and Taiko (Alpha-3 testnet). + +## Prerequisites + +- You have a wallet installed and ready to use. Some examples are MetaMask and Frame. Please use a hot wallet (not a hardware wallet) for this guide, preferably a throwaway wallet. + +## Steps + + + ### Visit chainlist + Visit [https://chainlist.org/](https://chainlist.org/) and check the box for "Include Testnets". + + ### Add the Sepolia testnet + Search for "Sepolia", and click the "Add Chain" button. + + ### Add the Taiko testnet + Search for "Taiko", and click the "Add Chain" button for Taiko (Alpha-3 testnet). + + ### Add tokens to your wallet + Use your wallet (e.g., Metamask) to [import the tokens](https://support.ledger.com/hc/en-us/articles/6375103346077-Add-custom-tokens-to-MetaMask?docs=true) with [this configuration](https://gist.githubusercontent.com/d1onys1us/8f8824daed0882b1094296f824fae53c/raw/15204c4a4927a7f48a78c195323ce0d573d6b7c0/taiko_tokens.json) (HORSE, BLL, and TTKO). + + +## Troubleshooting +### The add chain buttons did not work +Try to manually add the network to your wallet using the [RPC configuration](/docs/reference/rpc-configuration). diff --git a/packages/website/pages/docs/guides/deploy-a-contract.mdx b/packages/website/pages/docs/guides/deploy-a-contract.mdx new file mode 100644 index 0000000000..8910331146 --- /dev/null +++ b/packages/website/pages/docs/guides/deploy-a-contract.mdx @@ -0,0 +1,101 @@ +import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs"; + +# Deploy a contract + +## Overview + +This guide will help you deploy a smart contract to Taiko using Foundry or Hardhat. + +## Prerequisites + +- You have [Foundry](https://book.getfoundry.sh/getting-started/installation) or [Hardhat](https://hardhat.org/hardhat-runner/docs/getting-started#quick-start) installed. +- You have testnet ETH on Taiko (to pay the transaction fee for deploying the contract). + - You can [request Sepolia ETH](/docs/guides/receive-tokens#receive-sepolia-eth) from the faucet and then [use the bridge](/docs/guides/use-the-bridge) to send the testnet ETH to Taiko. +- You have the private key to the account with testnet ETH on Taiko. + +### Additional Remix prerequisites +- You have [configured your wallet](/docs/guides/configure-your-wallet) to connect to Taiko. + +## Steps + + + + + ### Create a project with Foundry + ```sh + forge init hello_foundry && cd hello_foundry + ``` + + ### Deploy your contract + Deploy the contract located at `src/Counter.sol`. Replace `YOUR_PRIVATE_KEY` below with your private key which has some testnet ETH on Taiko. + + Use a throwaway wallet to be safe. Don't reveal the private key of a wallet with significant value! + + + ```sh + forge create --rpc-url https://rpc.test.taiko.xyz --private-key YOUR_PRIVATE_KEY src/Counter.sol:Counter + ``` + + ### View your contract + Paste the address from the output into the [Taiko block explorer](https://explorer.test.taiko.xyz) and verify that the contract was deployed. + + + + + ### Create a project with Hardhat + ```sh + npx hardhat + ``` + + ### Add Taiko to your Hardhat config + + For the `accounts` array, you will need to enter the private key of the account you are deploying the contract with. It is **not recommended** to hardcode the private key like this (an environment variable would be better, but is still risky). + + Use a throwaway wallet to be safe. Don't reveal the private key of a wallet with significant value! + + + ```ts {6-13} filename=hardhat.config.ts + import { HardhatUserConfig } from "hardhat/config"; + import "@nomicfoundation/hardhat-toolbox"; + + const config: HardhatUserConfig = { + solidity: "0.8.18", + networks: { + taiko: { + url: "http://rpc.test.taiko.xyz", + accounts: [ + "0xf214f2b2cd398c806f84e317254e0f0b801d0643303237d97a22a48e01628897", + ], + }, + }, + }; + + export default config; + ``` + + ### Deploy your contract on Taiko + ```sh + npx hardhat run --network taiko scripts/deploy.ts + ``` + + ### View your contract + Paste the address from the output into the [Taiko block explorer](https://explorer.test.taiko.xyz) and verify that the contract was deployed. + + + + + ### Visit Remix and connect your wallet to Taiko + Visit [remix.ethereum.org](https://remix.ethereum.org) and connect your wallet to Taiko. + + ### Select a smart contract + ![select a smart contract](/images/guides/deploy-remix/select.png) + + ### Compile your smart contract + ![compile your smart contract](/images/guides/deploy-remix/compile.png) + + + ### Deploy your smart contract + ![deploy your smart contract](/images/guides/deploy-remix/deploy.png) + + + diff --git a/packages/website/pages/docs/guides/enable-a-proposer.mdx b/packages/website/pages/docs/guides/enable-a-proposer.mdx new file mode 100644 index 0000000000..f22d16a766 --- /dev/null +++ b/packages/website/pages/docs/guides/enable-a-proposer.mdx @@ -0,0 +1,55 @@ +import { Callout, Steps } from "nextra-theme-docs"; + +# Enable a proposer + + +TTKO will not be distributed immediately at the launch of alpha-3, but will be distributed shortly after. + + +## Overview + +This guide will help you enable your Taiko node as a proposer. + +## Prerequisites + +- You have already setup a node (see: [Run a node](/docs/guides/run-a-node)) +- Must have a balance of ETH and TTKO on Sepolia (see: [Receive tokens](/docs/guides/receive-tokens)). + +## Steps + + +### Visit the TaikoL1 contract on Sepolia Etherscan + +Navigate to the [TaikoL1 contract](https://sepolia.etherscan.io/address/0x6375394335f34848b850114b66A49D6F47f2cdA8#writeProxyContract) on Sepolia. + +Click `Connect to Web3` and connect your wallet. + +### Enter deposit amount + +Click `depositTaikoToken` and enter the amount of TTKO you would like to deposit followed by 8 zeroes. + + +Make sure to click the plus sign and add `10^8` decimals, or add 8 zeroes manually. + + +For example if you want to deposit `69` TTKO, you would enter `6900000000`. + +### Deposit your TTKO + +Click `Write` and confirm the transaction in your wallet. + +### Open `.env` file in `simple-taiko-node` +Open the `.env` file in the `simple-taiko-node` directory. + +### Set environment variables to enable a proposer +Set the following environment variables to enable your node as a proposer: + - Set `ENABLE_PROPOSER` to `true` (replacing the default `false` with `true`). + - Set `L1_PROPOSER_PRIVATE_KEY` to that of your wallet's private key; it will need some TTKO on Sepolia to propose blocks (if using MetaMask, follow these directions to [retrieve the private key](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key)). + - Set `L2_SUGGESTED_FEE_RECIPIENT` to the recipient of L2 ETH rewards. + +### Verify proposer logs +You should see a log if you have proposed a block: `πŸ“ Propose transactions succeeded`. + +If you are running a node in the background, you can view the logs with `docker compose logs -f`. + + diff --git a/packages/website/pages/docs/guides/enable-a-prover.mdx b/packages/website/pages/docs/guides/enable-a-prover.mdx new file mode 100644 index 0000000000..b56d520346 --- /dev/null +++ b/packages/website/pages/docs/guides/enable-a-prover.mdx @@ -0,0 +1,41 @@ +import { Callout, Steps } from "nextra-theme-docs"; + +# Enable a prover + + + Only the first prover can get the reward, and others will be rejected by the protocol smart contract. This means the fastest prover will be able to prove the block and earn the reward, **if you have just the minimum hardware outlined in the prerequisited below, running a single prover, it's unlikely you will be able to prove any blocks (because you will be competing against other high-performance provers)**. + +Meaning, if you do not have a powerful prover, the primary purpose of running a prover is to help test out and provide community feedback on running the node software. Keep in mind this will have a cost in electricity on your computer, and if you are not proving blocks, it's unlikely you will receive a reward to offset that electricity cost. + + +## Overview + +This guide will help you enable your Taiko node as a prover. + +## Prerequisites +- You have already setup a node (see: [Run a node](/docs/guides/run-a-node)) +- Must have some ETH on Sepolia (see: [Receive tokens](/docs/guides/receive-tokens)). +- Should have at least 8/16 core CPU and 32GB of RAM. (**note: see warning above**) + + +## Steps + + +### Open `.env` file in `simple-taiko-node` +Open the `.env` file in the `simple-taiko-node` directory. + +### Set environment variables to enable prover +Set the following environment variables to enable your node as a prover: + - Set `ENABLE_PROVER` to `true` (replacing the default `false` with `true`). + - Set `L1_PROVER_PRIVATE_KEY` to that of your wallet's private key; it will need some ETH on Sepolia to prove blocks (if using MetaMask, follow these directions to [retrieve the private key](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key)). + +### Verify prover logs +Verify you have some prover logs: + - `πŸ’° Your block proof was accepted` means you are the first prover and receive the reward. + - `βœ… Valid block proven` just means a proposed block was successfully proved on TaikoL1 (by anyone). + +If you are running a node in the background, you can view the logs with `docker compose logs -f`. + + +## Troubleshooting +Consult [Run a node - Troubleshooting](/docs/guides/run-a-node#troubleshooting) for common issues. diff --git a/packages/website/pages/docs/guides/receive-tokens.mdx b/packages/website/pages/docs/guides/receive-tokens.mdx new file mode 100644 index 0000000000..360c79ee08 --- /dev/null +++ b/packages/website/pages/docs/guides/receive-tokens.mdx @@ -0,0 +1,37 @@ +import { Callout, Steps } from "nextra-theme-docs"; + +# Receive tokens + +## Overview + +This guide will help you receive testnet tokens from the faucet(s). + +## Prerequisites + +- You have an Ethereum wallet address to accept the testnet tokens. + +## Steps + + + ### Receive Sepolia ETH + Visit one of the faucets to receive ETH on Sepolia: + - [https://sepolia-faucet.pk910.de](https://sepolia-faucet.pk910.de/) + - [https://faucet-sepolia.rockx.com](https://faucet-sepolia.rockx.com/) + - [https://sepoliafaucet.com](https://sepoliafaucet.com/) + - [https://www.infura.io/faucet/sepolia](https://www.infura.io/faucet/sepolia) + + ### Receive HORSE + Navigate to [the bridge](https://bridge.test.taiko.xyz), select HORSE from the dropdown, and click "Faucet". + + ![receive horse](/images/guides/receive-horse.png) + + ### Receive BLL + Repeat the previous step for receiving HORSE, except select "BLL" from the dropdown. + + ### Receive TTKO + + TTKO will not be distributed immediately at the launch of alpha-3, but will be distributed shortly after. + + + Coming soon πŸ‘€ + \ No newline at end of file diff --git a/packages/website/pages/docs/guides/run-a-node.mdx b/packages/website/pages/docs/guides/run-a-node.mdx new file mode 100644 index 0000000000..ca532ceca9 --- /dev/null +++ b/packages/website/pages/docs/guides/run-a-node.mdx @@ -0,0 +1,228 @@ +import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs"; + +# Run a node + +## Overview + +This guide will walk you through the process of operating a Taiko node via [simple-taiko-node](https://github.com/taikoxyz/simple-taiko-node). You will be able to: + +- Run a Taiko node easily from the command line on Windows, Mac, and Linux. +- View a [Grafana](https://grafana.com/) dashboard which displays the node's status. + +## Prerequisites + +- [Docker](https://docs.docker.com/engine/install/) is installed and **running**. +- [Git](https://github.com/git-guides/install-git/) is installed. +- Consult the [Geth minimum hardware requirements](https://github.com/ethereum/go-ethereum#hardware-requirements), with the exception of 1TB of free space (~50GB should be more than enough initially, but over time it could become insufficient as the chain grows). + +## Steps + + +### Clone simple-taiko-node +```sh +git clone https://github.com/taikoxyz/simple-taiko-node.git +cd simple-taiko-node +``` + +### Configure your node (required) + +First, copy the `.env.sample` to a new file `.env`: + +```sh +cp .env.sample .env +``` + +Next, open the `.env` file in your preferred text editor: + +{" "} + + + + ```sh + nano .env + ``` + + + ```sh + vim .env + ``` + + + ```sh + notepad .env + ``` + + + +Finally, set the following environment variables: + +- L1_ENDPOINT_HTTP +- L1_ENDPOINT_WS + + + You can get a Sepolia L1 endpoint from a few places, + [Alchemy](https://www.alchemy.com/) and [Infura](https://www.infura.io/) are two popular RPC providers. **Make sure you select the RPC as Sepolia testnet, and not Ethereum mainnet**. + + +### Enable your node as a proposer (optional) + +See [enable a proposer](/docs/guides/enable-a-proposer) for more information. + + +### Enable your node as a prover (optional) + +See [enable a prover](/docs/guides/enable-a-prover) for more information. + +### Start a node + + + If you ran a testnet node previously make sure to first run a `docker compose down -v` to remove the old volumes. Also, it may take some time to synchronize from the genesis block. You can monitor this progress through logs, or in the local grafana dashboard and see the latest L2 chain status in the [Taiko block explorer](https://explorer.test.taiko.xyz/). + + +Make sure Docker is running and then run the following command to start the node. If you want to run it in the background, please add the `-d` flag (`docker compose up -d`). + +```sh +docker compose up +``` + +To run the node in the background (detached mode), use the `-d` flag: + +```sh +docker compose up -d +``` + +### Stop a node + +This command shuts down the node, but will keep all volumes, so next time you restart the node, it won't need to synchronize from the genesis again. + +```sh +docker compose down +``` + +### Remove a node + +These commands will completely remove the node by removing all volumes used by each container: + +```sh +docker compose down -v +rm -f .env +``` + +### Update a node + +Update the `simple-taiko-node` Docker images: + +```sh +docker compose pull +``` + +### View the node's logs + +To view the Docker logs, the following commands can be ran: + +#### View all logs + +```sh +docker compose logs -f +``` + +#### View the proposer image's logs + +```sh +docker compose logs -f taiko_client_proposer +``` + +#### View the prover image's logs + +```sh +docker compose logs -f taiko_client_prover_relayer +``` + +#### View the L2 execution engine logs + +```sh +docker compose logs -f l2_execution_engine +``` + +#### View the live data streams of your running containers +This shows the CPU/MEM USAGE % and consumption of your machine's resources (add prefix "`docker stats -a`" to display all containers) +```sh +docker stats +``` + +### View the node's status dashboard + +A [Grafana](https://grafana.com/) dashboard with a [Prometheus](https://prometheus.io/) datasource is also included to display the L2 execution engine's real time status. + +You can visit it at [http://localhost:3000/d/L2ExecutionEngine/l2-execution-engine-overview](http://localhost:3000/d/L2ExecutionEngine/l2-execution-engine-overview). + +
+ +image + +
+ +## Troubleshooting + +### Node warning logs +You can ignore any WARN logs. + +### Node error logs + +#### `error: L1_BLOCK_ID` +The block that you want to prove has already been verified, you can ignore this. + +#### `error: L1_ALREADY_PROVEN` +This block has been proven by someone else, but its not verified yet, you can ignore it. + +#### `Fatal: Failed to register the Ethereum service: database contains incompatible genesis` +Try to remove the node with `docker compose down -v` and then try again. + +#### `Unhandled trie error: missing trie node` +You can ignore this error, it doesn't affect you and goes away after a while. + +#### `Block batch iterator callback error; error="failed to fetch L2 parent block: not found` +You can ignore this error. + +#### `Error starting ...: listen tcp4 0.0.0.0:{port} bind: address already in use` +The port is already in use by another service. You can either shut down the other program or change the port in the .env file. + +#### `error parsing HTTP 403 response body: invalid character '<' looking for beginning of value` +Your IP address is being geo-blocked due to sanctions lists. If you're affected, try changing hosting locations or utilize a VPN to change your IP address. + +#### `ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for some_service 'pull_policy'` +Your docker installation is out of date. You need to update your docker compose installation: https://docs.docker.com/compose/install/. + +#### `daemon docker is not running`

`Cannot connect to the Docker daemon` +Need to start the Docker before running the commands. + +#### `database contains incompatible genesis` +If you ran an alpha-1 testnet node make sure to first run a docker compose down -v to remove the old volumes. + +#### `Bind for 0.0.0.0:port` failed: port already allocated +This error just means that the port taiko-node is trying to allocate is already being used by either some other node you're running +or by a left-over container of taiko node if you did not close down the node correctly, you can try running `docker compose down` in the simple-taiko-node folder and start it again using `docker compose up -d` +or edit the `.env` and replace the problematic port with a different one. + +#### `Failed to fetch L1Origin from L2 execution engine

err="not found"` +This seems to be a common issue if you're using Alchemy endpoints, switching to Infura should fix this issue. + +#### `no configuration file provided: not found` +You are in the wrong directory, `cd simple-taiko-node` and run the command again. + +#### `unknown shorthand flag: 'd' in -d` +You are using v1 of docker-compose, use the command: `docker-compose up -d` instead of `docker compose up -d`, I highly recommend that you upgrade to the v2 of docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/) + +#### `docker: 'compose' is not a docker command` +You are missing the docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/) + +#### `taiko_client_prover_relayer not printing any logs` +There could be several reasons, you can check the logs `docker compose logs -f` to make sure there are no errors but one of the most common cause for this is a typo in the `.env` file +`ENABLE_PROVER=True/TRUE` when setting this to true `true` has to be in all lowercase or the script to start relayer won't run. + +#### `simple-taiko-node-taiko_client_prover_relayer-1 | /bin/sh: /script/start-prover-relayer.sh: not found` +This issue occurs on windows because of the Control Characters in this case the Line Endings, a quick fix would be to delete the node folder, run this `git config --global core.autocrlf false` in the shell, then clone the repo again. \ No newline at end of file diff --git a/packages/website/pages/docs/guides/swap-tokens.mdx b/packages/website/pages/docs/guides/swap-tokens.mdx new file mode 100644 index 0000000000..51fb3ac8e6 --- /dev/null +++ b/packages/website/pages/docs/guides/swap-tokens.mdx @@ -0,0 +1,33 @@ +import { Callout, Steps } from "nextra-theme-docs"; + +# Swap tokens + +## Overview + +This guide will help you interact with Swap, which is a fork of Uniswap v2 that Taiko has deployed only for testing purposes. + +## Prerequisites + +- You must have some tokens (at least ETH) on Taiko (Alpha-3 testnet). You can [receive some ETH, HORSE, and BLL from the faucets](/docs/guides/receive-tokens) and then [bridge them to Taiko](/docs/guides/use-the-bridge). + +## Steps + + + ### Navigate to Swap + Navigate to [https://swap.test.taiko.xyz](https://swap.test.taiko.xyz). + + ### Swap some tokens + Swap some tokens. You can receive some testnet tokens [here](/docs/guides/receive-tokens). + + ![swap tokens](/images/guides/swap-swap.png) + + ### Provide liquidity + Provide liquidity to a pool. You can receive some testnet tokens [here](/docs/guides/receive-tokens). + + ![provide liquidity](/images/guides/swap-liquidity.png) + + +## Troubleshooting + +### Token list does not show up +If the "Taiko Tokens List" does not show up at "Select a list", you can add [this token list](https://gist.githubusercontent.com/d1onys1us/8f8824daed0882b1094296f824fae53c/raw/15204c4a4927a7f48a78c195323ce0d573d6b7c0/taiko_tokens.json). \ No newline at end of file diff --git a/packages/website/pages/docs/guides/use-the-bridge.mdx b/packages/website/pages/docs/guides/use-the-bridge.mdx new file mode 100644 index 0000000000..40065ed10d --- /dev/null +++ b/packages/website/pages/docs/guides/use-the-bridge.mdx @@ -0,0 +1,30 @@ +import { Callout, Steps } from "nextra-theme-docs"; + +# Use the bridge + + + The BLL token is **expected to fail** about 50% of the time when bridging--this is done intentionally to test error handling. + + +## Overview + +This guide will help you use the bridge to send tokens between Sepolia and Taiko (Alpha-3 testnet). You can read more about how bridging works [here](/docs/concepts/bridging/cross-chain-messaging). + +## Prerequisites + +- A wallet with some testnet ETH on Sepolia and/or Taiko (you can [receive tokens here](/docs/guides/receive-tokens)). + +## Steps + + + ### Visit the bridge + Visit the [bridge](https://bridge.test.taiko.xyz/) and the UI should be intuitive. + + ### Bridge tokens from Sepolia to Taiko + Try bridging ETH, HORSE, and/or BLL from Sepolia to Taiko. You can also try manually claiming the transfer yourself by clicking the "Claim" button under the "Transactions" tab. + + ![bridge claim](/images/guides/bridge-claim.png) + + ### Bridge tokens from Taiko to Sepolia + Try bridging ETH, HORSE, and/or BLL from Taiko to Sepolia. You can also try manually claiming the transfer yourself by clicking the "Claim" button under the "Transactions" tab. + \ No newline at end of file diff --git a/packages/website/pages/docs/guides/verify-a-contract.mdx b/packages/website/pages/docs/guides/verify-a-contract.mdx new file mode 100644 index 0000000000..4e2abc09e7 --- /dev/null +++ b/packages/website/pages/docs/guides/verify-a-contract.mdx @@ -0,0 +1,80 @@ +import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs"; + +# Verify a contract + +## Overview + +This guide will help get your contract verified on Taiko! + +## Prerequisites + +- You have a contract deployed on Taiko and the source code available. + +## Steps + + + + + ### Add Etherscan config to Hardhat config + + Even though the config is called `etherscan`, it is used for all explorers that support the Etherscan API (including Blockscout). The API key is set to a dummy value `42069` because it is not used for Blockscout verification. + + + ```ts {14-28} filename=hardhat.config.ts + import { HardhatUserConfig } from "hardhat/config"; + import "@nomicfoundation/hardhat-toolbox"; + + const config: HardhatUserConfig = { + solidity: "0.8.18", + networks: { + taiko: { + url: "https://rpc.test.taiko.xyz", + accounts: [ + "0xf214f2b2cd398c806f84e317254e0f0b801d0643303237d97a22a48e01628897", + ], + }, + }, + etherscan: { + apiKey: { + taiko: "42069", + }, + customChains: [ + { + network: "taiko", + chainId: 167005, + urls: { + apiURL: "https://explorer.test.taiko.xyz/api", + browserURL: "https://explorer.test.taiko.xyz", + }, + }, + ], + }, + }; + + export default config; + ``` + + ### Run the verify task + Run the verify task, but replace `DEPLOYED_CONTRACT_ADDRESS` and `"Constructor argument 1"` with the address of your deployed contract and the constructor arguments you used when deploying the contract. + + ```sh + npx hardhat verify --network taiko DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1" + ``` + + ### View your verified contract on Blockscout + Check the [Taiko block explorer](https://explorer.test.taiko.xyz) link from the output to see your contract was verified. + + + + + + ### Follow Blockscout's official guide + Follow Blockscout's [official guide](https://docs.blockscout.com/for-users/verifying-a-smart-contract) to verify your contract on Taiko's blockscout explorers. + + + + + Foundry's `verify-contract` command is currently broken with Blockscout (see why [here](https://github.com/foundry-rs/foundry/issues/4909)). Please check the Hardhat or Blockscout steps to verify your contract. + + + diff --git a/packages/website/pages/docs/index.mdx b/packages/website/pages/docs/index.mdx index 2c8b19157a..e2a4a0f2e7 100644 --- a/packages/website/pages/docs/index.mdx +++ b/packages/website/pages/docs/index.mdx @@ -1,9 +1,13 @@ -## Welcome to Taiko! +## Welcome to Taiko πŸ₯ Taiko is a decentralized, Ethereum-equivalent ZK-Rollup ([Type 1 ZK-EVM](https://mirror.xyz/labs.taiko.eth/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo)). We're working on the full Ethereum [ZK-EVM circuits](https://github.com/privacy-scaling-explorations/zkevm-circuits) as part of a community effort led by the Ethereum Foundation's Privacy and Scaling Explorations (PSE) team. Check out the [Taiko roadmap](/images/roadmaps/taiko-roadmap.png) to see where we're going! +## Get started + +Check out the [guides](/docs/guides) section get started with Taiko on the testnet! + ## Contribute to Taiko Taiko is an open-source, community-driven project that welcomes and values every and any contribution. That's including both technical and non-technical contributions. diff --git a/packages/website/pages/docs/reference/_meta.json b/packages/website/pages/docs/reference/_meta.json index d9be5d44d9..50b835c98d 100644 --- a/packages/website/pages/docs/reference/_meta.json +++ b/packages/website/pages/docs/reference/_meta.json @@ -2,7 +2,10 @@ "contract-documentation": { "title": "Contract documentation" }, - "protocol-constants": { - "title": "Protocol constants" + "contract-addresses": { + "title": "Contract addresses" + }, + "rpc-configuration": { + "title": "RPC configuration" } } diff --git a/packages/website/pages/docs/reference/contract-addresses.md b/packages/website/pages/docs/reference/contract-addresses.md new file mode 100644 index 0000000000..e2c8fd6f76 --- /dev/null +++ b/packages/website/pages/docs/reference/contract-addresses.md @@ -0,0 +1,52 @@ +# Contract addresses + +## Protocol contracts + +**Sepolia** + +| Contract name | Contract address | +| -------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| AddressManager | [0xB566C97d37662f8a5843D523bE7806e04b02D99d](https://sepolia.etherscan.io/address/0xB566C97d37662f8a5843D523bE7806e04b02D99d) | +| Bridge | [0x7D992599E1B8b4508Ba6E2Ba97893b4C36C23A28](https://sepolia.etherscan.io/address/0x7D992599E1B8b4508Ba6E2Ba97893b4C36C23A28) | +| SignalService | [0x23baAc3892a823e9E59B85d6c90068474fe60086](https://sepolia.etherscan.io/address/0x23baAc3892a823e9E59B85d6c90068474fe60086) | +| TaikoL1 | [0x6375394335f34848b850114b66A49D6F47f2cdA8](https://sepolia.etherscan.io/address/0x6375394335f34848b850114b66A49D6F47f2cdA8) | +| TokenVault | [0xD70506580B5F65e68ed0dbA7B4Ae507641C48197](https://sepolia.etherscan.io/address/0xD70506580B5F65e68ed0dbA7B4Ae507641C48197) | + +**Taiko** + +| Contract name | Contract address | +| ------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| Bridge | [0x1000777700000000000000000000000000000004](https://explorer.test.taiko.xyz/address/0x1000777700000000000000000000000000000004) | +| EtherVault | [0x0000777700000000000000000000000000000003](https://explorer.test.taiko.xyz/address/0x0000777700000000000000000000000000000003) | +| SignalService | [0x1000777700000000000000000000000000000007](https://explorer.test.taiko.xyz/address/0x1000777700000000000000000000000000000007) | +| TaikoL2 | [0x0000777700000000000000000000000000000001](https://explorer.test.taiko.xyz/address/0x0000777700000000000000000000000000000001) | +| TokenVault | [0x0000777700000000000000000000000000000002](https://explorer.test.taiko.xyz/address/0x0000777700000000000000000000000000000002) | + +## ERC-20 token contracts + +**Sepolia** + +| Name | Symbol | Contract address | +| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- | +| Bull Token | BLL | [0x39e12053803898211F21047D56017986E0f070c1](https://sepolia.etherscan.io/address/0x39e12053803898211F21047D56017986E0f070c1) | +| Horse Token | HORSE | [0x958b482c4E9479a600bFFfDDfe94D974951Ca3c7](https://sepolia.etherscan.io/address/0x958b482c4E9479a600bFFfDDfe94D974951Ca3c7) | +| Test Taiko Token | TTKO | [0xE52952B8063d0AE6Bd35E894866d8148976ce645](https://sepolia.etherscan.io/address/0xE52952B8063d0AE6Bd35E894866d8148976ce645) | + +**Taiko** + +| Name | Symbol | Contract address | +| ---------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- | +| Bull Token | BLL | [0x6302744962a0578E814c675B40909e64D9966B0d](https://explorer.test.taiko.xyz/address/0x6302744962a0578E814c675B40909e64D9966B0d) | +| Horse Token | HORSE | [0xa4505BB7AA37c2B68CfBC92105D10100220748EB](https://explorer.test.taiko.xyz/address/0xa4505BB7AA37c2B68CfBC92105D10100220748EB) | +| Test Taiko Token | TTKO | [0x7b1a3117B2b9BE3a3C31e5a097c7F890199666aC](https://explorer.test.taiko.xyz/address/0x7b1a3117B2b9BE3a3C31e5a097c7F890199666aC) | + +## Taiko's node addresses + +| Name | Address | +| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| Taiko's personal proposer | [0xE09e4fF4353fbf984F99fa824524277F704e7475](https://sepolia.etherscan.io/address/0xE09e4fF4353fbf984F99fa824524277F704e7475) | +| Taiko's personal prover | [0x6798639591530FbBAfd12c2826422B58bD2c5219](https://sepolia.etherscan.io/address/0x6798639591530FbBAfd12c2826422B58bD2c5219) | +| Taiko's relayer | [0xe07b3455f382E6912558f613e072c1a46964eDBb](https://sepolia.etherscan.io/address/0xe07b3455f382E6912558f613e072c1a46964eDBb) | +| Oracle prover | [0x6798639591530FbBAfd12c2826422B58bD2c5219](https://sepolia.etherscan.io/address/0x6798639591530FbBAfd12c2826422B58bD2c5219) | +| System prover 1 | [0x89697A45BA1FEFbc575BdcA6e0C50D5112A5a766](https://sepolia.etherscan.io/address/0x89697A45BA1FEFbc575BdcA6e0C50D5112A5a766) | +| System prover 2 | [0xC9060A394ab1986D29aaB985ba41B2E516325900](https://sepolia.etherscan.io/address/0xC9060A394ab1986D29aaB985ba41B2E516325900) | diff --git a/packages/website/pages/docs/reference/contract-documentation.md b/packages/website/pages/docs/reference/contract-documentation.md deleted file mode 100644 index 79ee9357b9..0000000000 --- a/packages/website/pages/docs/reference/contract-documentation.md +++ /dev/null @@ -1 +0,0 @@ -Here you will find the documentation for the Taiko smart contracts. diff --git a/packages/website/pages/docs/reference/protocol-constants.mdx b/packages/website/pages/docs/reference/protocol-constants.mdx deleted file mode 100644 index 46428bc1f6..0000000000 --- a/packages/website/pages/docs/reference/protocol-constants.mdx +++ /dev/null @@ -1,29 +0,0 @@ -import { Callout } from "nextra-theme-docs"; - - - These protocol constants are not finalized and might not represent the current - state, as they are frequently tweaked. - - -## Protocol Constants - -| Key | Value | -| ----------------------------- | --------------------------------------------------------------------------------------------------- | -| $K_{ChainID}$ | Taiko's chain ID. | -| $K_{MaxNumBlocks}$ | The maximum number of slots for proposed blocks. | -| $K_{MaxVerificationsPerTx}$ | The number of proven blocks that can be verified when a new block is proposed or a block is proven. | -| $K_{MaxProofsPerForkChoice}$ | The maximum number of proofs per fork choice. | -| $K_{BlockMaxGasLimit}$ | A Taiko block’s max gas limit besides $K_{AnchorTxGasLimit}$. | -| $K_{BlockMaxTxs}$ | The maximum number of transactions in a Taiko block besides the anchor transaction. | -| $K_{BlockDeadEndHash}$ | A special value to mark blocks proven invalid. | -| $K_{TxListMaxBytes}$ | A txList’s maximum number of bytes. | -| $K_{TxMinGasLimit}$ | A transaction’s minimum gas limit. | -| $K_{AnchorTxGasLimit}$ | Anchor transaction’s fixed gas limit. | -| $K_{GracePeriod}$ | Fees and rewards grace period multiplier. | -| $K_{MaxPeriod}$ | Fees and rewards max period multiplier. | -| $K_{RewardMultiplier}$ | The max reward multiplier for proofs. | -| $K_{AnchorTxSelector}$ | `0xa0ca2d08` | -| $K_{GoldenTouchAddress}$ | `0x0000777735367b36bC9B61C50022d9D0700dB4Ec` | -| $K_{GoldenTouchPrivateKey}$ | `0x92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce38` | -| $K_{InvalidateBlockLogTopic}$ | `0x64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a2` | -| $K_{EmptyOmmersHash}$ | `0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347` | diff --git a/packages/website/pages/docs/reference/rpc-configuration.md b/packages/website/pages/docs/reference/rpc-configuration.md new file mode 100644 index 0000000000..881c1676bd --- /dev/null +++ b/packages/website/pages/docs/reference/rpc-configuration.md @@ -0,0 +1,6 @@ +# RPC configuration + +| Network | Chain ID | RPC URL | Symbol | Block Explorer URL | +| ------- | -------- | -------------------------- | ------ | ------------------------------- | +| Sepolia | 11155111 | https://rpc.sepolia.org | ETH | https://sepolia.etherscan.io/ | +| Taiko | 167005 | https://rpc.test.taiko.xyz | ETH | https://explorer.test.taiko.xyz | diff --git a/packages/website/pages/docs/resources/contributing.mdx b/packages/website/pages/docs/resources/contributing.mdx index cdff098473..8b1237ad79 100644 --- a/packages/website/pages/docs/resources/contributing.mdx +++ b/packages/website/pages/docs/resources/contributing.mdx @@ -1,3 +1,5 @@ import Link from 'next/link' +# Contributing + Community contributions are very encouraged! View the contributing guide to learn more. diff --git a/packages/website/pages/docs/resources/official-links.md b/packages/website/pages/docs/resources/official-links.md index eb2b46010e..bedfbb3330 100644 --- a/packages/website/pages/docs/resources/official-links.md +++ b/packages/website/pages/docs/resources/official-links.md @@ -1,3 +1,5 @@ +# Official links + | Name | Link | | --------------- | ---------------------------------------------------------- | | Blog | https://mirror.xyz/labs.taiko.eth | diff --git a/packages/website/public/images/Taiko_social_media_preview.png b/packages/website/public/images/Taiko_social_media_preview.png new file mode 100644 index 0000000000..7d095df4b6 Binary files /dev/null and b/packages/website/public/images/Taiko_social_media_preview.png differ diff --git a/packages/website/public/images/guides/bridge-claim.png b/packages/website/public/images/guides/bridge-claim.png index 7ecbc6bd1b..73efeea169 100644 Binary files a/packages/website/public/images/guides/bridge-claim.png and b/packages/website/public/images/guides/bridge-claim.png differ diff --git a/packages/website/public/images/guides/deploy-remix/compile.png b/packages/website/public/images/guides/deploy-remix/compile.png new file mode 100644 index 0000000000..eb7e761899 Binary files /dev/null and b/packages/website/public/images/guides/deploy-remix/compile.png differ diff --git a/packages/website/public/images/guides/deploy-remix/deploy.png b/packages/website/public/images/guides/deploy-remix/deploy.png new file mode 100644 index 0000000000..bc70b9a88e Binary files /dev/null and b/packages/website/public/images/guides/deploy-remix/deploy.png differ diff --git a/packages/website/public/images/guides/deploy-remix/select.png b/packages/website/public/images/guides/deploy-remix/select.png new file mode 100644 index 0000000000..c8f8e0061f Binary files /dev/null and b/packages/website/public/images/guides/deploy-remix/select.png differ diff --git a/packages/website/public/images/guides/receive-horse.png b/packages/website/public/images/guides/receive-horse.png index 8e84214d83..501d81fd37 100644 Binary files a/packages/website/public/images/guides/receive-horse.png and b/packages/website/public/images/guides/receive-horse.png differ diff --git a/packages/website/theme.config.tsx b/packages/website/theme.config.tsx index 0c7aa75aaa..52accf6a3d 100644 --- a/packages/website/theme.config.tsx +++ b/packages/website/theme.config.tsx @@ -1,17 +1,14 @@ -import { useRouter } from "next/router"; -import { useConfig } from "nextra-theme-docs"; import Footer from "./components/Footer"; import ThemedImage from "./components/ThemedImage"; +import { useConfig } from "nextra-theme-docs"; +import { useRouter } from "next/router"; export default { banner: { key: "banner", text: ( -
- πŸ“Œ Alpha-2 has been deprecated. Alpha-3 is coming... soon πŸ‘€ + + πŸ“Œ Alpha-3 is here! Get started β†’ ), }, @@ -44,6 +41,10 @@ export default { "A decentralized, Ethereum-equivalent ZK-Rollup." } /> + ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14f35fa124..095ad2e728 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -138,7 +138,7 @@ importers: version: 7.1.2 postcss-loader: specifier: ^6.2.0 - version: 6.2.1(postcss@8.4.19)(webpack@5.85.0) + version: 6.2.1(postcss@8.4.19)(webpack@5.85.1) prettier: specifier: 2.7.1 version: 2.7.1 @@ -183,7 +183,7 @@ importers: version: 0.12.0(ts-jest@27.1.5) ts-loader: specifier: ^9.2.6 - version: 9.4.1(typescript@4.9.3)(webpack@5.85.0) + version: 9.4.1(typescript@4.9.3)(webpack@5.85.1) tslib: specifier: ^2.4.0 version: 2.4.1 @@ -196,6 +196,8 @@ importers: packages/eventindexer: {} + packages/fork-diff: {} + packages/protocol: devDependencies: '@defi-wonderland/smock': @@ -395,10 +397,10 @@ importers: version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^5.16.0 - version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.5) + version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.42.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.44.0(eslint@7.32.0)(typescript@4.9.5) + version: 5.44.0(eslint@8.42.0)(typescript@4.9.5) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -428,7 +430,7 @@ importers: version: 7.1.2 postcss-loader: specifier: ^6.2.0 - version: 6.2.1(postcss@8.4.21)(webpack@5.85.0) + version: 6.2.1(postcss@8.4.21)(webpack@5.85.1) prettier: specifier: 2.7.1 version: 2.7.1 @@ -470,7 +472,7 @@ importers: version: 0.12.0(ts-jest@27.1.5) ts-loader: specifier: ^9.2.6 - version: 9.4.1(typescript@4.9.5)(webpack@5.85.0) + version: 9.4.1(typescript@4.9.5)(webpack@5.85.1) tslib: specifier: ^2.4.0 version: 2.5.0 @@ -549,10 +551,10 @@ importers: version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^5.16.0 - version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.3) + version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.42.0)(typescript@4.9.3) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.44.0(eslint@7.32.0)(typescript@4.9.3) + version: 5.44.0(eslint@8.42.0)(typescript@4.9.3) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -582,7 +584,7 @@ importers: version: 7.1.2 postcss-loader: specifier: ^6.2.0 - version: 6.2.1(postcss@8.4.19)(webpack@5.85.0) + version: 6.2.1(postcss@8.4.19)(webpack@5.85.1) prettier: specifier: 2.7.1 version: 2.7.1 @@ -624,7 +626,7 @@ importers: version: 0.12.0(ts-jest@27.1.5) ts-loader: specifier: ^9.2.6 - version: 9.4.1(typescript@4.9.3)(webpack@5.85.0) + version: 9.4.1(typescript@4.9.3)(webpack@5.85.1) tslib: specifier: ^2.4.0 version: 2.4.1 @@ -650,27 +652,24 @@ importers: specifier: ^0.2.1 version: 0.2.1(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) nextra: - specifier: ^2.6.2 - version: 2.6.2(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) + specifier: ^2.7.0 + version: 2.7.0(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) nextra-theme-docs: - specifier: ^2.6.2 - version: 2.6.2(next@13.4.4)(nextra@2.6.2)(react-dom@18.2.0)(react@18.2.0) + specifier: ^2.7.0 + version: 2.7.0(next@13.4.4)(nextra@2.7.0)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) - sharp: - specifier: ^0.31.3 - version: 0.31.3 devDependencies: '@heroicons/react': specifier: ^2.0.18 version: 2.0.18(react@18.2.0) '@types/node': - specifier: ^18.16.16 - version: 18.16.16 + specifier: ^20.2.5 + version: 20.2.5 '@types/react': specifier: ^18.2.8 version: 18.2.8 @@ -684,8 +683,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.1.3 + version: 5.1.3 packages/whitepaper: {} @@ -897,7 +896,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -2172,6 +2171,10 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@braintree/sanitize-url@6.0.2: + resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==} + dev: false + /@chainsafe/as-sha256@0.3.1: resolution: {integrity: sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==} dev: true @@ -2325,6 +2328,21 @@ packages: dev: true optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.42.0 + eslint-visitor-keys: 3.4.1 + dev: true + + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint/eslintrc@0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2342,6 +2360,28 @@ packages: - supports-color dev: true + /@eslint/eslintrc@2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.5.2 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.42.0: + resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@ethereum-waffle/chai@3.4.4: resolution: {integrity: sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==} engines: {node: '>=10.0'} @@ -2819,6 +2859,17 @@ packages: react: 18.2.0 dev: true + /@humanwhocodes/config-array@0.11.10: + resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/config-array@0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} @@ -2830,6 +2881,11 @@ packages: - supports-color dev: true + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true @@ -2957,7 +3013,7 @@ packages: collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.0 @@ -2981,7 +3037,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: callsites: 3.1.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 source-map: 0.6.1 dev: true @@ -3000,7 +3056,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/test-result': 27.5.1 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-runtime: 27.5.1 transitivePeerDependencies: @@ -3907,7 +3963,7 @@ packages: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} dependencies: '@gar/promisify': 1.1.3 - semver: 7.5.1 + semver: 7.3.8 dev: true /@npmcli/move-file@1.1.2: @@ -4261,6 +4317,18 @@ packages: dev: true optional: true + /@theguild/remark-mermaid@0.0.1(react@18.2.0): + resolution: {integrity: sha512-MbLi7CIn25r0MypN1yaTrvuQHBE/UXy/DKfVjaLlXx5ut4PasOwzGIJihzM4d9kqNADJKilHpQWcd66ivbvJEQ==} + peerDependencies: + react: ^18.2.0 + dependencies: + mermaid: 10.2.1 + react: 18.2.0 + unist-util-visit: 4.1.2 + transitivePeerDependencies: + - supports-color + dev: false + /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} @@ -4375,7 +4443,7 @@ packages: /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} @@ -4388,7 +4456,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.16.16 + '@types/node': 12.20.55 '@types/responselike': 1.0.0 dev: true optional: true @@ -4400,13 +4468,13 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 /@types/debug@4.1.7: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} @@ -4462,14 +4530,14 @@ packages: /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true /@types/glob@8.1.0: @@ -4550,7 +4618,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true optional: true @@ -4595,7 +4663,7 @@ packages: /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true /@types/mocha@9.1.1: @@ -4608,7 +4676,7 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 form-data: 3.0.1 dev: true @@ -4619,12 +4687,8 @@ packages: /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - /@types/node@18.16.16: - resolution: {integrity: sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==} - /@types/node@20.2.5: resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} - dev: true /@types/node@8.10.66: resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} @@ -4641,7 +4705,7 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 18.16.16 + '@types/node': 20.2.5 /@types/prettier@2.7.1: resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} @@ -4679,13 +4743,13 @@ packages: /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 dev: true optional: true @@ -4707,7 +4771,7 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 18.16.16 + '@types/node': 20.2.5 /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} @@ -4752,7 +4816,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 18.16.16 + '@types/node': 12.20.55 /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -4817,7 +4881,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.42.0)(typescript@4.9.3): resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4828,12 +4892,39 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.44.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.44.0(eslint@8.42.0)(typescript@4.9.3) '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/type-utils': 5.44.0(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.44.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.44.0(eslint@8.42.0)(typescript@4.9.3) + '@typescript-eslint/utils': 5.44.0(eslint@8.42.0)(typescript@4.9.3) debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + eslint: 8.42.0 + ignore: 5.2.0 + natural-compare-lite: 1.4.0 + regexpp: 3.2.0 + semver: 7.3.8 + tsutils: 3.21.0(typescript@4.9.3) + typescript: 4.9.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.42.0)(typescript@4.9.5): + resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.44.0(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/type-utils': 5.44.0(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.44.0(eslint@8.42.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.42.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 @@ -4902,7 +4993,27 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.44.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.44.0(eslint@8.42.0)(typescript@4.9.3): + resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.42.0 + typescript: 4.9.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.44.0(eslint@8.42.0)(typescript@4.9.5): resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4916,7 +5027,7 @@ packages: '@typescript-eslint/types': 5.44.0 '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + eslint: 8.42.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -4958,7 +5069,27 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@5.44.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.44.0(eslint@8.42.0)(typescript@4.9.3): + resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) + '@typescript-eslint/utils': 5.44.0(eslint@8.42.0)(typescript@4.9.3) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.42.0 + tsutils: 3.21.0(typescript@4.9.3) + typescript: 4.9.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@5.44.0(eslint@8.42.0)(typescript@4.9.5): resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4969,9 +5100,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.44.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.44.0(eslint@8.42.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + eslint: 8.42.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -5002,7 +5133,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.5.1 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -5071,7 +5202,27 @@ packages: - typescript dev: true - /@typescript-eslint/utils@5.44.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.44.0(eslint@8.42.0)(typescript@4.9.3): + resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) + eslint: 8.42.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.42.0) + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@5.44.0(eslint@8.42.0)(typescript@4.9.5): resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5082,9 +5233,9 @@ packages: '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.5) - eslint: 7.32.0 + eslint: 8.42.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@7.32.0) + eslint-utils: 3.0.0(eslint@8.42.0) semver: 7.3.8 transitivePeerDependencies: - supports-color @@ -5127,7 +5278,7 @@ packages: lru-cache: 4.1.5 merge-source-map: 1.1.0 postcss: 7.0.39 - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.0.13 source-map: 0.6.1 vue-template-es2015-compiler: 1.9.1 optionalDependencies: @@ -5925,7 +6076,6 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.8.2 - dev: false /acorn-node@1.8.2: resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} @@ -6408,7 +6558,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.7 - caniuse-lite: 1.0.30001492 + caniuse-lite: 1.0.30001495 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -7221,14 +7371,6 @@ packages: readable-stream: 1.0.34 dev: true - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /bl@5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: @@ -7428,8 +7570,8 @@ packages: resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==} hasBin: true dependencies: - caniuse-lite: 1.0.30001492 - electron-to-chromium: 1.4.419 + caniuse-lite: 1.0.30001495 + electron-to-chromium: 1.4.422 dev: true /browserslist@4.21.4: @@ -7447,7 +7589,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001465 + caniuse-lite: 1.0.30001495 electron-to-chromium: 1.4.328 node-releases: 2.0.10 update-browserslist-db: 1.0.10(browserslist@4.21.5) @@ -7457,8 +7599,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001492 - electron-to-chromium: 1.4.419 + caniuse-lite: 1.0.30001495 + electron-to-chromium: 1.4.422 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.7) @@ -7757,11 +7899,8 @@ packages: /caniuse-lite@1.0.30001447: resolution: {integrity: sha512-bdKU1BQDPeEXe9A39xJnGtY0uRq/z5osrnXUw0TcK+EYno45Y+U7QU9HhHEyzvMDffpYadFXi3idnSNkcwLkTw==} - /caniuse-lite@1.0.30001465: - resolution: {integrity: sha512-HvjgL3MYAJjceTDCcjRnQGjwUz/5qec9n7JPOzUursUoOTIsYCSDOb1l7RsnZE8mjbxG78zVRCKfrBXyvChBag==} - - /caniuse-lite@1.0.30001492: - resolution: {integrity: sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==} + /caniuse-lite@1.0.30001495: + resolution: {integrity: sha512-F6x5IEuigtUfU5ZMQK2jsy5JqUUlEFRVZq8bO2a+ysq5K7jD6PPc9YXZj78xDNS3uNchesp1Jw47YXEqr+Viyg==} /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -7934,6 +8073,8 @@ packages: /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true + optional: true /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} @@ -8166,33 +8307,20 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false + dev: true /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: true - /color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - dev: false - /colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -8238,6 +8366,11 @@ packages: engines: {node: '>= 6'} dev: true + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: false + /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} @@ -8539,6 +8672,18 @@ packages: dev: true optional: true + /cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + dependencies: + layout-base: 1.0.2 + dev: false + + /cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + dependencies: + layout-base: 2.0.1 + dev: false + /cosmiconfig@5.2.1: resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} engines: {node: '>=4'} @@ -8723,19 +8868,296 @@ packages: cssom: 0.3.8 dev: true - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - dev: true - /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /cytoscape-cose-bilkent@4.1.0(cytoscape@3.25.0): + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + dependencies: + cose-base: 1.0.3 + cytoscape: 3.25.0 + dev: false + + /cytoscape-fcose@2.2.0(cytoscape@3.25.0): + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + dependencies: + cose-base: 2.2.0 + cytoscape: 3.25.0 + dev: false + + /cytoscape@3.25.0: + resolution: {integrity: sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==} + engines: {node: '>=0.10'} + dependencies: + heap: 0.2.7 + lodash: 4.17.21 + dev: false + + /d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + dependencies: + internmap: 2.0.3 + dev: false + + /d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + dev: false + + /d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + dev: false + + /d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + dependencies: + d3-path: 3.1.0 + dev: false + + /d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + dev: false + + /d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: false + + /d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + dependencies: + delaunator: 5.0.0 + dev: false + + /d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + dev: false + + /d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + dev: false + + /d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + dev: false + + /d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + dev: false + + /d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + dependencies: + d3-dsv: 3.0.1 + dev: false + + /d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + dev: false + + /d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + dev: false + + /d3-geo@3.1.0: + resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: false + + /d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + dev: false + + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + dev: false + + /d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + dev: false + + /d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + dev: false + + /d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + dev: false + + /d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + dev: false + + /d3-scale-chromatic@3.0.0: + resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + dev: false + + /d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + dev: false + + /d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + dev: false + + /d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + dependencies: + d3-path: 3.1.0 + dev: false + + /d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + dependencies: + d3-time: 3.1.0 + dev: false + + /d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: false + + /d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + dev: false + + /d3-transition@3.0.1(d3-selection@3.0.0): + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + dev: false + + /d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + dev: false + + /d3@7.8.5: + resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.0 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.0.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + dev: false + /d@1.0.1: resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: es5-ext: 0.10.62 type: 1.2.0 + /dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + dependencies: + d3: 7.8.5 + lodash-es: 4.17.21 + dev: false + /daisyui@1.16.6: resolution: {integrity: sha512-kso740gqMVVqritCQliQCpfPwos9lxp7/TEiEev4w6GGQyLNRyfriWY+DWxfawMY/DwGDzBl2DZtekCMf73bzw==} dev: true @@ -8761,6 +9183,10 @@ packages: whatwg-url: 8.7.0 dev: true + /dayjs@1.11.8: + resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==} + dev: false + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true @@ -8789,7 +9215,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.3 + ms: 2.1.1 supports-color: 6.0.0 dev: true @@ -8865,6 +9291,8 @@ packages: engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 + dev: true + optional: true /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} @@ -8888,11 +9316,6 @@ packages: regexp.prototype.flags: 1.5.0 dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: false - /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -8988,6 +9411,12 @@ packages: resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} dev: true + /delaunator@5.0.0: + resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} + dependencies: + robust-predicates: 3.0.2 + dev: false + /delay@5.0.0: resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} engines: {node: '>=10'} @@ -9058,11 +9487,6 @@ packages: engines: {node: '>=8'} dev: true - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} - engines: {node: '>=8'} - dev: false - /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -9201,6 +9625,10 @@ packages: domelementtype: 2.3.0 dev: true + /dompurify@3.0.3: + resolution: {integrity: sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==} + dev: false + /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: @@ -9270,8 +9698,12 @@ packages: /electron-to-chromium@1.4.328: resolution: {integrity: sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw==} - /electron-to-chromium@1.4.419: - resolution: {integrity: sha512-jdie3RiEgygvDTyS2sgjq71B36q2cDSBfPlwzUyuOrfYTNoYWyBxxjGJV/HAu3A2hB0Y+HesvCVkVAFoCKwCSw==} + /electron-to-chromium@1.4.422: + resolution: {integrity: sha512-OQMid0IRbJv27BhlPiBK8CfGzjeq4ZCBSmpwNi1abyS8w17/BajOUu7hBI49ptDTBCz9NRFbORhWvt41dF7dwg==} + + /elkjs@0.8.2: + resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} + dev: false /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -9343,6 +9775,7 @@ packages: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 + dev: true /enhanced-resolve@5.12.0: resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} @@ -10216,6 +10649,14 @@ packages: estraverse: 4.3.0 dev: true + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -10233,6 +10674,16 @@ packages: eslint-visitor-keys: 2.1.0 dev: true + /eslint-utils@3.0.0(eslint@8.42.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.42.0 + eslint-visitor-keys: 2.1.0 + dev: true + /eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -10248,6 +10699,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -10297,6 +10753,54 @@ packages: - supports-color dev: true + /eslint@8.42.0: + resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.42.0 + '@humanwhocodes/config-array': 0.11.10 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + graphemer: 1.4.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /espree@7.3.1: resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} engines: {node: ^10.12.0 || >=12.0.0} @@ -10306,6 +10810,15 @@ packages: eslint-visitor-keys: 1.3.0 dev: true + /espree@9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.1 + dev: true + /esprima@2.7.3: resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} engines: {node: '>=0.10.0'} @@ -10324,6 +10837,13 @@ packages: estraverse: 5.3.0 dev: true + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -10496,7 +11016,7 @@ packages: /eth-json-rpc-middleware@1.6.0: resolution: {integrity: sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==} dependencies: - async: 2.6.4 + async: 2.6.2 eth-query: 2.1.2 eth-tx-summary: 3.2.4 ethereumjs-block: 1.7.1 @@ -10593,7 +11113,7 @@ packages: /eth-tx-summary@3.2.4: resolution: {integrity: sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==} dependencies: - async: 2.6.4 + async: 2.6.2 clone: 2.1.2 concat-stream: 1.6.2 end-of-stream: 1.4.4 @@ -10609,7 +11129,7 @@ packages: resolution: {integrity: sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==} deprecated: 'New package name format for new versions: @ethereumjs/ethash. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 buffer-xor: 2.0.2 ethereumjs-util: 7.1.5 miller-rabin: 4.0.1 @@ -10710,7 +11230,7 @@ packages: resolution: {integrity: sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethereum-common: 0.2.0 ethereumjs-tx: 1.3.7 ethereumjs-util: 5.2.1 @@ -10721,7 +11241,7 @@ packages: resolution: {integrity: sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 ethereumjs-util: 5.2.1 @@ -10732,7 +11252,7 @@ packages: resolution: {integrity: sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==} deprecated: 'New package name format for new versions: @ethereumjs/blockchain. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethashjs: 0.0.8 ethereumjs-block: 2.2.2 ethereumjs-common: 1.5.0 @@ -10812,7 +11332,7 @@ packages: resolution: {integrity: sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 async-eventemitter: 0.2.4 ethereumjs-account: 2.0.5 ethereumjs-block: 2.2.2 @@ -10829,7 +11349,7 @@ packages: resolution: {integrity: sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 async-eventemitter: 0.2.4 core-js-pure: 3.30.2 ethereumjs-account: 3.0.0 @@ -11021,11 +11541,6 @@ packages: - supports-color dev: true - /expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - dev: false - /expect@27.5.1: resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -11440,10 +11955,6 @@ packages: dev: true optional: true - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: false - /fs-extra@0.30.0: resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} dependencies: @@ -11503,7 +12014,7 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -11771,10 +12282,6 @@ packages: git-up: 7.0.0 dev: false - /github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - dev: false - /github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: false @@ -11813,7 +12320,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.4 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -12019,6 +12526,10 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + /gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -12495,7 +13006,6 @@ packages: /heap@0.2.7: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - dev: true /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -12678,7 +13188,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /icss-utils@5.1.0(postcss@8.4.24): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} @@ -12808,6 +13317,7 @@ packages: /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true /inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} @@ -12831,6 +13341,11 @@ packages: side-channel: 1.0.4 dev: true + /internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + dev: false + /interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} @@ -12920,10 +13435,6 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false - /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -12968,12 +13479,12 @@ packages: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 + dev: true /is-core-module@2.12.1: resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} dependencies: has: 1.0.3 - dev: true /is-data-descriptor@0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} @@ -13143,6 +13654,11 @@ packages: resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -13485,7 +14001,7 @@ packages: ci-info: 3.6.2 deepmerge: 4.2.2 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-circus: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -13642,7 +14158,7 @@ packages: '@jest/types': 27.5.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 micromatch: 4.0.5 pretty-format: 27.5.1 slash: 3.0.0 @@ -13691,7 +14207,7 @@ packages: dependencies: '@jest/types': 27.5.1 chalk: 4.1.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) jest-util: 27.5.1 @@ -13713,7 +14229,7 @@ packages: '@types/node': 20.2.5 chalk: 4.1.2 emittery: 0.8.1 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-docblock: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -13749,7 +14265,7 @@ packages: collect-v8-coverage: 1.0.1 execa: 5.1.1 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-mock: 27.5.1 @@ -13787,7 +14303,7 @@ packages: babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.2) chalk: 4.1.2 expect: 27.5.1 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-diff: 27.5.1 jest-get-type: 27.5.1 jest-haste-map: 27.5.1 @@ -13842,7 +14358,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.16.16 + '@types/node': 20.2.5 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -13998,7 +14514,7 @@ packages: /json-rpc-engine@3.8.0: resolution: {integrity: sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==} dependencies: - async: 2.6.4 + async: 2.6.2 babel-preset-env: 1.7.0 babelify: 7.3.0 json-rpc-error: 2.0.0 @@ -14098,7 +14614,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 dev: true /jsonify@0.0.1: @@ -14155,6 +14671,10 @@ packages: /keyvaluestorage-interface@1.0.0: resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} + /khroma@2.0.0: + resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==} + dev: false + /kind-of@3.2.2: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} engines: {node: '>=0.10.0'} @@ -14204,6 +14724,14 @@ packages: engines: {node: '>= 8'} dev: true + /layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + dev: false + + /layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + dev: false + /lcid@1.0.0: resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} engines: {node: '>=0.10.0'} @@ -14445,7 +14973,7 @@ packages: /level-post@1.0.7: resolution: {integrity: sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==} dependencies: - ltgt: 2.2.1 + ltgt: 2.1.3 dev: true /level-sublevel@5.2.3: @@ -14680,6 +15208,10 @@ packages: p-locate: 6.0.0 dev: true + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + /lodash.assign@4.2.0: resolution: {integrity: sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==} dev: true @@ -14816,6 +15348,7 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: true /lru-queue@0.1.0: resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} @@ -15260,7 +15793,7 @@ packages: /merkle-patricia-tree@3.0.0: resolution: {integrity: sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==} dependencies: - async: 2.6.4 + async: 2.6.2 ethereumjs-util: 5.2.1 level-mem: 3.0.1 level-ws: 1.0.0 @@ -15280,6 +15813,30 @@ packages: semaphore-async-await: 1.5.1 dev: true + /mermaid@10.2.1: + resolution: {integrity: sha512-gziwXLuAidRxPJxcA0LqPhToirGZ2J2gD+UrDEtGNeKb98BtcQde28UUcCUCmNplkQOwE7oynrzKcMe9i29AMw==} + dependencies: + '@braintree/sanitize-url': 6.0.2 + cytoscape: 3.25.0 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.25.0) + cytoscape-fcose: 2.2.0(cytoscape@3.25.0) + d3: 7.8.5 + dagre-d3-es: 7.0.10 + dayjs: 1.11.8 + dompurify: 3.0.3 + elkjs: 0.8.2 + khroma: 2.0.0 + lodash-es: 4.17.21 + mdast-util-from-markdown: 1.3.1 + non-layered-tidy-tree-layout: 2.0.2 + stylis: 4.2.0 + ts-dedent: 2.2.0 + uuid: 9.0.0 + web-worker: 1.2.0 + transitivePeerDependencies: + - supports-color + dev: false + /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -15705,6 +16262,8 @@ packages: /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + dev: true + optional: true /min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} @@ -15753,6 +16312,7 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} @@ -15831,10 +16391,6 @@ packages: is-extendable: 1.0.1 dev: true - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: false - /mkdirp-promise@5.0.1: resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} engines: {node: '>=4'} @@ -16100,10 +16656,6 @@ packages: - supports-color dev: true - /napi-build-utils@1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - dev: false - /napi-macros@2.0.0: resolution: {integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==} dev: true @@ -16190,7 +16742,7 @@ packages: '@next/env': 13.4.4 '@swc/helpers': 0.5.1 busboy: 1.6.0 - caniuse-lite: 1.0.30001492 + caniuse-lite: 1.0.30001495 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -16211,11 +16763,11 @@ packages: - babel-plugin-macros dev: false - /nextra-theme-docs@2.6.2(next@13.4.4)(nextra@2.6.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yvoLSf6rzeD3f6GA/vQabgEkwX3db7DOy87XhtwmqVip2O2XsW3DoMDuU7rzlCtCUmrsC583vymhd3YS6KKehg==} + /nextra-theme-docs@2.7.0(next@13.4.4)(nextra@2.7.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-984jZR13QO/YTIsLEYpFK2Pf4hQjD2Z2fHrBYJl/ZZQjylwxnnGcx1QAciy65mnPWr7/Kv9/dAKpjm9tYtyLrw==} peerDependencies: next: '>=9.5.3' - nextra: 2.6.2 + nextra: 2.7.0 react: '>=16.13.1' react-dom: '>=16.13.1' dependencies: @@ -16230,15 +16782,15 @@ packages: next: 13.4.4(react-dom@18.2.0)(react@18.2.0) next-seo: 6.0.0(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) next-themes: 0.2.1(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) - nextra: 2.6.2(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) + nextra: 2.7.0(next@13.4.4)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.0.10 zod: 3.21.4 dev: false - /nextra@2.6.2(next@13.4.4)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1Rxb04AB9eIieJZq7LQTlcTUdXZcJ4g5rjPBnQ2EGUA8d7jCBhGyQoqDuZtblr8lDTRjIeMnJXCZo2HxIAtWhA==} + /nextra@2.7.0(next@13.4.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SXUsczIzb6+apg3ipRQQllBJk6W2FJfUrmJrQySu9DJpUfS36ylQYLX5ofkCI+Sq3ZHfefZbnut49KGozt/rGQ==} engines: {node: '>=16'} peerDependencies: next: '>=9.5.3' @@ -16248,6 +16800,7 @@ packages: '@mdx-js/mdx': 2.3.0 '@mdx-js/react': 2.3.0(react@18.2.0) '@napi-rs/simple-git': 0.1.8 + '@theguild/remark-mermaid': 0.0.1(react@18.2.0) clsx: 1.2.1 github-slugger: 2.0.0 graceful-fs: 4.2.11 @@ -16285,20 +16838,9 @@ packages: tslib: 2.5.0 dev: true - /node-abi@3.43.0: - resolution: {integrity: sha512-QB0MMv+tn9Ur2DtJrc8y09n0n6sw88CyDniWSX2cHW10goQXYPK9ZpFJOktDS4ron501edPX6h9i7Pg+RnH5nQ==} - engines: {node: '>=10'} - dependencies: - semver: 7.5.1 - dev: false - /node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - /node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - dev: false - /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -16424,6 +16966,10 @@ packages: engines: {node: '>=12.19'} dev: true + /non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + dev: false + /nopt@3.0.6: resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} hasBin: true @@ -16680,6 +17226,7 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} @@ -17328,7 +17875,7 @@ packages: yaml: 2.3.1 dev: true - /postcss-loader@6.2.1(postcss@8.4.19)(webpack@5.85.0): + /postcss-loader@6.2.1(postcss@8.4.19)(webpack@5.85.1): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -17339,10 +17886,10 @@ packages: klona: 2.0.5 postcss: 8.4.19 semver: 7.3.8 - webpack: 5.85.0(esbuild@0.15.13) + webpack: 5.85.1(esbuild@0.15.13) dev: true - /postcss-loader@6.2.1(postcss@8.4.21)(webpack@5.85.0): + /postcss-loader@6.2.1(postcss@8.4.21)(webpack@5.85.1): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -17353,7 +17900,7 @@ packages: klona: 2.0.5 postcss: 8.4.21 semver: 7.3.8 - webpack: 5.85.0(esbuild@0.15.13) + webpack: 5.85.1(esbuild@0.15.13) dev: true /postcss-modules-extract-imports@3.0.0(postcss@8.4.24): @@ -17512,25 +18059,6 @@ packages: /preact@10.4.1: resolution: {integrity: sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==} - /prebuild-install@7.1.1: - resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - detect-libc: 2.0.1 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.43.0 - pump: 3.0.0 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - dev: false - /precond@0.2.3: resolution: {integrity: sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==} engines: {node: '>= 0.6'} @@ -17765,6 +18293,8 @@ packages: dependencies: end-of-stream: 1.4.4 once: 1.4.0 + dev: true + optional: true /punycode@1.3.2: resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} @@ -17885,16 +18415,6 @@ packages: dev: true optional: true - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: false - /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -18415,6 +18935,7 @@ packages: is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true /resolve@1.22.2: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} @@ -18423,7 +18944,6 @@ packages: is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /responselike@1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} @@ -18499,6 +19019,10 @@ packages: hasBin: true dev: true + /robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + dev: false + /rollup-plugin-node-builtins@2.1.2: resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} dependencies: @@ -18552,6 +19076,10 @@ packages: resolution: {integrity: sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==} dev: true + /rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: false + /rxjs@6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} @@ -18612,7 +19140,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /sander@0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} @@ -18776,6 +19303,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -18889,21 +19417,6 @@ packages: crypt: 0.0.2 dev: true - /sharp@0.31.3: - resolution: {integrity: sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==} - engines: {node: '>=14.15.0'} - requiresBuild: true - dependencies: - color: 4.2.3 - detect-libc: 2.0.1 - node-addon-api: 5.1.0 - prebuild-install: 7.1.1 - semver: 7.5.1 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - dev: false - /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -18957,6 +19470,8 @@ packages: /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: true + optional: true /simple-get@2.8.2: resolution: {integrity: sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==} @@ -18967,20 +19482,6 @@ packages: dev: true optional: true - /simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - dev: false - - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - dependencies: - is-arrayish: 0.3.2 - dev: false - /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -19559,6 +20060,7 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + dev: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} @@ -19588,6 +20090,10 @@ packages: react: 18.2.0 dev: false + /stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + dev: false + /sucrase@3.32.0: resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} engines: {node: '>=8'} @@ -20131,26 +20637,6 @@ packages: through: 2.3.8 dev: true - /tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: false - - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} @@ -20209,7 +20695,7 @@ packages: webpack: 5.75.0 dev: true - /terser-webpack-plugin@5.3.9(esbuild@0.15.13)(webpack@5.85.0): + /terser-webpack-plugin@5.3.9(esbuild@0.15.13)(webpack@5.85.1): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -20231,7 +20717,7 @@ packages: schema-utils: 3.1.2 serialize-javascript: 6.0.1 terser: 5.17.7 - webpack: 5.85.0(esbuild@0.15.13) + webpack: 5.85.1(esbuild@0.15.13) dev: true /terser@5.15.1: @@ -20497,6 +20983,11 @@ packages: resolution: {integrity: sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==} dev: true + /ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + dev: false + /ts-essentials@1.0.4: resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==} dev: true @@ -20581,7 +21072,7 @@ packages: yargs-parser: 20.2.4 dev: true - /ts-loader@9.4.1(typescript@4.9.3)(webpack@5.85.0): + /ts-loader@9.4.1(typescript@4.9.3)(webpack@5.85.1): resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -20593,10 +21084,10 @@ packages: micromatch: 4.0.5 semver: 7.3.8 typescript: 4.9.3 - webpack: 5.85.0(esbuild@0.15.13) + webpack: 5.85.1(esbuild@0.15.13) dev: true - /ts-loader@9.4.1(typescript@4.9.5)(webpack@5.85.0): + /ts-loader@9.4.1(typescript@4.9.5)(webpack@5.85.1): resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -20608,7 +21099,7 @@ packages: micromatch: 4.0.5 semver: 7.3.8 typescript: 4.9.5 - webpack: 5.85.0(esbuild@0.15.13) + webpack: 5.85.1(esbuild@0.15.13) dev: true /ts-node@10.9.1(@types/node@12.20.55)(typescript@4.9.5): @@ -20693,6 +21184,7 @@ packages: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 + dev: true /tweetnacl-util@0.15.1: resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} @@ -20843,6 +21335,12 @@ packages: hasBin: true dev: true + /typescript@5.1.3: + resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /typewise-core@1.2.0: resolution: {integrity: sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==} dev: true @@ -21224,6 +21722,11 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + /uuid@9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + hasBin: true + dev: false + /uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} @@ -21508,7 +22011,7 @@ packages: resolution: {integrity: sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==} dependencies: '@vue/compiler-sfc': 2.7.14 - csstype: 3.1.1 + csstype: 3.1.2 dev: true /w3c-hr-time@1.0.2: @@ -21554,6 +22057,10 @@ packages: engines: {node: '>= 8'} dev: true + /web-worker@1.2.0: + resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} + dev: false + /web3-bzz@1.2.11: resolution: {integrity: sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg==} engines: {node: '>=8.0.0'} @@ -21767,7 +22274,7 @@ packages: /web3-provider-engine@14.2.1: resolution: {integrity: sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==} dependencies: - async: 2.6.4 + async: 2.6.2 backoff: 2.5.0 clone: 2.1.2 cross-fetch: 2.2.6 @@ -21944,8 +22451,8 @@ packages: - uglify-js dev: true - /webpack@5.85.0(esbuild@0.15.13): - resolution: {integrity: sha512-7gazTiYqwo5OSqwH1tigLDL2r3qDeP2dOKYgd+LlXpsUMqDTklg6tOghexqky0/+6QY38kb/R/uRPUleuL43zg==} + /webpack@5.85.1(esbuild@0.15.13): + resolution: {integrity: sha512-xTb7MRf4LY8Z5rzn7aIx4TDrwYJrjcHnIfU1TqtyZOoObyuGSpAUwIvVuqq5wPnv7WEgQr8UvO1q/dgoGG4HjA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -21975,7 +22482,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.1.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(esbuild@0.15.13)(webpack@5.85.0) + terser-webpack-plugin: 5.3.9(esbuild@0.15.13)(webpack@5.85.1) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -22043,6 +22550,10 @@ packages: /which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + dev: true + + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} /which-typed-array@1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} @@ -22136,6 +22647,7 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} @@ -22331,6 +22843,7 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} @@ -22402,7 +22915,7 @@ packages: require-main-filename: 2.0.0 set-blocking: 2.0.0 string-width: 3.1.0 - which-module: 2.0.0 + which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 13.1.2