diff --git a/docs/.vuepress/components/NavBar.vue b/docs/.vuepress/components/NavBar.vue index d8d518bef4..cfeeab5485 100644 --- a/docs/.vuepress/components/NavBar.vue +++ b/docs/.vuepress/components/NavBar.vue @@ -1,8 +1,8 @@ diff --git a/docs/.vuepress/sidebar/en.ts b/docs/.vuepress/sidebar/en.ts index 703070a411..c194d2ab0d 100644 --- a/docs/.vuepress/sidebar/en.ts +++ b/docs/.vuepress/sidebar/en.ts @@ -116,14 +116,6 @@ export const enSidebar = sidebar({ text: "Web3.js", link: "/build/tutorials/tooling-guides/web3js.md", }, - { - text: "API3", - link: "/build/tutorials/tooling-guides/api3.md", - }, - { - text: "DIA", - link: "/build/tutorials/tooling-guides/dia.md", - }, { text: "Redstone", link: "/build/tutorials/tooling-guides/redstone.md", @@ -136,10 +128,6 @@ export const enSidebar = sidebar({ text: "SubQuery", link: "/build/tutorials/tooling-guides/subquery.md", }, - { - text: "LayerZero", - link: "/build/tutorials/tooling-guides/layerzero.md", - }, ], }, { diff --git a/docs/.vuepress/styles/index.scss b/docs/.vuepress/styles/index.scss index d50ffd286c..3bf6f17486 100644 --- a/docs/.vuepress/styles/index.scss +++ b/docs/.vuepress/styles/index.scss @@ -840,3 +840,47 @@ $border-color: #e5e7eb; --code-bg-color: #131417; } } + + // TEMP BANNER RELATED - TO BE REMOVED ONCE IT IS GONE + .theme-container { + margin-top: 30px; + } + + #temp-banner { + position: fixed; + display: flex; + top:0; + left: 0; + right: 0; + height: 30px; + background: #1755F4; + color: white; + font-size: small; + align-items: center; + justify-content: center; + z-index: 1000; + + a { + color: white; + text-decoration: underline; + } + } + + .navbar { + top: 30px; + } + + /*responsive*/ + @media(max-width: 1000px){ + #temp-banner { + height: 40px; + } + + .navbar { + top: 40px; + } + + .theme-container { + margin-top: 40px; + } + } \ No newline at end of file diff --git a/docs/.vuepress/theme.ts b/docs/.vuepress/theme.ts index 1f887c66d5..041c8043dc 100644 --- a/docs/.vuepress/theme.ts +++ b/docs/.vuepress/theme.ts @@ -49,7 +49,7 @@ export default hopeTheme({

Made with ❤️ by Matter Labs

- +
zkSync Goerli Testnet will be shutdown on March 31st. Please use zkSync Sepolia Testnet instead. For more information see this announcement.
`, copyright: false, diff --git a/docs/build/quick-start/useful-address.md b/docs/build/quick-start/useful-address.md index 0fa9084f13..6a4d519c1d 100644 --- a/docs/build/quick-start/useful-address.md +++ b/docs/build/quick-start/useful-address.md @@ -65,35 +65,3 @@ These are the addresses that have been deployed and integrated with the token br | L1ERC20BridgeProxy | [0x2Ae09702F77a4940621572fBcDAe2382D44a2cbA](https://sepolia.etherscan.io/address/0x2Ae09702F77a4940621572fBcDAe2382D44a2cbA#code) | | L1ERC20BridgeImpl | [0x84DbCC0B82124bee38e3Ce9a92CdE2f943bab60D](https://sepolia.etherscan.io/address/0x84DbCC0B82124bee38e3Ce9a92CdE2f943bab60D#code) | | L2ERC20Bridge | [0x681A1AFdC2e06776816386500D2D461a6C96cB45](https://sepolia.explorer.zksync.io/address/0x681A1AFdC2e06776816386500D2D461a6C96cB45) | - -## Goerli testnet - -### Goerli contract addresses - -::: warning Goerli deprecated - -The Goerli testnet is being deprecated, please use Sepolia. - -::: - -| Contract | Address | -| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | -| DiamondInit | [0x81aE464127286C26f21495d053AA19Eec708055F](https://goerli.etherscan.io/address/0x81aE464127286C26f21495d053AA19Eec708055F#code) | -| DiamondProxy | [0x1908e2BF4a88F91E4eF0DC72f02b8Ea36BEa2319](https://goerli.etherscan.io/address/0x1908e2BF4a88F91E4eF0DC72f02b8Ea36BEa2319#code) | -| DiamondUpgrade | [0xFC88e9e4e11B1C083B40197500827E1894d55a83](https://goerli.etherscan.io/address/0xFC88e9e4e11B1C083B40197500827E1894d55a83#code) | -| ExecutorFacet | [0xD059478a564dF1353A54AC0D0e7Fc55A90b92246](https://goerli.etherscan.io/address/0xD059478a564dF1353A54AC0D0e7Fc55A90b92246#code) | -| GettersFacet | [0xF3ACF6a03ea4a914B78Ec788624B25ceC37c14A4](https://goerli.etherscan.io/address/0xF3ACF6a03ea4a914B78Ec788624B25ceC37c14A4#code) | -| Verifier | [0xB465882F67d236DcC0D090F78ebb0d838e9719D8](https://goerli.etherscan.io/address/0xB465882F67d236DcC0D090F78ebb0d838e9719D8#code) | -| MailboxFacet | [0x63b5EC36B09384fFA7106A80Ec7cfdFCa521fD08](https://goerli.etherscan.io/address/0x63b5EC36B09384fFA7106A80Ec7cfdFCa521fD08#code) | -| AllowList | [0x1ad02481F1F9E779Ec0C229799B05365E453Ce30](https://goerli.etherscan.io/address/0x1ad02481F1F9E779Ec0C229799B05365E453Ce30#code) | -| L2TestnetPaymaster | [0x8f0ea1312da29f17eabeb2f484fd3c112cccdd63](https://goerli.explorer.zksync.io/address/0x8f0ea1312da29f17eabeb2f484fd3c112cccdd63) | - -### Goerli token bridge contract addresses - -These are the addresses that have been deployed and integrated with the token bridge on testnet. - -| Contract | Address | -| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | -| L1ERC20BridgeProxy | [0x927DdFcc55164a59E0F33918D13a2D559bC10ce7](https://goerli.etherscan.io/address/0x927DdFcc55164a59E0F33918D13a2D559bC10ce7#code) | -| L1ERC20BridgeImpl | [0xF1b4A4bF596505719b57cAecF9ba18FE23CE7897](https://goerli.etherscan.io/address/0xF1b4A4bF596505719b57cAecF9ba18FE23CE7897#code) | -| L2ERC20Bridge | [0x00ff932A6d70E2B8f1Eb4919e1e09C1923E7e57b](https://goerli.explorer.zksync.io/address/0x00ff932A6d70E2B8f1Eb4919e1e09C1923E7e57b) | diff --git a/docs/build/sdks/go/accounts.md b/docs/build/sdks/go/accounts.md index ff04c3ad1a..9c450baf0c 100644 --- a/docs/build/sdks/go/accounts.md +++ b/docs/build/sdks/go/accounts.md @@ -121,8 +121,8 @@ NewWalletL1FromSigner(signer *Signer, clientL1 *ethclient.Client, clientL2 *clie ```go PrivateKey := os.Getenv("PRIVATE_KEY") -ZkSyncEraProvider := "https://testnet.era.zksync.dev" -EthereumProvider := "https://rpc.ankr.com/eth_goerli" +ZkSyncEraProvider := "https://sepolia.era.zksync.dev" +EthereumProvider := "https://rpc.ankr.com/eth_sepolia" client, err := clients.Dial(ZkSyncEraProvider) if err != nil { @@ -1364,8 +1364,8 @@ func NewRandomWallet(chainId int64, clientL2 *clients.Client, clientL1 *ethclien ```go PrivateKey := os.Getenv("PRIVATE_KEY") -ZkSyncEraProvider := "https://testnet.era.zksync.dev" -EthereumProvider := "https://rpc.ankr.com/eth_goerli" +ZkSyncEraProvider := "https://sepolia.era.zksync.dev" +EthereumProvider := "https://rpc.ankr.com/eth_sepolia" client, err := clients.Dial(ZkSyncEraProvider) if err != nil { @@ -1455,8 +1455,8 @@ ConnectL1(client *ethclient.Client) (*Wallet, error) ```go PrivateKey := os.Getenv("PRIVATE_KEY") -ZkSyncEraProvider := "https://testnet.era.zksync.dev" -EthereumProvider := "https://rpc.ankr.com/eth_goerli" +ZkSyncEraProvider := "https://sepolia.era.zksync.dev" +EthereumProvider := "https://rpc.ankr.com/eth_sepolia" client, err := clients.Dial(ZkSyncEraProvider) if err != nil { diff --git a/docs/build/sdks/go/clients.md b/docs/build/sdks/go/clients.md index 041f29c9dc..56c64e4170 100644 --- a/docs/build/sdks/go/clients.md +++ b/docs/build/sdks/go/clients.md @@ -746,7 +746,7 @@ L2TransactionFromPriorityOp(ctx context.Context, l1TxReceipt *types.Receipt) (*z ```go // Connect to Ethereum network -ethClient, err := ethclient.Dial("https://rpc.ankr.com/eth_goerli") +ethClient, err := ethclient.Dial("https://rpc.ankr.com/eth_sepolia") if err != nil { log.Panic(err) } diff --git a/docs/build/sdks/java/getting-started.md b/docs/build/sdks/java/getting-started.md index fae1e02e36..ba9c67eb00 100644 --- a/docs/build/sdks/java/getting-started.md +++ b/docs/build/sdks/java/getting-started.md @@ -93,7 +93,6 @@ public class Main { :::tip Mainnet chain id: 324 Sepolia testnet chain id: 300 -Goerli testnet chain id: 280 Local setup chain id: 270 ::: diff --git a/docs/build/sdks/js/providers.md b/docs/build/sdks/js/providers.md index 5573d4f107..61dce138ff 100644 --- a/docs/build/sdks/js/providers.md +++ b/docs/build/sdks/js/providers.md @@ -433,7 +433,7 @@ import { Provider, types } from "zksync-ethers"; const testnetPaymasterBytecodeHash = "0x010000f16d2b10ddeb1c32f2c9d222eb1aea0f638ec94a81d4e916c627720e30"; -const provider = Provider.getDefaultProvider(types.Network.Goerli); +const provider = Provider.getDefaultProvider(types.Network.Sepolia); console.log(`Bytecode: ${await provider.getBytecodeByHash(testnetPaymasterBytecodeHash)}`); ``` @@ -850,7 +850,7 @@ Helper function: [toJSON](#tojson). ```ts import { Provider, types } from "zksync-ethers"; -const provider = Provider.getDefaultProvider(types.Network.Goerli); +const provider = Provider.getDefaultProvider(types.Network.Sepolia); console.log(`Raw block transactions: ${toJSON(await provider.getRawBlockTransactions(90_000))}`); ``` diff --git a/docs/build/sdks/js/types.md b/docs/build/sdks/js/types.md index 17b0093881..93ba1c75d9 100644 --- a/docs/build/sdks/js/types.md +++ b/docs/build/sdks/js/types.md @@ -228,7 +228,6 @@ Enumerated list of networks and their ids. - Mainnet = `1` - Ropsten = `3` - Rinkeby = `4` -- Goerli = `5` - Sepolia = `6`, - localhost = `9` diff --git a/docs/build/sdks/js/zksync-ethers/providers.md b/docs/build/sdks/js/zksync-ethers/providers.md index 06f8173e50..9f885ad49f 100644 --- a/docs/build/sdks/js/zksync-ethers/providers.md +++ b/docs/build/sdks/js/zksync-ethers/providers.md @@ -474,7 +474,7 @@ import { Provider, types } from "zksync-ethers"; const testnetPaymasterBytecodeHash = "0x010000f16d2b10ddeb1c32f2c9d222eb1aea0f638ec94a81d4e916c627720e30"; -const provider = Provider.getDefaultProvider(types.Network.Goerli); +const provider = Provider.getDefaultProvider(types.Network.Sepolia); console.log(`Bytecode: ${await provider.getBytecodeByHash(testnetPaymasterBytecodeHash)}`); ``` @@ -875,7 +875,7 @@ Helper function: [toJSON](#tojson). ```ts import { Provider, types } from "zksync-ethers"; -const provider = Provider.getDefaultProvider(types.Network.Goerli); +const provider = Provider.getDefaultProvider(types.Network.Sepolia); console.log(`Raw block transactions: ${toJSON(await provider.getRawBlockTransactions(90_000))}`); ``` diff --git a/docs/build/sdks/js/zksync-ethers/types.md b/docs/build/sdks/js/zksync-ethers/types.md index ea1364e164..def921e359 100644 --- a/docs/build/sdks/js/zksync-ethers/types.md +++ b/docs/build/sdks/js/zksync-ethers/types.md @@ -210,7 +210,6 @@ Enumerated list of networks and their ids. - Mainnet = `1` - Ropsten = `3` - Rinkeby = `4` -- Goerli = `5` - Sepolia = `6`, - localhost = `9` diff --git a/docs/build/test-and-debug/era-test-node.md b/docs/build/test-and-debug/era-test-node.md index 2ceecca5a0..1876f2e90a 100644 --- a/docs/build/test-and-debug/era-test-node.md +++ b/docs/build/test-and-debug/era-test-node.md @@ -220,36 +220,36 @@ EthToken System Contract ## Sending network calls -You can send network calls against a running `era-test-node`. You can check the Goerli testnet LINK balance or mainnet USDT using `curl` or [foundry-zksync](https://github.com/matter-labs/foundry-zksync). +You can send network calls against a running `era-test-node`. You can check the Sepolia testnet LINK balance or mainnet USDT using `curl` or [foundry-zksync](https://github.com/matter-labs/foundry-zksync). To get started, launch the local in-memory node: ```bash -era_test_node fork goerli-testnet +era_test_node fork sepolia-testnet ``` Next, use curl to send a network call: ```bash -curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x40609141Db628BeEE3BfAB8034Fc2D8278D0Cc78", "data":"0x06fdde03"}, "latest"],"id":1}' http://localhost:8011 +curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xe1134444211593Cfda9fc9eCc7B43208615556E2", "data":"0x313ce567"}, "latest"],"id":1}' http://localhost:8011 ``` Here's an example of what you should expect to see: ```bash -{"jsonrpc":"2.0","result":"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018436861696e4c696e6b20546f6b656e2028676f65726c69290000000000000000","id":1} +{"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000012","id":1} ``` Or, if you prefer, use [`foundry-zksync`](https://github.com/matter-labs/foundry-zksync). Make sure to install and configure `foundry-zksync` before proceeding (for installation instructions, please see this [link](https://github.com/matter-labs/foundry-zksync/tree/main#foundry-with-zksync-era-v01)): ```bash -zkcast call 0x40609141Db628BeEE3BfAB8034Fc2D8278D0Cc78 "name()(string)" --rpc-url http://localhost:8011 +zkcast call 0xe1134444211593Cfda9fc9eCc7B43208615556E2 "name()(string)" --rpc-url http://localhost:8011 ``` Here's an example of what you should expect to see: ```bash -ChainLink Token (goerli) +Uniswap ``` Retrieve the balance of a particular contract: diff --git a/docs/build/tooling/oracles.md b/docs/build/tooling/oracles.md index a6594568bd..9b9909fb79 100644 --- a/docs/build/tooling/oracles.md +++ b/docs/build/tooling/oracles.md @@ -11,10 +11,6 @@ head: Welcome to the Oracles page, a comprehensive hub dedicated to interacting with oracle services on zkSync Era. As the demand for decentralized applications continues, the need for reliable and efficient oracle services becomes paramount. Within these sections, you'll unearth specialized usage guides and tangible examples designed to facilitate seamless interactions with a variety of different oracle services. -### API3 - -[API3](https://api3.org/) empowers smart contracts with its data feeds, termed [dAPIs➚](https://docs.api3.org/guides/dapis/subscribing-self-funded-dapis/). These dAPIs, sourced from first-party oracles, constantly relay signed, updated on-chain data. These feeds are available for zkSync Era. Check out the usage guide below to get started today. - ### DIA [DIA](https://docs.diadata.org/products/token-price-feeds) token price feeds provide smart contract real-time price information of 3,000+ cryptocurrencies, transparently sourced from 80+ trusted, high-volume DEXs and CEXs. Check out the usage guide below to get started today! @@ -29,10 +25,6 @@ Welcome to the Oracles page, a comprehensive hub dedicated to interacting with o ### Usage guides -- [api3](../tutorials/tooling-guides/api3.md) - -- [dia](../tutorials/tooling-guides/dia.md) - - [redstone](../tutorials/tooling-guides/redstone.md) ### Contribute diff --git a/docs/build/tutorials/dapp-development/gated-nft-paymaster-tutorial.md b/docs/build/tutorials/dapp-development/gated-nft-paymaster-tutorial.md index 87944c327c..3fbb87fe3b 100644 --- a/docs/build/tutorials/dapp-development/gated-nft-paymaster-tutorial.md +++ b/docs/build/tutorials/dapp-development/gated-nft-paymaster-tutorial.md @@ -107,7 +107,7 @@ WALLET_PRIVATE_KEY=YourPrivateKeyHere... Your private key will be used for paying the costs of deploying the smart contract. ::: warning -A heads up! Make sure your account has zkSync Era Testnet Goerli or Sepolia ETH to successfully deploy the contracts. +A heads up! Make sure your account has zkSync Era Sepolia Testnet or Sepolia ETH to successfully deploy the contracts. ::: 2. Navigate to `/contracts` directory and open up the `ERC721.sol` contract. We will implement the missing logic for the `mint` function. diff --git a/docs/build/tutorials/how-to/deposit-erc-20-to-l2.md b/docs/build/tutorials/how-to/deposit-erc-20-to-l2.md index 13f2e77f3b..3c1833e4b2 100644 --- a/docs/build/tutorials/how-to/deposit-erc-20-to-l2.md +++ b/docs/build/tutorials/how-to/deposit-erc-20-to-l2.md @@ -19,7 +19,7 @@ Use the **`zks_getBridgeContracts`** endpoint or **`getDefaultBridgeAddresses`** - **Node.js**: Ensure you have Node.js installed. If not, download it from [here](https://nodejs.org/). - **Private Key**: Have access to a private key for the account you'll be using. -- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Goerli and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. +- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Sepolia and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. ### Step 1: Understand L1 - L2 Deposits diff --git a/docs/build/tutorials/how-to/deposit-eth-to-l2.md b/docs/build/tutorials/how-to/deposit-eth-to-l2.md index d6027dc6ab..1aa37ad542 100644 --- a/docs/build/tutorials/how-to/deposit-eth-to-l2.md +++ b/docs/build/tutorials/how-to/deposit-eth-to-l2.md @@ -19,7 +19,7 @@ Use the **`zks_getBridgeContracts`** endpoint or **`getDefaultBridgeAddresses`** - **Node.js**: Ensure you have Node.js installed. If not, download it from [here](https://nodejs.org/). - **Private Key**: Have access to a private key for the account you'll be using. -- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Goerli and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. +- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Sepolia and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. ### Step 1: Understand L1 - L2 Deposits diff --git a/docs/build/tutorials/how-to/withdraw-erc-20-to-l1.md b/docs/build/tutorials/how-to/withdraw-erc-20-to-l1.md index 3c89b2d798..3295606716 100644 --- a/docs/build/tutorials/how-to/withdraw-erc-20-to-l1.md +++ b/docs/build/tutorials/how-to/withdraw-erc-20-to-l1.md @@ -19,7 +19,7 @@ Use the **`zks_getBridgeContracts`** endpoint or **`getDefaultBridgeAddresses`** - **Node.js**: Ensure Node.js is installed. If not, download it from [here](https://nodejs.org/). - **Private Key**: Have access to a private key for the account you'll be using. -- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Goerli and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. +- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Sepolia and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. ### Step 1: Understanding L2 to L1 Withdrawals diff --git a/docs/build/tutorials/how-to/withdraw-eth-to-l1.md b/docs/build/tutorials/how-to/withdraw-eth-to-l1.md index 553a277dcb..f8cdbdfb4e 100644 --- a/docs/build/tutorials/how-to/withdraw-eth-to-l1.md +++ b/docs/build/tutorials/how-to/withdraw-eth-to-l1.md @@ -19,7 +19,7 @@ Use the **`zks_getBridgeContracts`** endpoint or **`getDefaultBridgeAddresses`** - **Node.js**: Ensure Node.js is installed. If not, download it from [here](https://nodejs.org/). - **Private Key**: Have access to a private key for the account you'll be using. -- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Goerli and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. +- **L1 RPC Endpoint**: A URL to an Ethereum node to interact with. You can find RPC endpoints for Sepolia and Ethereum mainnet on [Chainlist](https://chainlist.org/) or use a node provider like Infura. ### Step 1: Understanding L2 to L1 Withdrawals diff --git a/docs/build/tutorials/smart-contract-development/cross-chain-tutorial.md b/docs/build/tutorials/smart-contract-development/cross-chain-tutorial.md index 3468a8cb5e..49fbe0b3ec 100644 --- a/docs/build/tutorials/smart-contract-development/cross-chain-tutorial.md +++ b/docs/build/tutorials/smart-contract-development/cross-chain-tutorial.md @@ -129,7 +129,7 @@ contract Governance { ### Deploy L1 Governance Contract -1. Create the file `L1-Governance/goerli.json`, or `L1-Governance/sepolia.json` and copy/paste the code below, filling in the relevant values. Find node provider urls [here](https://chainlist.org/chain/5). You have to connect your wallet to the network and add the network to the wallet in advance. +1. Create the file `L1-Governance/sepolia.json` and copy/paste the code below, filling in the relevant values. Find node provider urls [here](https://chainlist.org/chain/11155111). You have to connect your wallet to the network and add the network to the wallet in advance. `L1-Governance/sepolia.json` file @@ -140,15 +140,6 @@ contract Governance { } ``` -`L1-Governance/goerli.json` file, - -```json -{ - "nodeUrl": "", - "deployerPrivateKey": "" -} -``` - 2. Replace the code in `hardhat.config.ts` with the following: ```ts @@ -157,8 +148,6 @@ import { HardhatUserConfig } from "hardhat/config"; // import file with Sepolia params const sepolia = require("./sepolia.json"); -// Or, import file with Göerli params -// const goerli = require("./goerli.json"); const config: HardhatUserConfig = { solidity: { @@ -170,11 +159,6 @@ const config: HardhatUserConfig = { url: sepolia.nodeUrl, accounts: [sepolia.deployerPrivateKey], }, - // Or Göerli network - // goerli: { - // url: goerli.nodeUrl, - // accounts: [goerli.deployerPrivateKey], - // }, }, }; @@ -357,7 +341,7 @@ export default async function (hre: HardhatRuntimeEnvironment) { ``` ::: tip Deposit funds during deployment -The deployment script contains a deposit from Sepolia, or Goerli to zkSync Era testnet, which can take a few minutes to finish. If your wallet already has funds in L2, you can skip that part to save you some time. +The deployment script contains a deposit from Sepolia to zkSync Era testnet, which can take a few minutes to finish. If your wallet already has funds in L2, you can skip that part to save you some time. ::: 2. Now deploy the contract from the `L2-counter/` folder root to zkSync: @@ -512,7 +496,7 @@ You have to copy only abi content from the file after the keyword abi, an exampl - GOVERNANCE-ADDRESS: the address of the contract deployed in L1. - COUNTER-ADDRESS: the address of the contract deployed in L2. - WALLET-PRIVATE-KEY: the private key of your account. -- RPC-URL: the same url you used in the `sepolia.json` or `goerli.json` file. +- RPC-URL: the same url you used in the `sepolia.json` file. ```ts import { Contract, Wallet, Interface } from "ethers"; diff --git a/docs/build/tutorials/smart-contract-development/paymasters/custom-paymaster-tutorial.md b/docs/build/tutorials/smart-contract-development/paymasters/custom-paymaster-tutorial.md index 2c4014bc81..030df93f83 100644 --- a/docs/build/tutorials/smart-contract-development/paymasters/custom-paymaster-tutorial.md +++ b/docs/build/tutorials/smart-contract-development/paymasters/custom-paymaster-tutorial.md @@ -543,7 +543,7 @@ The wallet had 3 tokens after running the deployment script and, after sending t ## Common Errors -- If the `use-paymaster.ts` script fails with the error `Failed to submit transaction: Failed to validate the transaction. Reason: Validation revert: Paymaster validation error: Failed to transfer tx fee to the bootloader. Paymaster balance might not be enough.`, please try sending additional ETH to the paymaster so it has enough funds to pay for the transaction. You can use [zkSync native bridge or ecosystem partners](https://zksync.io/explore#bridges) (make sure Goerli or Sepolia testnet supported by selected bridge). +- If the `use-paymaster.ts` script fails with the error `Failed to submit transaction: Failed to validate the transaction. Reason: Validation revert: Paymaster validation error: Failed to transfer tx fee to the bootloader. Paymaster balance might not be enough.`, please try sending additional ETH to the paymaster so it has enough funds to pay for the transaction. You can use [zkSync native bridge or ecosystem partners](https://zksync.io/explore#bridges) (make sure Sepolia testnet is supported by selected bridge). - If the `use-paymaster.ts` script fails when minting new ERC20 tokens with the error `Error: transaction failed`, and the transactions appear with status "Failed" in the [zkSync explorer](https://explorer.zksync.io/), please reach out to us on [our Discord](https://join.zksync.dev/). As a workaround, try including a specific `gasLimit` value in the transaction. ## Learn More diff --git a/docs/zk-stack/running-a-hyperchain/locally.md b/docs/zk-stack/running-a-hyperchain/locally.md index 4a250b08fc..d0808e4d63 100644 --- a/docs/zk-stack/running-a-hyperchain/locally.md +++ b/docs/zk-stack/running-a-hyperchain/locally.md @@ -72,15 +72,15 @@ zk server --components "http_api,eth,state_keeper,housekeeper" ### Funding accounts -During the `zk stack init` configurator, you have a choice of what base layer to deploy the hyperchain onto: the local geth node, or an Ethereum network (e.g., Sepolia, Goerli). The first step to start interacting with your hyperchain is to fund an account (or a few). This means you need some funds on the base layer. +During the `zk stack init` configurator, you have a choice of what base layer to deploy the hyperchain onto: the local geth node, or an Ethereum network (e.g., Sepolia). The first step to start interacting with your hyperchain is to fund an account (or a few). This means you need some funds on the base layer. #### Base layer is the local geth node ([@matterlabs/geth:latest](https://hub.docker.com/r/matterlabs/geth)) - If you chose to deploy on local geth node, you will have a set of addresses that have 100 ETH each. You can find the list [here](https://github.com/matter-labs/local-setup/blob/main/rich-wallets.json) and use these addresses to deposit into your hyperchain via the bridge. -#### Base layer is an Ethereum network (e.g., Sepolia, Goerli) +#### Base layer is an Ethereum network (e.g., Sepolia) -- If you chose to deploy on an Ethereum network (e.g., Sepolia, Goerli), you need to have an account on the base layer with ETH. You can use the deployer, governor, or operator wallets setup during the the deployment process, or any other one you have funds, to deposit into your hyperchain via the bridge. +- If you chose to deploy on an Ethereum network (e.g., Sepolia), you need to have an account on the base layer with ETH. You can use the deployer, governor, or operator wallets setup during the the deployment process, or any other one you have funds, to deposit into your hyperchain via the bridge. Once you have the accounts with funds on the L1 base layer, you can do a deposit via the bridge to your hyperchain, and any further interactions with your hyperchain.