diff --git a/content/00.build/00.index.md b/content/00.build/00.index.md index 4e017406..ebe23a34 100644 --- a/content/00.build/00.index.md +++ b/content/00.build/00.index.md @@ -65,7 +65,7 @@ zkvyper](/zk-stack/components/compiler/toolchain)**. :check-icon Most contracts work out of the box so migrating projects is seamless. :check-icon Use existing frameworks -like [Hardhat](/build/tooling/hardhat/getting-started), libraries like +like [Hardhat](/build/tooling/hardhat), libraries like [Ethers](https://docs.ethers.org/v6/), [Viem](https://viem.sh/zksync), or [web3.js](https://docs.web3js.org/), and tools like [theGraph](https://thegraph.com/), [Thirdweb](https://thirdweb.com/zksync), or diff --git a/content/00.build/40.tooling/20.hardhat/00.overview.md b/content/00.build/40.tooling/20.hardhat/00.index.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/00.overview.md rename to content/00.build/40.tooling/20.hardhat/00.index.md diff --git a/content/00.build/40.tooling/20.hardhat/01.installation.md b/content/00.build/40.tooling/20.hardhat/10.installation.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/01.installation.md rename to content/00.build/40.tooling/20.hardhat/10.installation.md diff --git a/content/00.build/40.tooling/20.hardhat/02.guides/10.getting-started.md b/content/00.build/40.tooling/20.hardhat/20.guides/10.getting-started.md similarity index 99% rename from content/00.build/40.tooling/20.hardhat/02.guides/10.getting-started.md rename to content/00.build/40.tooling/20.hardhat/20.guides/10.getting-started.md index 77cb0b0c..20e1d1f1 100644 --- a/content/00.build/40.tooling/20.hardhat/02.guides/10.getting-started.md +++ b/content/00.build/40.tooling/20.hardhat/20.guides/10.getting-started.md @@ -320,7 +320,7 @@ The template project contains another script to interact with the contract. - To learn more about the ZKsync Hardhat plugins check out the [plugins documentation](/build/tooling/hardhat/guides/getting-started). - If you want to know more about how to interact with ZKsync using Javascript, -check out the [zksync-ethers Javascript SDK documentation](https://sdk.zksync.io/js/ethers/v6/getting-started). +check out the [zksync-ethers Javascript SDK documentation](https://sdk.zksync.io/js/ethers). ::callout{icon="i-heroicons-light-bulb"} Check the [installation guide](/build/tooling/hardhat/installation) for instructions! diff --git a/content/00.build/40.tooling/20.hardhat/02.guides/20.migrating-to-zksync.md b/content/00.build/40.tooling/20.hardhat/20.guides/20.migrating-to-zksync.md similarity index 94% rename from content/00.build/40.tooling/20.hardhat/02.guides/20.migrating-to-zksync.md rename to content/00.build/40.tooling/20.hardhat/20.guides/20.migrating-to-zksync.md index 12aba89e..3abf8f1d 100644 --- a/content/00.build/40.tooling/20.hardhat/02.guides/20.migrating-to-zksync.md +++ b/content/00.build/40.tooling/20.hardhat/20.guides/20.migrating-to-zksync.md @@ -1,6 +1,6 @@ --- title: Migrating to ZKsync -description: Learn how to migrate an existing Hardhat project to ZKsync Era. +description: Learn how to migrate an existing Hardhat project deploy scripts to ZKsync Era. tags: ["migration", "hardhat", "zksync", "plugins", "ethereum"] --- @@ -15,7 +15,7 @@ This guide shows you how to migrate an existing Hardhat project to ZKsync Era. ## Overview -ZKsync Era offers [multiple Hardhat plugins](/build/tooling/hardhat/getting-started) with different features. +ZKsync Era offers [multiple Hardhat plugins](/build/tooling/hardhat) with different features. This guide details the one you need to migrate your project to ZKsync Era. ::callout{icon="i-heroicons-exclamation-triangle" color="amber"} @@ -94,8 +94,8 @@ zksolc: { }, ``` -For more advanced settings, check out the [Solidity](/build/tooling/hardhat/hardhat-zksync-solc) -or [Vyper](/build/tooling/hardhat/hardhat-zksync-vyper) plugins. +For more advanced settings, check out the [Solidity](/build/tooling/hardhat/plugins/hardhat-zksync-solc) +or [Vyper](/build/tooling/hardhat/plugins/hardhat-zksync-vyper) plugins. ### How to configure multiple compilation targets @@ -183,7 +183,7 @@ Passing the `--network` flag we make sure Hardhat will use the zksolc compiler ( This command will compile all contracts in the `/contracts` folder and create the folders `artifacts-zk` and `cache-zk`. If your contracts import any non-inlineable libraries, you need to configure them in the `hardhat.config.ts` file. -Find more info and examples about [compiling libraries here](/build/tooling/hardhat/compiling-libraries). +Find more info and examples about [compiling libraries here](/build/tooling/hardhat/guides/compiling-libraries). ## Deploy contracts @@ -246,7 +246,7 @@ npm hardhat deploy-zksync --script SCRIPT_FILENAME.ts --network zkSyncTestnet If you don't include the `--script` option, all script files inside the `deploy` folder will be executed in alphabetical order. -Check out a detailed [approach](/build/tooling/hardhat/hardhat-zksync-deploy) on how to use `hardhat-zksync-deploy` plugin. +Check out a detailed [approach](/build/tooling/hardhat/plugins/hardhat-zksync-deploy) on how to use `hardhat-zksync-deploy` plugin. ## Frontend integration @@ -263,7 +263,7 @@ You also need to use the `contract ABI` from the `artifacts-zk` folder to instan Apart from the same classes and methods provided by ethers, zksync-ethers includes additional methods for zksync-specific features. -You can read more in the [`zksync-ethers` documentation](https://sdk.zksync.io/js/ethers). +You can read more in the [`zksync-ethers` documentation](https://sdk.zksync.io/sdk/js/ethers). ## Verify contracts @@ -271,6 +271,6 @@ To verify your contracts you have two options: -- Plugin: verify your contracts programmatically using the [Hardhat verify plugin](/build/tooling/hardhat/hardhat-zksync-verify) +- Plugin: verify your contracts programmatically using the [Hardhat verify plugin](/build/tooling/hardhat/plugins/hardhat-zksync-verify) If you have any problems migrating your project, [send us a message on Discord](https://join.zksync.dev/). diff --git a/content/00.build/40.tooling/20.hardhat/02.guides/30.migrating-to-zksync_old.md b/content/00.build/40.tooling/20.hardhat/20.guides/30.migrating-to-zksync_old.md similarity index 97% rename from content/00.build/40.tooling/20.hardhat/02.guides/30.migrating-to-zksync_old.md rename to content/00.build/40.tooling/20.hardhat/20.guides/30.migrating-to-zksync_old.md index 82495f05..cc9accfa 100644 --- a/content/00.build/40.tooling/20.hardhat/02.guides/30.migrating-to-zksync_old.md +++ b/content/00.build/40.tooling/20.hardhat/20.guides/30.migrating-to-zksync_old.md @@ -2,6 +2,7 @@ title: OLD - Migrating to ZKsync description: Learn how to migrate an existing Hardhat project deploy scripts to ZKsync Era. tags: ["migration", "hardhat", "zksync", "plugins", "ethereum"] +navigation: false --- ::callout{icon="i-heroicons-exclamation-triangle" color="amber"} @@ -15,7 +16,7 @@ This guide shows you how to migrate an existing Hardhat project to ZKsync Era. ## Overview -ZKsync Era offers [multiple Hardhat plugins](/build/tooling/hardhat/getting-started) with different features. +ZKsync Era offers [multiple Hardhat plugins](/build/tooling/hardhat) with different features. This guide details the one you need to migrate your project to ZKsync Era. ::callout{icon="i-heroicons-exclamation-triangle" color="amber"} @@ -94,8 +95,8 @@ zksolc: { }, ``` -For more advanced settings, check out the [Solidity](/build/tooling/hardhat/hardhat-zksync-solc) -or [Vyper](/build/tooling/hardhat/hardhat-zksync-vyper) plugins. +For more advanced settings, check out the [Solidity](/build/tooling/hardhat/plugins/hardhat-zksync-solc) +or [Vyper](/build/tooling/hardhat/plugins/hardhat-zksync-vyper) plugins. ### How to configure multiple compilation targets @@ -183,7 +184,7 @@ Passing the `--network` flag we make sure Hardhat will use the zksolc compiler ( This command will compile all contracts in the `/contracts` folder and create the folders `artifacts-zk` and `cache-zk`. If your contracts import any non-inlineable libraries, you need to configure them in the `hardhat.config.ts` file. -Find more info and examples about [compiling libraries here](/build/tooling/hardhat/compiling-libraries). +Find more info and examples about [compiling libraries here](/build/tooling/hardhat/guides/compiling-libraries). ## Deploy contracts diff --git a/content/00.build/40.tooling/20.hardhat/02.guides/40.compiling-libraries.md b/content/00.build/40.tooling/20.hardhat/20.guides/40.compiling-libraries.md similarity index 96% rename from content/00.build/40.tooling/20.hardhat/02.guides/40.compiling-libraries.md rename to content/00.build/40.tooling/20.hardhat/20.guides/40.compiling-libraries.md index 27424476..f3245f88 100644 --- a/content/00.build/40.tooling/20.hardhat/02.guides/40.compiling-libraries.md +++ b/content/00.build/40.tooling/20.hardhat/20.guides/40.compiling-libraries.md @@ -72,7 +72,7 @@ Message is using era.zksync.io --> ```sh zksolc compiler detected missing libraries! For more details, visit: https://era.zksync.io/docs/tools/hardhat/compiling-libraries.html. To compile and deploy libraries, please run: `yarn hardhat deploy-zksync:libraries` -For more details on how to use deploy-zksync:libraries task from hardhat-zksync-deploy plugin, visit: https://era.zksync.io/docs/tools/hardhat/hardhat-zksync-deploy.html. +For more details on how to use deploy-zksync:libraries task from hardhat-zksync-deploy plugin, visit: https://docs.zksync.io/tooling/hardhat/plugins/hardhat-zksync-deploy.html. ``` To address the error, you can follow the instructions provided in the output, which is the recommended approach. @@ -99,7 +99,7 @@ Vyper does not support automatic deployment of missing libraries, and the proces :: `hardhat-zksync-deploy` plugin has the capability to automatically deploy all missing libraries generated by compiler. -For additional information, you may refer to the [documentation](hardhat-zksync-deploy#compilation-and-deployment-support-for-missing-libraries). +For additional information, you may refer to the [documentation](/build/tooling/hardhat/plugins/hardhat-zksync-deploy#compilation-and-deployment-support-for-missing-libraries). This documentation provides details on how the tool handles the compilation and deployment of libraries that are currently missing. ### Manual deployment diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/100.hardhat-zksync-ethers.md b/content/00.build/40.tooling/20.hardhat/30.plugins/100.hardhat-zksync-ethers.md similarity index 99% rename from content/00.build/40.tooling/20.hardhat/02.plugins/100.hardhat-zksync-ethers.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/100.hardhat-zksync-ethers.md index cffa17fc..ff8a91d7 100644 --- a/content/00.build/40.tooling/20.hardhat/02.plugins/100.hardhat-zksync-ethers.md +++ b/content/00.build/40.tooling/20.hardhat/30.plugins/100.hardhat-zksync-ethers.md @@ -116,7 +116,7 @@ and address of deployed contract - `loadArtifact(name: string)` - load `ZkSyncArtifact` from contract name - `extractFactoryDeps(artifact: ZkSyncArtifact)` - extracts factory deps from artifact -- `deployContract(artifact: ZkSyncArtifact, constructorArguments: any[], wallet?: zk.Wallet, overrides?: ethers.Overrides, additionalFactoryDeps?: ethers.BytesLike[])` - deploys contract, for more details check out the [deployment section of the quickstart](getting-started#compile-and-deploy-a-contract). +- `deployContract(artifact: ZkSyncArtifact, constructorArguments: any[], wallet?: zk.Wallet, overrides?: ethers.Overrides, additionalFactoryDeps?: ethers.BytesLike[])` - deploys contract, for more details check out the [deployment section of the quickstart](/build/tooling/hardhat/guides/getting-started#compile-and-deploy-a-contract). ::callout{icon="i-heroicons-information-circle" color="blue"} diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/120.hardhat-zksync-node.md b/content/00.build/40.tooling/20.hardhat/30.plugins/120.hardhat-zksync-node.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/02.plugins/120.hardhat-zksync-node.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/120.hardhat-zksync-node.md diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/130.other-plugins.md b/content/00.build/40.tooling/20.hardhat/30.plugins/130.other-plugins.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/02.plugins/130.other-plugins.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/130.other-plugins.md diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/35.hardhat-zksync.md b/content/00.build/40.tooling/20.hardhat/30.plugins/35.hardhat-zksync.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/02.plugins/35.hardhat-zksync.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/35.hardhat-zksync.md diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/40.hardhat-zksync-solc.md b/content/00.build/40.tooling/20.hardhat/30.plugins/40.hardhat-zksync-solc.md similarity index 99% rename from content/00.build/40.tooling/20.hardhat/02.plugins/40.hardhat-zksync-solc.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/40.hardhat-zksync-solc.md index dfbccd90..ce274696 100644 --- a/content/00.build/40.tooling/20.hardhat/02.plugins/40.hardhat-zksync-solc.md +++ b/content/00.build/40.tooling/20.hardhat/30.plugins/40.hardhat-zksync-solc.md @@ -96,7 +96,7 @@ Compilers are no longer released as Docker images and its usage is no longer rec If there isn't a compiler binary already installed, the plugin will automatically download it. - `compilerPath` (optional) is a field with the path to the `zksolc` binary. By default, the binary in `$PATH` is used. - `libraries` if your contract uses non-inlinable libraries as dependencies, they have to be defined here. -Learn more about [compiling libraries here](compiling-libraries) +Learn more about [compiling libraries here](/build/tooling/hardhat/guides/compiling-libraries) - `missingLibrariesPath` (optional) serves as a cache that stores all the libraries that are missing or have dependencies on other libraries. A `hardhat-zksync-deploy` plugin uses this cache later to compile and deploy the libraries, especially when the `deploy-zksync:libraries` task is executed. diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/50.hardhat-zksync-vyper.md b/content/00.build/40.tooling/20.hardhat/30.plugins/50.hardhat-zksync-vyper.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/02.plugins/50.hardhat-zksync-vyper.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/50.hardhat-zksync-vyper.md diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/60.hardhat-zksync-deploy.md b/content/00.build/40.tooling/20.hardhat/30.plugins/60.hardhat-zksync-deploy.md similarity index 99% rename from content/00.build/40.tooling/20.hardhat/02.plugins/60.hardhat-zksync-deploy.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/60.hardhat-zksync-deploy.md index 6fa98594..7217c4a8 100644 --- a/content/00.build/40.tooling/20.hardhat/02.plugins/60.hardhat-zksync-deploy.md +++ b/content/00.build/40.tooling/20.hardhat/30.plugins/60.hardhat-zksync-deploy.md @@ -180,7 +180,7 @@ class Deployer { ): Promise ``` -To see an example script of how to use a `Deployer` class to deploy a contract, check out the [deployment section of the quickstart](getting-started#compile-and-deploy-a-contract). +To see an example script of how to use a `Deployer` class to deploy a contract, check out the [deployment section of the quickstart](/build/tooling/hardhat/guides/getting-started#compile-and-deploy-a-contract). ::callout{icon="i-heroicons-information-circle" color="blue"} **contractNameOrArtifact parameter within the deploy method** @@ -528,7 +528,8 @@ The default value for **tags** is `default`, and the default value for **priorit This plugin facilitates the compilation and deployment of missing libraries for users. By leveraging the `@matterlabs/hardhat-zksync-solc` plugin, users can obtain a file that not only contains specifics about the missing libraries for compilation but also showcases how they interlink with other dependent libraries. -For more information about missing libraries during the compilation process, please refer to [this link](compiling-libraries). +For more information about missing libraries during the compilation process, please refer to +[Compiling libraries](/build/tooling/hardhat/guides/compiling-libraries). ::callout{icon="i-heroicons-exclamation-triangle" color="amber"} Starting from version 1.13.14, the zksolc compiler has been enhanced to identify missing libraries. diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/70.hardhat-zksync-upgradable.md b/content/00.build/40.tooling/20.hardhat/30.plugins/70.hardhat-zksync-upgradable.md similarity index 99% rename from content/00.build/40.tooling/20.hardhat/02.plugins/70.hardhat-zksync-upgradable.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/70.hardhat-zksync-upgradable.md index ab3e999f..7de54154 100644 --- a/content/00.build/40.tooling/20.hardhat/02.plugins/70.hardhat-zksync-upgradable.md +++ b/content/00.build/40.tooling/20.hardhat/30.plugins/70.hardhat-zksync-upgradable.md @@ -128,8 +128,8 @@ contract Box is Initializable{ ``` In the examples below, we assume that the Box contract is compiled and its artifact loaded using -Deployer class from the [hardhat-zksync-deploy plugin](hardhat-zksync-deploy). -More info on how to compile and load the contract can be found in the [Hardhat getting started page](getting-started). +Deployer class from the [hardhat-zksync-deploy plugin](/build/tooling/hardhat/plugins/hardhat-zksync-deploy). +More info on how to compile and load the contract can be found in the [Hardhat getting started page](/build/tooling/hardhat/guides/getting-started). ## Transparent upgradable proxies diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/80.hardhat-zksync-verify.md b/content/00.build/40.tooling/20.hardhat/30.plugins/80.hardhat-zksync-verify.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/02.plugins/80.hardhat-zksync-verify.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/80.hardhat-zksync-verify.md diff --git a/content/00.build/40.tooling/20.hardhat/02.plugins/90.hardhat-zksync-verify-vyper.md b/content/00.build/40.tooling/20.hardhat/30.plugins/90.hardhat-zksync-verify-vyper.md similarity index 100% rename from content/00.build/40.tooling/20.hardhat/02.plugins/90.hardhat-zksync-verify-vyper.md rename to content/00.build/40.tooling/20.hardhat/30.plugins/90.hardhat-zksync-verify-vyper.md diff --git a/content/00.build/40.tooling/30.foundry/10.overview.md b/content/00.build/40.tooling/30.foundry/10.overview.md index d1028d3b..f47f7f78 100644 --- a/content/00.build/40.tooling/30.foundry/10.overview.md +++ b/content/00.build/40.tooling/30.foundry/10.overview.md @@ -41,7 +41,7 @@ While `foundry-zksync` is **alpha stage**, there are some limitations to be awar We are actively working on providing support for these feature types. - **Compiling Libraries**: Compiling non-inlinable libraries requires deployment and adding to configuration. -For more information please refer to [official docs](/build/tooling/hardhat/compiling-libraries). +For more information please refer to [official docs](/build/tooling/hardhat/guides/compiling-libraries). ```toml # In foundry.toml diff --git a/content/00.build/60.test-and-debug/10.dockerized-l1-l2-nodes.md b/content/00.build/60.test-and-debug/10.dockerized-l1-l2-nodes.md index 6f5db0aa..76964d7c 100644 --- a/content/00.build/60.test-and-debug/10.dockerized-l1-l2-nodes.md +++ b/content/00.build/60.test-and-debug/10.dockerized-l1-l2-nodes.md @@ -12,7 +12,7 @@ Let's get started! 1. **Docker and docker-compose**: Ensure that Docker and `docker-compose` are installed on your machine. If you haven't already installed them, follow the [installation guide](https://docs.docker.com/get-docker/). 2. **ZKsync Hardhat plugins**: A foundational understanding of the ZKsync Hardhat plugins will be beneficial. -New to ZKsync development with Hardhat? Explore the [Getting Started section](/build/tooling/hardhat/getting-started). +New to ZKsync development with Hardhat? Explore the [Getting Started section](/build/tooling/hardhat). ::callout{icon="i-heroicons-exclamation-triangle" color="amber"} The `matterlabs/local-node` Docker image is currently based on the protocol `Version19` (deprecated on February 5, 2024), diff --git a/content/00.build/60.test-and-debug/20.in-memory-node.md b/content/00.build/60.test-and-debug/20.in-memory-node.md index 1c14a5b3..de0e6dcd 100644 --- a/content/00.build/60.test-and-debug/20.in-memory-node.md +++ b/content/00.build/60.test-and-debug/20.in-memory-node.md @@ -379,7 +379,7 @@ This section demonstrates how to author and execute tests locally against `era_t ### Project configuration -1. Start by creating a new Hardhat project. If you need guidance, follow the [getting started guide](/build/tooling/hardhat/getting-started). +1. Start by creating a new Hardhat project. If you need guidance, follow the [getting started guide](/build/tooling/hardhat/guides/getting-started). 1. To incorporate the test libraries, execute: diff --git a/content/00.build/65.developer-reference/30.ethereum-differences/30.libraries.md b/content/00.build/65.developer-reference/30.ethereum-differences/30.libraries.md index cb6105de..62ffad9b 100644 --- a/content/00.build/65.developer-reference/30.ethereum-differences/30.libraries.md +++ b/content/00.build/65.developer-reference/30.ethereum-differences/30.libraries.md @@ -11,4 +11,4 @@ in IRs: `linkersymbol` in Yul and `PUSHLIB` in EVM legacy assembly. All linking happens at compile-time. Deploy-time linking is not supported. -For compiling non-linable libraries please refer to the documentation [here](/build/tooling/hardhat/compiling-libraries). +For compiling non-linable libraries please refer to the documentation [here](/build/tooling/hardhat/guides/compiling-libraries). diff --git a/content/00.build/65.developer-reference/30.ethereum-differences/60.contract-deployment.md b/content/00.build/65.developer-reference/30.ethereum-differences/60.contract-deployment.md index 80b0cb04..4804627a 100644 --- a/content/00.build/65.developer-reference/30.ethereum-differences/60.contract-deployment.md +++ b/content/00.build/65.developer-reference/30.ethereum-differences/60.contract-deployment.md @@ -36,7 +36,7 @@ the transaction (as it's an [EIP712 transaction](/zk-stack/concepts/transaction- (i.e. it can deploy other contracts), these contracts' bytecodes should be included in the `factory_deps` as well. -We recommend using the [hardhat-zksync-deploy](/build/tooling/hardhat/getting-started) plugin, to +We recommend using the [hardhat-zksync-deploy](/build/tooling/hardhat) plugin, to simplify the deployment process. It provides classes and methods to take care of all the deployment requirements, like generating the [bytecode hash of the contract](#contract-size-limit-and-format-of-bytecode-hash). @@ -67,7 +67,7 @@ only store their hashes. That's why you need to include _all_ the bytecodes of t dependencies in the `factory_deps` field. Both of these examples are already seamlessly done under the hood by our -[hardhat-zksync-deploy](/build/tooling/hardhat/getting-started). +[hardhat-zksync-deploy](/build/tooling/hardhat). Note that the factory deps do not necessarily have to be used by the transaction in any way. These are just markers that these bytecodes should be published on L1 with diff --git a/content/10.zk-stack/10.components/70.compiler/10.toolchain/10.index.md b/content/10.zk-stack/10.components/70.compiler/10.toolchain/10.index.md index f97b311d..9712a099 100644 --- a/content/10.zk-stack/10.components/70.compiler/10.toolchain/10.index.md +++ b/content/10.zk-stack/10.components/70.compiler/10.toolchain/10.index.md @@ -70,7 +70,7 @@ easier to maintain outside of the framework. ## Hardhat Plugins -We recommend using our IR compilers via [their corresponding Hardhat plugins](/build/tooling/hardhat/getting-started). +We recommend using our IR compilers via [their corresponding Hardhat plugins](/build/tooling/hardhat). Add these plugins to the Hardhat's config file to compile new projects or migrate existing ones to ZKsync Era. For a lower-level approach, download our compiler binaries via the links above and use their CLI interfaces. @@ -81,5 +81,5 @@ Add the plugins below to the Hardhat's config file to compile new projects or mi existing ones to ZKsync Era. For a lower-level approach, download our compiler binaries [links above](#ir-compilers) and use their CLI interfaces. -- [hardhat-zksync-solc documentation](/build/tooling/hardhat/hardhat-zksync-solc) -- [hardhat-zksync-vyper documentation](/build/tooling/hardhat/hardhat-zksync-vyper) +- [hardhat-zksync-solc documentation](/build/tooling/hardhat/plugins/hardhat-zksync-solc) +- [hardhat-zksync-vyper documentation](/build/tooling/hardhat/plugins/hardhat-zksync-vyper) diff --git a/content/10.zk-stack/10.components/70.compiler/10.toolchain/20.solidity.md b/content/10.zk-stack/10.components/70.compiler/10.toolchain/20.solidity.md index 75bf4552..9a24c86a 100644 --- a/content/10.zk-stack/10.components/70.compiler/10.toolchain/20.solidity.md +++ b/content/10.zk-stack/10.components/70.compiler/10.toolchain/20.solidity.md @@ -118,4 +118,4 @@ The usage of libraries in Solidity is supported in ZKsync Era with the following - If a Solidity library can be inlined (i.e. it only contains `private` or `internal` methods), it can be used without any additional configuration. - However, if a library contains at least one `public` or `external` method, it cannot be inlined and its address needs - to be passed explicitly to the compiler; see [compiling non-inlinable libraries](/build/tooling/hardhat/compiling-libraries#compiling-non-inlinable-libraries). + to be passed explicitly to the compiler; see [compiling non-inlinable libraries](/build/tooling/hardhat/guides/compiling-libraries#compiling-non-inlinable-libraries). diff --git a/cspell-config/cspell-misc.txt b/cspell-config/cspell-misc.txt index 323425a8..857eb3e3 100644 --- a/cspell-config/cspell-misc.txt +++ b/cspell-config/cspell-misc.txt @@ -16,5 +16,7 @@ Lukka mathbb mundo permissioned +pnpx Winternitz zkicon +zkvm diff --git a/firebase.json b/firebase.json index 84856edf..ab9bbef3 100644 --- a/firebase.json +++ b/firebase.json @@ -143,7 +143,32 @@ }, { "source": "/build/tooling/hardhat/getting-started.html", - "destination": "/build/tooling/hardhat/getting-started", + "destination": "/build/tooling/hardhat", + "type": 301 + }, + { + "source": "/build/tooling/hardhat/getting-started", + "destination": "/build/tooling/hardhat/guides/getting-started", + "type": 301 + }, + { + "source": "/build/tooling/hardhat/migrating-to-zksync", + "destination": "/build/tooling/hardhat/guides/migrating-to-zksync", + "type": 301 + }, + { + "source": "/build/tooling/hardhat/compiling-libraries", + "destination": "/build/tooling/hardhat/guides/compiling-libraries", + "type": 301 + }, + { + "source": "/build/tooling/hardhat/hardhat-:plugin", + "destination": "/build/tooling/hardhat/plugins/hardhat-:plugin", + "type": 301 + }, + { + "source": "/build/tooling/hardhat/other-plugins", + "destination": "/build/tooling/hardhat/plugins/other-plugins", "type": 301 }, { @@ -203,7 +228,7 @@ }, { "source": "/build/tooling/hardhat/*.@(html|md)", - "destination": "/build/tooling/hardhat/getting-started", + "destination": "/build/tooling/hardhat", "type": 301 }, { diff --git a/nuxt.config.ts b/nuxt.config.ts index 09bd4d3d..fd83c364 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -14,7 +14,6 @@ export default defineNuxtConfig({ routeRules: { '/api/search.json': { prerender: true }, '/build/tooling': { redirect: '/build/tooling/zksync-block-explorers' }, - '/build/tooling/hardhat': { redirect: '/build/tooling/hardhat/getting-started' }, '/build/tooling/foundry': { redirect: '/build/tooling/foundry/overview' }, '/build/developer-reference/ethereum-differences': { redirect: '/build/developer-reference/ethereum-differences/evm-instructions',