diff --git a/docs/build/build-with-thirdweb/celo-nft-drop-tutorial.md b/docs/build/build-with-thirdweb/celo-nft-drop-tutorial.md deleted file mode 100644 index 625c9d992..000000000 --- a/docs/build/build-with-thirdweb/celo-nft-drop-tutorial.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Celo NFT Drop Tutorial ---- - -Create and deploy your own Web3 app effortlessly with Thirdweb and Celo. - ---- - -## Objectives - -By the end of this tutorial, you will: - -* Have a set of **NFT Drops**. -* Build an **NFT gallery** with **`Thirdweb`** and **`Celo`**. - -## Prerequisites - -* Node (v20 or higher) -* A wallet with some test tokens (more on this later) - -## Fund Your Wallet - -1. Ensure you have sufficient funds to cover the transaction fees. -2. Visit the [Alfajores Faucet](https://faucet.celo.org/alfajores) to claim test tokens using your wallet address. ***Remember to claim only what you need.*** - -## Create a Contract on Thirdweb - -1. Visit [Thirdweb](https://thirdweb.com/login) and log in or create a new account. -2. Navigate to **`Contracts`** and click **`Deploy Contract`**. -3. Since multiple smart contracts have already been audited, we don’t need to write them from scratch. -4. Select **`NFT Drop`** and click **`Deploy`**. -5. Configure your token by setting its **Name** (mandatory), **Symbol**, and optionally adding an **Image** and **Description**. -6. In the **Deploy Options** section, choose **`Celo Alfajores`** as the Chain (if not selected by default). -7. Click **`Deploy Now`** to finalize the process. -8. After deployment, you’ll be redirected to the dashboard to upload your NFTs. -9. Provide a **name**, upload an **image**, add a **description**, and define **traits** for your NFT. -10. **Lazy Mint** your NFT. -11. Repeat steps 9 and 10 a few times—we need at least **3 NFTs**. -12. Copy your **`contract address`** from the NFT dashboard. - -## Get a Thirdweb Client ID - -1. Open the **Thirdweb Dashboard** and click **`Add New`** in the **Projects** section. -2. Select **`Project`** from the dropdown menu. -3. Enter a **project name** and add **`localhost:5173`** under **`Allowed Domains`**. Click **`Create`**. -4. A **`Client ID`** and **`Secret ID`** will be generated. Copy both to a secure location—we’ll only need the **`Client ID`**. - -## Clone the Thirdweb Celo NFT Repository - -1. Clone the repository: - - ```sh - git clone https://github.com/atejada/thirdweb-celo-nft - cd celo-token-agent - ``` -2. Install dependencies: - - - ```sh - npm install - ``` -3. Create a .env file with the following content: - - - ```sh - VITE_CLIENTID=your_thirdweb_client_id - VITE_ADDRESS=your_nft_contract_address - ``` - -4. Run the project: - - - ```sh - npm run dev - ``` - -Once the project is running, you’ll see the first NFT displayed along with a dropdown menu. You can select any other NFT from your collection to view its image, name, and description. - -## Join Build with Celo - Proof of Ship - -1. Create your application using an audited contract on Thirdweb. -2. Check the Github repo [Proof-of-Ship](https://github.com/celo-org/Proof-of-Ship?tab=readme-ov-file). -3. Sign up to join [Build with Celo - Proof of Ship](https://celo.lemonade.social/e/4JkhOXcD). -4. You can win up to **`5k cUSD`**. -5. Build with **`Celo`**. diff --git a/docs/build/build-with-thirdweb/one-click quickstart.md b/docs/build/build-with-thirdweb/one-click-deploy.md similarity index 71% rename from docs/build/build-with-thirdweb/one-click quickstart.md rename to docs/build/build-with-thirdweb/one-click-deploy.md index 519af6e65..6df920422 100644 --- a/docs/build/build-with-thirdweb/one-click quickstart.md +++ b/docs/build/build-with-thirdweb/one-click-deploy.md @@ -1,5 +1,5 @@ --- -title: One-Click Quickstart +title: One-Click Deploy --- Create and deploy Web3 apps effortlessly with Thirdweb and Celo. @@ -10,8 +10,9 @@ Create and deploy Web3 apps effortlessly with Thirdweb and Celo. By the end of this tutorial, you will: -* Be able to transfer Celo to another address -* Have a mintable **NFT Drop**. +- Be able to transfer Celo to another address +- Have a mintable **NFT Drop**. +- Build an **NFT gallery** ## Prerequisites @@ -20,8 +21,8 @@ By the end of this tutorial, you will: ## Fund Your Wallet -1. Ensure you have sufficient funds to cover the transaction fees. -2. Visit the [Alfajores Faucet](https://faucet.celo.org/alfajores) to claim test tokens using a wallet address. ***Remember to claim only what you need.*** +1. Ensure there are sufficient funds to cover the transaction fees. +2. Visit the [Alfajores Faucet](https://faucet.celo.org/alfajores) to claim test tokens using a wallet address. ***Remember to claim only what is needed.*** ## Create a Contract on Thirdweb @@ -34,8 +35,9 @@ By the end of this tutorial, you will: 7. Click **`Deploy Now`** to finalize the process. 8. After deployment, well’ll be redirected to the dashboard to upload your NFTs. 9. Provide a **name**, upload an **image**, add a **description**, and define **traits** for the NFT. -10. **Lazy Mint** the NFT. -11. Copy the **`contract address`** from the NFT dashboard. +10. **Lazy Mint** the NFT. +11. Repeat steps 9 and 10 a few times—we need at least **3 NFTs**. +12. Copy your **`contract address`** from the NFT dashboard. ## Make the NFT Mintable @@ -56,37 +58,38 @@ By the end of this tutorial, you will: 1. Clone the repository: ```sh - git clone https://github.com/celo-org/one-click-quickstart - cd one-click-quickstart + git clone https://github.com/atejada/celo-one-click-deploy + cd celo-one-click-deploy ``` - + 2. Install dependencies: - ```sh - npm install - ``` + ```sh + npm install + ``` 3. Create a .env file with the following content: - ```sh - VITE_CLIENTID=your_thirdweb_client_id - VITE_ADDRESS=your_nft_contract_address - VITE_ADRESS_TO=your_wallet_address - ``` + ```sh + VITE_CLIENTID = THIRD_WEB_CLIENT_ID + VITE_ADDRESS = MINTABLE_NFT_CONTRACT + VITE_GALLERY_ADDRESS = NFT_GALLERY_CONTRACT + VITE_ADDRESS_TO = ACCOUNT_TO_SEND_CELO_TO + ``` 4. Run the project: - ```sh + ```sh npm run dev - ``` + ``` -Once the project is running, there will be two links, the first named **Send Celo** and the second named **Mint NFT**. -The first one will be displayed by default. Click on the **Connect** button to connect the wallet. Enter an -address and an amount of Celo to transfer. The second link will display an NFT along with its description and by pressing -the mint button, 0.1 Celo will be paid. +Once the project is running, there will be three links, the first named **Send Celo**, the second **NFT Gallery** and the third +named **Mint NFT**. + +[celo-one-click-deploy](https://github.com/atejada/celo-one-click-deploy) ## Join Build with Celo - Proof of Ship diff --git a/docs/developer/deploy/thirdweb/one-click-deploy.md b/docs/developer/deploy/thirdweb/one-click-deploy.md new file mode 100644 index 000000000..9d88c795c --- /dev/null +++ b/docs/developer/deploy/thirdweb/one-click-deploy.md @@ -0,0 +1,103 @@ +--- +title: One-Click Deploy +--- + +Create and deploy Web3 apps effortlessly with Thirdweb and Celo. + +--- + +## Objectives + +By the end of this tutorial, you will: + +- Be able to transfer Celo to another address +- Have a mintable **NFT Drop**. +- Build an **NFT gallery** + +## Prerequisites + +* Node (v20 or higher) +* A wallet with some test tokens (more on this later) + +## Fund Your Wallet + +1. Ensure there are sufficient funds to cover the transaction fees. +2. Visit the [Alfajores Faucet](https://faucet.celo.org/alfajores) to claim test tokens using a wallet address. ***Remember to claim only what is needed.*** + +## Create a Contract on Thirdweb + +1. Visit [Thirdweb](https://thirdweb.com/login) and log in or create a new account. +2. Navigate to **`Contracts`** and click **`Deploy Contract`**. +3. Since multiple smart contracts have already been audited, there's no need to write them from scratch. +4. Select **`NFT Drop`** and click **`Deploy`**. +5. Configure the token by setting its **Name** (mandatory), **Symbol**, and optionally adding an **Image** and **Description**. +6. In the **Deploy Options** section, choose **`Celo Alfajores`** as the Chain (if not selected by default). +7. Click **`Deploy Now`** to finalize the process. +8. After deployment, well’ll be redirected to the dashboard to upload your NFTs. +9. Provide a **name**, upload an **image**, add a **description**, and define **traits** for the NFT. +10. **Lazy Mint** the NFT. +11. Repeat steps 9 and 10 a few times—we need at least **3 NFTs**. +12. Copy your **`contract address`** from the NFT dashboard. +13. Copy the **`contract address`** from the NFT dashboard. + +## Make the NFT Mintable + +1. On the dashboard, go to **Claim Conditions** +2. Click on **Add Phase**. +2. Specify the **Default Price (0.1)** and the **Limit per wallet (3)**. +3. Click on **Save Phases**. + +## Get a Thirdweb Client ID + +1. Open the **Thirdweb Dashboard** and click **`Add New`** in the **Projects** section. +2. Select **`Project`** from the dropdown menu. +3. Enter a **project name** and add **`localhost:5173`** under **`Allowed Domains`**. Click **`Create`**. +4. A **`Client ID`** and **`Secret ID`** will be generated. Copy both to a secure location—we’ll only need the **`Client ID`**. + +## Clone the Thirdweb Celo NFT Repository + +1. Clone the repository: + + ```sh + git https://github.com/atejada/celo-one-click-deploy + cd celo-one-click-deploy + ``` + +2. Install dependencies: + + + ```sh + npm install + ``` + +3. Create a .env file with the following content: + + + ```sh + VITE_CLIENTID = THIRD_WEB_CLIENT_ID + VITE_ADDRESS = MINTABLE_NFT_CONTRACT + VITE_GALLERY_ADDRESS = NFT_GALLERY_CONTRACT + VITE_ADDRESS_TO = ACCOUNT_TO_SEND_CELO_TO + ``` + +4. Run the project: + + + ```sh + npm run dev + ``` + +Once the project is running, there will be three links, the first named **Send Celo**, the second **NFT Gallery** and the third +named **Mint NFT**. + +The first one will be displayed by default. Click on the **Connect** button to connect the wallet. Enter an +address and an amount of Celo to transfer. The second link will display an NTF with a combo box at the top, to choose between 3 different +NFTs. The third and last link will display an NFT along with its description and by pressing the mint button, 0.1 Celo will be paid. + +## Join Build with Celo - Proof of Ship + +1. Create your application using an audited contract on Thirdweb. +2. Check the Github repo [Proof-of-Ship](https://github.com/celo-org/Proof-of-Ship?tab=readme-ov-file). +3. Sign up to join [Build with Celo - Proof of Ship](https://celo.lemonade.social/e/4JkhOXcD). +4. You can win up to **`5k cUSD`**. +5. Build with **`Celo`**. diff --git a/docs/developer/deploy/thirdweb/overview.md b/docs/developer/deploy/thirdweb/overview.md new file mode 100644 index 000000000..8b4b2c9e0 --- /dev/null +++ b/docs/developer/deploy/thirdweb/overview.md @@ -0,0 +1,39 @@ +# Getting Started with Thirdweb + +--- + +## Table of Contents +- [Introduction](#introduction) +- [Why Thirdweb?](#why-thirdweb) +- [Thirdweb documentation](#thirdweb-docs) +- [Resources](#resources) + +## Introduction {#introduction} + +Thirdweb streamlines blockchain development with pre-built contracts, SDKs, and a user-friendly dashboard. Deploy dApps, NFTs, and tokens effortlessly across multiple chains—fast, secure, and developer-friendly. + +## Why Thirdweb? {#why-thirdweb} + +Using Thirdweb is recommended because it eliminates the complexity of Web3 development, focusing on building rather than managing blockchain intricacies. + +- Pre-built Smart Contracts +- SDKs & APIs +- Multi-chain Support +- Wallet & Payments +- Dashboard Management + +## Thirdweb documentation {#thirdweb-docs} + +- Frontend + - [Connect](https://portal.thirdweb.com/connect) +- Backend + - [Engine](https://portal.thirdweb.com/engine) + - [Insight](https://portal.thirdweb.com/insight) + - [Nebula](https://portal.thirdweb.com/nebula) +- Onchain + - [Contracts](https://portal.thirdweb.com/contracts) + +## Resources {#resources} + +- [Thirdweb main page](https://thirdweb.com/) +- [Thirdweb Docs](https://portal.thirdweb.com/) diff --git a/docs/developer/deploy/thirdweb.md b/docs/developer/deploy/thirdweb/thirdweb.md similarity index 81% rename from docs/developer/deploy/thirdweb.md rename to docs/developer/deploy/thirdweb/thirdweb.md index a2c64b12d..f5b486c9a 100644 --- a/docs/developer/deploy/thirdweb.md +++ b/docs/developer/deploy/thirdweb/thirdweb.md @@ -1,12 +1,5 @@ # Using thirdweb -:::warning -As of block height 31,056,500 (March 26, 2025, 3:00 AM UTC), Celo is no longer a standalone Layer 1 blockchain—it is now an Ethereum Layer 2! -Some documentation may be outdated as updates are in progress. If you encounter issues, please [file a bug report](https://github.com/celo-org/docs/issues/new/choose). - -For the most up-to-date information, refer to our [Celo L2 documentation](https://docs.celo.org/cel2). -::: - ## Create Contract To create a new smart contract using thirdweb CLI, follow these steps: @@ -19,7 +12,7 @@ To create a new smart contract using thirdweb CLI, follow these steps: 2. Input your preferences for the command line prompts: 1. Give your project a name - 2. Choose your preferred framework: Hardhat or Foundry + 2. Choose your preferred framework: Hardhat or Forge 3. Name your smart contract 4. Choose the type of base contract: Empty, [ERC20](https://portal.thirdweb.com/solidity/base-contracts/erc20base), [ERC721](https://portal.thirdweb.com/solidity/base-contracts/erc721base), or [ERC1155](https://portal.thirdweb.com/solidity/base-contracts/erc1155base) 5. Add any desired [extensions](https://portal.thirdweb.com/solidity/extensions) @@ -34,14 +27,25 @@ To create a new smart contract using thirdweb CLI, follow these steps: import "@thirdweb-dev/contracts/base/ERC721Base.sol"; - contract Contract is ERC721Base { - constructor( + contract MyContract is ERC721Base { + + constructor( + address _defaultAdmin, string memory _name, string memory _symbol, address _royaltyRecipient, uint128 _royaltyBps - ) ERC721Base(_name, _symbol, _royaltyRecipient, _royaltyBps) {} - } + ) + ERC721Base( + _defaultAdmin, + _name, + _symbol, + _royaltyRecipient, + _royaltyBps + ) + {} + + } ``` This contract inherits the functionality of ERC721Base through the following steps: @@ -69,10 +73,12 @@ Alternatively, you can deploy a prebuilt contract for NFTs, tokens, or marketpla Deploy allows you to deploy a smart contract to any EVM compatible network without configuring RPC URLs, exposing your private keys, writing scripts, and other additional setup such as verifying your contract. -1. To deploy your smart contract using deploy, navigate to the root directory of your project and execute the following command: +1. Sign up to Thirdweb to get a key [Thirdweb Secret Key](https://thirdweb.com/team/~/~/). + +2. To deploy your smart contract using deploy, navigate to the root directory of your project and execute the following command: ```bash - npx thirdweb deploy + npx thirdweb deploy -k [SecretKey] ``` Executing this command will trigger the following actions: @@ -81,13 +87,14 @@ Deploy allows you to deploy a smart contract to any EVM compatible network witho - Providing the option to select which contract(s) you wish to deploy. - Uploading your contract source code (ABI) to IPFS. -2. When it is completed, it will open a dashboard interface to finish filling out the parameters. +3. When it is completed, it will open a dashboard interface to finish filling out the parameters. - `_name`: contract name - `_symbol`: symbol or "ticker" - `_royaltyRecipient`: wallet address to receive royalties from secondary sales - `_royaltyBps`: basis points (bps) that will be given to the royalty recipient for each secondary sale, e.g. 500 = 5% -3. Select Celo as the network -4. Manage additional settings on your contract’s dashboard as needed such as uploading NFTs, configuring permissions, and more. +4. Select Celo as the network + +5. Manage additional settings on your contract’s dashboard as needed such as uploading NFTs, configuring permissions, and more. For additional information on Deploy, please reference [thirdweb’s documentation](https://portal.thirdweb.com/deploy). diff --git a/sidebars.js b/sidebars.js index 159bb53dc..301ef762d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1,1314 +1,1247 @@ const { link } = require("fs"); const { type } = require("os"); -const whatIsCeloSidebar = [ - { type: "doc", label: "Overview", id: "what-is-celo/index" }, - { - type: "doc", - label: "Our History", - id: "what-is-celo/history", - }, - { - type: "category", - label: "Using Celo", - items: [ - { type: "doc", label: "Overview", id: "what-is-celo/using-celo/index" }, - { - type: "category", - label: "Protocol", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/using-celo/protocol/index", - }, - { - type: "category", - label: "Governance", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/using-celo/protocol/governance/overview", - }, - { - type: "doc", - label: "Create a Governance Proposal", - id: "what-is-celo/using-celo/protocol/governance/create-governance-proposal", - }, - { - type: "doc", - label: "Voting in Governance", - id: "what-is-celo/using-celo/protocol/governance/voting-in-governance", - }, - { - type: "doc", - label: "Voting with Celo Mondo", - id: "what-is-celo/using-celo/protocol/governance/voting-in-governance-using-mondo", - }, - { - type: "doc", - label: "Governable Parameters", - id: "what-is-celo/using-celo/protocol/governance/governable-parameters", - }, - ], - }, - { - type: "doc", - label: "Penalties", - id: "what-is-celo/using-celo/protocol/penalties", - }, - { - type: "doc", - label: "Consensus", - id: "what-is-celo/using-celo/protocol/consensus", - }, - { - type: "doc", - label: "Celo Token", - id: "what-is-celo/using-celo/protocol/celo-token", - }, - { - type: "doc", - label: "Escrow", - id: "what-is-celo/using-celo/protocol/escrow", - }, - { - type: "category", - label: "Epoch Rewards", - items: [ - { - type: "doc", - label: "Community Fund", - id: "what-is-celo/using-celo/protocol/epoch-rewards/community-fund", - }, - { - type: "doc", - label: "Carbon Offsetting Fund", - id: "what-is-celo/using-celo/protocol/epoch-rewards/carbon-offsetting-fund", - }, - ], - }, - { - type: "category", - label: "Transactions", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/using-celo/protocol/transaction/overview", - }, - { - type: "doc", - label: "TX Comment Encryption", - id: "what-is-celo/using-celo/protocol/transaction/tx-comment-encryption", - }, - { - type: "doc", - label: "Transaction Types", - id: "what-is-celo/using-celo/protocol/transaction/transaction-types", - }, - ], - }, - ], - }, - { - type: "category", - label: "Manage", - items: [ - { - type: "doc", - label: "Self-Custody", - id: "what-is-celo/using-celo/manage/self-custody", - }, - { - type: "doc", - label: "Release Gold", - id: "what-is-celo/using-celo/manage/release-gold", - }, - { - type: "doc", - label: "Exchange Assets", - id: "what-is-celo/using-celo/manage/exchange", - }, - { - type: "doc", - label: "Asset Management", - id: "what-is-celo/using-celo/manage/asset", - }, - ], - }, - { - type: "doc", - label: "Gas Fees", - id: "what-is-celo/using-celo/gas-fees", - }, - { - type: "doc", - label: "Bridges", - id: "what-is-celo/using-celo/bridges", - }, - { - type: "doc", - label: "Exchanges", - id: "what-is-celo/using-celo/exchanges", - }, - { - type: "doc", - label: "Glossary", - id: "what-is-celo/using-celo/glossary", - }, - ], - }, - { - type: "category", - label: "Joining Celo", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/joining-celo/index", - }, - { - type: "doc", - label: "Builders", - id: "what-is-celo/joining-celo/builders", - }, - { - type: "doc", - label: "Regional DAOs", - id: "what-is-celo/joining-celo/daos", - }, - { - type: "category", - label: "Contributors", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/joining-celo/contributors/overview", - }, - { - type: "doc", - label: "Code Contributors", - id: "what-is-celo/joining-celo/contributors/code-contributors", - }, - { - type: "doc", - label: "CIP Contributors", - id: "what-is-celo/joining-celo/contributors/cip-contributors", - }, - { - type: "doc", - label: "Documentation Contributors", - id: "what-is-celo/joining-celo/contributors/documentation-contributors", - }, - { - type: "category", - label: "Release Process", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/joining-celo/contributors/release-process/index", - }, - { - type: "doc", - label: "Smart Contracts", - id: "what-is-celo/joining-celo/contributors/release-process/smart-contracts", - }, - { - type: "doc", - label: "Blockchain Client", - id: "what-is-celo/joining-celo/contributors/release-process/blockchain-client", - }, - { - type: "doc", - label: "CeloCLI and ContractKit", - id: "what-is-celo/joining-celo/contributors/release-process/base-cli-contractkit-dappkit-utils", - }, - { - type: "doc", - label: "Attestation Service", - id: "what-is-celo/joining-celo/contributors/release-process/attestation-service", - }, - ], - }, - ], - }, - { - type: "link", - label: "Code of Conduct", - href: "https://github.com/celo-org/website/blob/master/src/content/code-of-conduct.md", - }, - ], - }, - { - type: "category", - label: "About Celo L1", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/overview", - }, - { - type: "doc", - label: "L1 Architecture", - id: "what-is-celo/about-celo-l1/l1-architecture", - }, - { - type: "link", - label: "Whitepapers", - href: "https://celo.org/papers", - }, - { - type: "category", - label: "Protocol", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/index", - }, - { - type: "category", - label: "Proof-of-Stake", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/pos/index", - }, - { - type: "doc", - label: "Validator Groups", - id: "what-is-celo/about-celo-l1/protocol/pos/validator-groups", - }, - { - type: "doc", - label: "Locked CELO", - id: "what-is-celo/about-celo-l1/protocol/pos/locked-gold", - }, - { - type: "doc", - label: "Validator Elections", - id: "what-is-celo/about-celo-l1/protocol/pos/validator-elections", - }, - { - type: "category", - label: "Epoch Rewards", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/pos/epoch-rewards", - }, - { - type: "doc", - label: "Validator Rewards", - id: "what-is-celo/about-celo-l1/protocol/pos/epoch-rewards-validator", - }, - { - type: "doc", - label: "Locked CELO Rewards", - id: "what-is-celo/about-celo-l1/protocol/pos/epoch-rewards-locked-gold", - }, - { - type: "doc", - label: "Community Fund", - id: "what-is-celo/about-celo-l1/protocol/pos/epoch-rewards-community-fund", - }, - { - type: "doc", - label: "Carbon Offsetting Fund", - id: "what-is-celo/about-celo-l1/protocol/pos/epoch-rewards-carbon-offsetting-fund", - }, - ], - }, - { - type: "doc", - label: "Penalties", - id: "what-is-celo/about-celo-l1/protocol/pos/penalties", - }, - ], - }, - { - type: "category", - label: "Consensus", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/consensus/index", - }, - { - type: "doc", - label: "Validator Set Differences", - id: "what-is-celo/about-celo-l1/protocol/consensus/validator-set-differences", - }, - { - type: "doc", - label: "Locating Nodes", - id: "what-is-celo/about-celo-l1/protocol/consensus/locating-nodes", - }, - ], - }, - { - type: "category", - label: "Transactions", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/transaction/index", - }, - "what-is-celo/about-celo-l1/protocol/transaction/native-currency", - "what-is-celo/about-celo-l1/protocol/transaction/erc20-transaction-fees", - "what-is-celo/about-celo-l1/protocol/transaction/gas-pricing", - "what-is-celo/about-celo-l1/protocol/transaction/escrow", - "what-is-celo/about-celo-l1/protocol/transaction/tx-comment-encryption", - "what-is-celo/about-celo-l1/protocol/transaction/transaction-types", - ], - }, - { - type: "category", - label: "Stability", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/stability/index", - }, - "what-is-celo/about-celo-l1/protocol/stability/doto", - "what-is-celo/about-celo-l1/protocol/stability/granda-mento", - "what-is-celo/about-celo-l1/protocol/stability/oracles", - "what-is-celo/about-celo-l1/protocol/stability/stability-fees", - "what-is-celo/about-celo-l1/protocol/stability/adding-stable-assets", - ], - }, - { - type: "category", - label: "Identity", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/identity/index", - }, - "what-is-celo/about-celo-l1/protocol/identity/metadata", - "what-is-celo/about-celo-l1/protocol/identity/smart-contract-accounts", - "what-is-celo/about-celo-l1/protocol/identity/encrypted-cloud-backup", - { - type: "doc", - label: "Privacy Research", - id: "what-is-celo/about-celo-l1/protocol/identity/privacy-research", - }, - { - type: "category", - label: "ODIS", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/identity/odis", - }, - { - type: "category", - label: "Use Cases", - items: [ - "what-is-celo/about-celo-l1/protocol/identity/odis-use-case-phone-number-privacy", - "what-is-celo/about-celo-l1/protocol/identity/odis-use-case-key-hardening", - ], - }, - { - type: "category", - label: "Domains", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/protocol/identity/odis-domain", - }, - { - type: "doc", - label: "Sequential Delay Domain", - id: "what-is-celo/about-celo-l1/protocol/identity/odis-domain-sequential-delay-domain", - }, - ], - }, - ], - }, - ], - }, - { - type: "doc", - label: "Celo Randomness", - id: "what-is-celo/about-celo-l1/protocol/randomness", - }, - { - type: "category", - label: "Contracts", - items: [ - { - type: "doc", - label: "Add A Contract", - id: "what-is-celo/about-celo-l1/protocol/contracts/add-contract", - }, - ], - }, - ], - }, - { - type: "category", - label: "Validator", - items: [ - { - type: "doc", - label: "Overview", - id: "what-is-celo/about-celo-l1/validator/index", - }, - { - type: "doc", - label: "Voting for Validator Groups", - id: "what-is-celo/about-celo-l1/validator/voting", - }, - { - type: "category", - label: "Run a Validator", - items: [ - { - type: "doc", - label: "Mainnet Validator", - id: "what-is-celo/about-celo-l1/validator/run/mainnet", - }, - { - type: "doc", - label: "Baklava Validator", - id: "what-is-celo/about-celo-l1/validator/run/baklava", - }, - ], - }, - // { - // type: "doc", - // label: "Attestation Service", - // id: "validator/attestation", - // }, - { - type: "category", - label: "Key Management", - items: [ - { - type: "doc", - label: "Summary", - id: "what-is-celo/about-celo-l1/validator/key-management/summary", - }, - { - type: "doc", - label: "Key Management", - id: "what-is-celo/about-celo-l1/validator/key-management/detailed", - }, - { - type: "doc", - label: "Key Rotation", - id: "what-is-celo/about-celo-l1/validator/key-management/key-rotation", - }, - ], - }, - { - type: "doc", - label: "Nodes and Services", - id: "what-is-celo/about-celo-l1/validator/security", - }, - { - type: "doc", - label: "Monitoring", - id: "what-is-celo/about-celo-l1/validator/monitoring", - }, - { - type: "doc", - label: "DevOps Best Practices", - id: "what-is-celo/about-celo-l1/validator/devops-best-practices", - }, - { - type: "doc", - label: "Node Upgrades", - id: "what-is-celo/about-celo-l1/validator/node-upgrade", - }, - { - type: "doc", - label: "Running Proxies", - id: "what-is-celo/about-celo-l1/validator/proxy", - }, - { - type: "doc", - label: "Validator Explorer", - id: "what-is-celo/about-celo-l1/validator/validator-explorer", - }, - { - type: "doc", - label: "Voting Policy", - id: "what-is-celo/about-celo-l1/validator/celo-foundation-voting-policy", - }, - { - type: "doc", - label: "Celo Signal", - id: "what-is-celo/about-celo-l1/validator/celo-signal", - }, - { - type: "doc", - label: "Validator FAQ", - id: "what-is-celo/about-celo-l1/validator/troubleshooting-faq", - }, - { - type: "link", - label: "Celo Website", - href: "https://celo.org", - }, - { - type: "link", - label: "Celo Discord", - href: "https://discord.com/invite/celo", - }, - ], - }, - ], - }, - { - type: "link", - label: "Celo Website", - href: "https://celo.org", - }, -]; +const sidebars = { + // ###################################### + // What is Celo + // ###################################### -const buildOnCeloSidebar = [ - { type: "doc", label: "Overview", id: "build/index" }, - { - type: "doc", - label: "Quickstart with Celo Composer", - id: "build/quickstart", - }, - { - type: "category", - label: "Build with Thirdweb", - items: [ - { - type: "doc", - label: "Overview", - id: "build/build-with-thirdweb/overview", - }, - { - type: "doc", - label: "One-click Quickstart", - id: "build/build-with-thirdweb/one-click quickstart", - }, - { - type: "doc", - label: "Celo NFT Drop Tutorial", - id: "build/build-with-thirdweb/celo-nft-drop-tutorial", - }, - ], - }, - { - type: "category", - label: "Build with AI", - items: [ - { - type: "doc", - label: "Overview", - id: "build/build-with-ai/overview", - }, - { - type: "category", - label: "Build with GOAT", - items: [ - { - type: "doc", - label: "Build a TokenSwap Agent", - id: "build/build-with-ai/build-with-goat/token-swap-agent", - }, - { - type: "doc", - label: "Build an NFT Minting Agent", - id: "build/build-with-ai/build-with-goat/mint-nft-agent", - }, - { - type: "doc", - label: "Build a Token Sending Agent", - id: "build/build-with-ai/build-with-goat/send-token-agent", - }, - ], - }, - { - type: "doc", - label: "Resources", - id: "build/build-with-ai/resources", - }, - { - type: "doc", - label: "Tools & Infra", - id: "build/build-with-ai/tools", - }, - { - type: "doc", - label: "Use Cases", - id: "build/build-with-ai/usecases", - }, - { - type: "category", - label: "Examples", - items: [ - { - type: "doc", - label: "Launch AI Agent Memecoins", - id: "build/build-with-ai/examples/ai-memecoins", - }, - { - type: "doc", - label: "Using GOAT Framework", - id: "build/build-with-ai/examples/building_with_goat", - }, - { - type: "doc", - label: "ERC-20 Token Deployer with Nebula", - id: "build/build-with-ai/examples/build-with-nebula", - }, - ], - }, - ], - }, - // { - // type: "doc", - // label: "Build with AI", - // id: "developer/build-with-ai/overview", - // }, - { - type: "category", - label: "Build on MiniPay", - items: [ - { - type: "doc", - label: "Overview", - id: "build/build-on-minipay/overview", - }, - { - type: "doc", - label: "Getting Started", - id: "build/build-on-minipay/quickstart", - }, - { - type: "category", - label: "Prerequisites", - items: [ - { - type: "doc", - label: "Ngrok Setup", - id: "build/build-on-minipay/prerequisites/ngrok-setup", - }, - ], - }, - { - type: "doc", - label: "Code Library", - id: "build/build-on-minipay/code-library", - }, - { - type: "doc", - label: "MiniPay Deeplinks", - id: "build/build-on-minipay/deeplinks", - }, - ], - }, - { - type: "doc", - label: "Build with Self", - id: "build/build-with-self", - }, - { - type: "doc", - label: "Build with DeFi", - id: "build/build-with-defi", - }, - { - type: "category", - label: "Integrate with Celo", - items: [ - { type: "doc", label: "Overview", id: "integration/index" }, - { type: "doc", label: "General", id: "integration/general" }, - { - type: "doc", - label: "Checklist", - id: "integration/checklist", - }, - { type: "doc", label: "Custody", id: "integration/custody" }, - { type: "doc", label: "Listings", id: "integration/listings" }, - { - type: "doc", - label: "Cloud HSM", - id: "integration/cloud-hsm", - }, - ], - }, - { - type: "doc", - label: "Fund your Project", - id: "build/fund-your-project", - }, - { - type: "doc", - label: "Launch Checklist", - id: "developer/launch-checklist", - }, - { - type: "doc", - label: "Get Support", - id: "build/support", - }, -]; + generalSidebar: [ + { type: "doc", label: "Overview", id: "general/index" }, + { + type: "doc", + label: "Our History", + id: "general/history", + }, + { + type: "category", + label: "Using Celo", + items: [ + { + type: "category", + label: "Holder", + items: [ + { type: "doc", label: "Overview", id: "holder/index" }, + { + type: "category", + label: "Manage", + items: [ + { + type: "doc", + label: "Self-Custody", + id: "holder/manage/self-custody", + }, + { + type: "doc", + label: "Release Gold", + id: "holder/manage/release-gold", + }, + { + type: "doc", + label: "Exchange Assets", + id: "holder/manage/exchange", + }, + { + type: "doc", + label: "Asset Management", + id: "holder/manage/asset", + }, + ], + }, + { + type: "category", + label: "Voting", + items: [ + { + type: "doc", + label: "Validator Elections", + id: "holder/vote/validator", + }, + { + type: "doc", + label: "Voting on Governance", + id: "holder/vote/governance", + }, + { + type: "doc", + label: "Governable Parameters", + id: "holder/vote/governance-parameters", + }, + ], + }, + { + type: "category", + label: "Recovery", + items: [ + { + type: "doc", + label: "Recover from ETH Address", + id: "holder/recover/from-eth-address", + }, + { + type: "doc", + label: "Recover from Celo Address", + id: "holder/recover/from-celo-address", + }, + ], + }, + { + type: "link", + label: "Exchanges", + href: "https://coinmarketcap.com/currencies/celo/markets/", + }, + ], + }, + { + type: "doc", + label: "Wallets", + id: "general/using-celo/wallets", + }, + { + type: "doc", + label: "Gas Fees", + id: "general/using-celo/gas-fees", + }, + { + type: "doc", + label: "Bridging", + id: "general/using-celo/bridging", + }, + { + type: "doc", + label: "DEXs", + id: "general/using-celo/dexes", + }, + { + type: "doc", + label: "Voting", + id: "general/using-celo/voting", + }, + ], + }, + { + type: "category", + label: "Joining Celo", + items: [ + { + type: "doc", + label: "Celo Ecosystem", + id: "general/ecosystem/overview", + }, + { + type: "doc", + label: "Builders", + id: "general/ecosystem/builders", + }, + { + type: "doc", + label: "Open Source Contributors", + id: "general/ecosystem/contributors", + }, + { + type: "doc", + label: "Regional DAOs", + id: "general/ecosystem/daos", + }, + { + type: "doc", + label: "Governance", + id: "general/ecosystem/governance", + }, + { + type: "category", + label: "Guides", + items: [ + { + type: "doc", + label: "Create a Governance Proposal", + id: "general/ecosystem/guides/create-proposal", + }, + { + type: "doc", + label: "Fundraising", + id: "general/ecosystem/guides/fundraising", + }, + { + type: "doc", + label: "Guidelines", + id: "general/ecosystem/guides/guidelines", + }, + { + type: "doc", + label: "Grant Playbook", + id: "general/ecosystem/guides/grant-playbook", + }, + { + type: "link", + label: "Code of Conduct", + href: "https://github.com/celo-org/website/blob/master/src/content/code-of-conduct.md", + }, + ], + }, + ], + }, + { + type: "category", + label: "About Celo L1", + items: [ + { + type: "doc", + label: "Overview", + id: "general/celo_l1_index", + }, + { + type: "doc", + label: "L1 Architecture", + id: "general/architecture", + }, + { + type: "category", + label: "Protocol", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/index", + }, + { + type: "category", + label: "Proof-of-Stake", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/pos/index", + }, + { + type: "doc", + label: "Validator Groups", + id: "protocol/pos/validator-groups", + }, + { + type: "doc", + label: "Locked CELO", + id: "protocol/pos/locked-gold", + }, + { + type: "doc", + label: "Validator Elections", + id: "protocol/pos/validator-elections", + }, + { + type: "category", + label: "Epoch Rewards", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/pos/epoch-rewards", + }, + { + type: "doc", + label: "Validator Rewards", + id: "protocol/pos/epoch-rewards-validator", + }, + { + type: "doc", + label: "Locked CELO Rewards", + id: "protocol/pos/epoch-rewards-locked-gold", + }, + { + type: "doc", + label: "Community Fund", + id: "protocol/pos/epoch-rewards-community-fund", + }, + { + type: "doc", + label: "Carbon Offsetting Fund", + id: "protocol/pos/epoch-rewards-carbon-offsetting-fund", + }, + ], + }, + { + type: "doc", + label: "Penalties", + id: "protocol/pos/penalties", + }, + ], + }, + { + type: "category", + label: "Consensus", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/consensus/index", + }, + { + type: "doc", + label: "Validator Set Differences", + id: "protocol/consensus/validator-set-differences", + }, + { + type: "doc", + label: "Locating Nodes", + id: "protocol/consensus/locating-nodes", + }, + ], + }, + { + type: "category", + label: "Governance", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/governance/index", + }, + { + type: "doc", + label: "Create Proposal", + id: "protocol/governance/create-proposal", + }, + ], + }, + { + type: "category", + label: "Transactions", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/transaction/index", + }, + "protocol/transaction/native-currency", + "protocol/transaction/erc20-transaction-fees", + "protocol/transaction/gas-pricing", + "protocol/transaction/escrow", + "protocol/transaction/tx-comment-encryption", + "protocol/transaction/transaction-types", + ], + }, + { + type: "category", + label: "Identity", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/identity/index", + }, + { + type: "link", + label: "Social Connect", + href: "https://github.com/celo-org/Social-Connect", + }, + "protocol/identity/metadata", + "protocol/identity/smart-contract-accounts", + "protocol/identity/encrypted-cloud-backup", + { + type: "doc", + label: "Privacy Research", + id: "protocol/identity/privacy-research", + }, + { + type: "category", + label: "ODIS", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/identity/odis", + }, + { + type: "category", + label: "Use Cases", + items: [ + "protocol/identity/odis-use-case-phone-number-privacy", + "protocol/identity/odis-use-case-key-hardening", + ], + }, + { + type: "category", + label: "Domains", + items: [ + { + type: "doc", + label: "Overview", + id: "protocol/identity/odis-domain", + }, + { + type: "doc", + label: "Sequential Delay Domain", + id: "protocol/identity/odis-domain-sequential-delay-domain", + }, + ], + }, + ], + }, + ], + }, + { + type: "doc", + label: "Celo Randomness", + id: "protocol/randomness", + }, + { + type: "category", + label: "Contracts", + items: [ + { + type: "doc", + label: "Add A Contract", + id: "protocol/contracts/add-contract", + }, + ], + }, + { + type: "category", + label: " Release Process", + items: [ + { + type: "doc", + label: "Overview", + id: "community/release-process/index", + }, + { + type: "doc", + label: "Smart Contracts", + id: "community/release-process/smart-contracts", + }, + { + type: "doc", + label: "Blockchain Client", + id: "community/release-process/blockchain-client", + }, + { + type: "doc", + label: "CeloCLI and ContractKit", + id: "community/release-process/base-cli-contractkit-dappkit-utils", + }, + { + type: "doc", + label: "Attestation Service", + id: "community/release-process/attestation-service", + }, + { + type: "doc", + label: "Celo Oracles", + id: "community/release-process/celo-oracles", + }, + ], + }, + ], + }, + { + type: "category", + label: "Validator", + items: [ + { + type: "doc", + label: "Overview", + id: "validator/index", + }, + { + type: "category", + label: "Run a Validator", + items: [ + { + type: "doc", + label: "Mainnet Validator", + id: "validator/run/mainnet", + }, + { + type: "doc", + label: "Baklava Validator", + id: "validator/run/baklava", + }, + ], + }, + { + type: "category", + label: "Key Management", + items: [ + { + type: "doc", + label: "Summary", + id: "validator/key-management/summary", + }, + { + type: "doc", + label: "Key Management", + id: "validator/key-management/detailed", + }, + { + type: "doc", + label: "Key Rotation", + id: "validator/key-management/key-rotation", + }, + ], + }, + { + type: "doc", + label: "Nodes and Services", + id: "validator/security", + }, + { + type: "doc", + label: "Monitoring", + id: "validator/monitoring", + }, + { + type: "doc", + label: "DevOps Best Practices", + id: "validator/devops-best-practices", + }, + { + type: "doc", + label: "Node Upgrades", + id: "validator/node-upgrade", + }, + { + type: "doc", + label: "Running Proxies", + id: "validator/proxy", + }, + { + type: "doc", + label: "Validator Explorer", + id: "validator/validator-explorer", + }, + { + type: "doc", + label: "Voting Policy", + id: "validator/celo-foundation-voting-policy", + }, + { + type: "doc", + label: "Celo Signal", + id: "validator/celo-signal", + }, + { + type: "doc", + label: "Validator FAQ", + id: "validator/troubleshooting-faq", + }, + { + type: "link", + label: "Celo Website", + href: "https://celo.org", + }, + { + type: "link", + label: "Celo Discord", + href: "https://discord.com/invite/celo", + }, + ], + }, + ], + }, + { + type: "link", + label: "Celo Website", + href: "https://celo.org", + }, + ], -const toolingSidebar = [ - { type: "doc", label: "Overview", id: "developer/index" }, - { type: "doc", label: "Network Information", id: "network/index" }, - { - type: "category", - label: "Nodes", - items: [ - { - type: "doc", - label: "Overview", - id: "network/node/overview", - }, - { - type: "link", - label: "Run a Celo Node", - href: "https://docs.celo.org/cel2/operators/run-node", - }, - { - type: "doc", - label: "Hosted Nodes", - id: "network/node/run-hosted", - }, - { - type: "doc", - label: "Forno", - id: "network/node/forno", - }, - // { - // type: "category", - // label: "Run a Node", - // items: [ - // { - // type: "doc", - // label: "Mainnet Full Node", - // id: "network/node/run-mainnet", - // }, - // { - // type: "doc", - // label: "Alfajores Full Node", - // id: "network/node/run-alfajores", - // }, - // { - // type: "doc", - // label: "Baklava Full Node", - // id: "network/node/run-baklava", - // }, - // ], - // }, - ], - }, - { - type: "category", - label: "Contracts", - items: [ - { - type: "doc", - label: "Core Contracts", - id: "contracts/core-contracts", - }, - { - type: "doc", - label: "Token Contracts", - id: "contracts/token-contracts", - }, - { - type: "doc", - label: "Uniswap Contracts", - id: "contracts/uniswap-contracts", - }, - ], - }, - { - type: "category", - label: "Wallets", - items: [ - { - type: "doc", - label: "Overview", - id: "wallet/index", - }, - { - type: "category", - label: "MetaMask", - items: [ - { - type: "doc", - label: "Add Celo to MetaMask", - id: "wallet/metamask/add-celo-testnet-to-metamask", - }, - { - type: "doc", - label: "Programmatic Setup", - id: "wallet/metamask/setup", - }, - { - type: "doc", - label: "Metmask and Celo", - id: "wallet/metamask/use", - }, - { - type: "doc", - label: "MetaMask and Valora", - id: "wallet/metamask/import", - }, - ], - }, - { - type: "category", - label: "Ledger Wallet", - items: [ - { - type: "doc", - label: "Ledger Wallet Setup", - id: "wallet/ledger/setup", - }, - { - type: "doc", - label: "Connect to Celo Terminal", - id: "wallet/ledger/to-celo-terminal", - }, - { - type: "doc", - label: "Connect to Celo Web Wallet", - id: "wallet/ledger/to-celo-web", - }, - { - type: "doc", - label: "Connect to Celo CLI", - id: "wallet/ledger/to-celo-cli", - }, - ], - }, - { - type: "link", - label: "Staking", - href: "https://medium.com/stake-service/hey-guys-today-well-take-a-look-at-how-you-can-use-the-cello-wallet-to-stake-your-own-cello-92730ac24aa5", - }, - ], - }, - { - type: "doc", - label: "Bridges", - id: "developer/bridges/bridges", - }, - { - type: "doc", - label: "Cross Chain Messaging", - id: "developer/bridges/cross-chain-messaging", - }, - { - type: "category", - label: "Explorers", - items: [ - { - type: "doc", - label: "Overview", - id: "developer/explorers/overview", - }, - { - type: "doc", - label: "Block Explorers", - id: "developer/explorers/block-explorers", - }, - { - type: "doc", - label: "Analytics", - id: "developer/explorers/analytics", - }, - { - type: "link", - label: "Blockscout", - href: "https://explorer.celo.org/", - }, - { - type: "link", - label: "Celoscan", - href: "https://celoscan.io/", - }, - ], - }, - { - type: "category", - label: "Indexers", - items: [ - { type: "doc", label: "Overview", id: "developer/indexers/overview" }, - { type: "doc", label: "The Graph", id: "developer/indexers/the-graph" }, - { type: "doc", label: "SubQuery", id: "developer/indexers/subquery" }, - ], - }, - { - type: "category", - label: "Dev Environments", - items: [ - { - type: "doc", - label: "Overview", - id: "developer/deploy/index", - }, - { - type: "doc", - label: "Using Foundry", - id: "developer/deploy/foundry", - }, - { - type: "doc", - label: "Using thirdweb", - id: "developer/deploy/thirdweb", - }, - { - type: "doc", - label: "Using Remix", - id: "developer/deploy/remix", - }, - { - type: "doc", - label: "Using Hardhat", - id: "developer/deploy/hardhat", - }, - ], - }, - { - type: "category", - label: "Libraries & SDKs", - items: [ - { - type: "doc", - label: "Overview", - id: "developer/sdks/celo-sdks", - }, - { - type: "category", - label: "CLI", - items: [ - { type: "doc", label: "Introduction", id: "cli/index", }, - // TOPICS - { type: "doc", label: "Account", id: "cli/account" }, - { type: "doc", label: "Config", id: "cli/config" }, - { type: "doc", label: "DKG", id: "cli/dkg" }, - { type: "doc", label: "Election", id: "cli/election" }, - { type: "doc", label: "Epochs", id: "cli/epochs" }, - { type: "doc", label: "Exchange", id: "cli/exchange" }, - { type: "doc", label: "Governance", id: "cli/governance" }, - { type: "doc", label: "Identity", id: "cli/identity" }, - { type: "doc", label: "LockedCelo", id: "cli/lockedcelo", }, - { type: "doc", label: "LockedGold", id: "cli/lockedgold", }, - { type: "doc", label: "Multisig", id: "cli/multisig" }, - { type: "doc", label: "Network", id: "cli/network" }, - { type: "doc", label: "Node", id: "cli/node" }, - { type: "doc", label: "Oracle", id: "cli/oracle" }, - { type: "doc", label: "Release CELO", id: "cli/releasecelo" }, - { type: "doc", label: "Rewards", id: "cli/rewards" }, - { type: "doc", label: "Transfer", id: "cli/transfer" }, - { type: "doc", label: "Validator", id: "cli/validator" }, - { type: "doc", label: "Validator Group", id: "cli/validatorgroup" }, - // COMMANDS - { type: "doc", label: "Autocomplete", id: "cli/autocomplete" }, - { type: "doc", label: "Commands", id: "cli/commands" }, - { type: "doc", label: "Help", id: "cli/help" }, - { type: "doc", label: "Plugins", id: "cli/plugins" }, - ], - }, - { - type: "doc", - label: "viem", - id: "developer/viem/index", - }, - { - type: "doc", - label: "thirdweb SDK", - id: "developer/thirdweb-sdk/index", - }, - { - type: "doc", - label: "Ethers.js", - id: "developer/ethers/index", - }, - { - type: "category", - label: "ContractKit", - items: [ - { - type: "doc", - label: "Overview", - id: "developer/contractkit/index", - }, - { - type: "doc", - label: "Setup", - id: "developer/contractkit/setup", - }, - { - type: "doc", - label: "Using the Kit", - id: "developer/contractkit/usage", - }, - { - type: "doc", - label: "Core Contracts Registry", - id: "developer/contractkit/contracts-wrappers-registry", - }, - { - type: "doc", - label: "Query On-Chain Identifiers with ODIS", - id: "developer/contractkit/odis", - }, - ], - }, - { - type: "category", - label: "Web3Modal SDK", - items: [ - { - type: "doc", - label: "Overview", - id: "developer/web3modal/index", - }, - { - type: "doc", - label: "Wagmi", - id: "developer/web3modal/wagmi", - }, - { - type: "doc", - label: "Ethers", - id: "developer/web3modal/ethers", - }, - ], - }, - { - type: "doc", - label: "rainbowkit-celo (deprectated)", - id: "developer/rainbowkit-celo/index", - }, - { - type: "doc", - label: "Web3.js", - id: "developer/web3/index", - }, - ], - }, - { - type: "link", - label: "Faucet", - href: "https://faucet.celo.org", - }, - { - type: "category", - label: "Verification", - items: [ - { - type: "doc", - label: "Overview", - id: "developer/verify/index", - }, - { - type: "doc", - label: "Using Blockscout", - id: "developer/verify/blockscout", - }, - { - type: "doc", - label: "Using Celoscan", - id: "developer/verify/celoscan", - }, - { - type: "doc", - label: "Using Remix", - id: "developer/verify/remix", - }, - { - type: "doc", - label: "Using Hardhat", - id: "developer/verify/hardhat", - }, - ], - }, - { - type: "category", - label: "Oracles", - items: [ - { - type: "doc", - label: "Running Oracles", - id: "developer/oracles/run", - }, - { - type: "doc", - label: "Overview", - id: "developer/oracles/index", - }, - { - type: "doc", - label: "Using Band Protocol", - id: "developer/oracles/band-protocol", - }, - { - type: "doc", - label: "Using Chainlink Oracles", - id: "developer/oracles/chainlink-oracles", - }, - { - type: "doc", - label: "Using RedStone", - id: "developer/oracles/redstone", - }, - { - type: "doc", - label: "Using Supra", - id: "developer/oracles/supra", - }, - ], - }, - { - type: "doc", - label: "Fee Abstraction", - id: "developer/fee-abstraction", - }, -]; + // ###################################### + // Developers + // ###################################### -const celoL2Sidebar = [ - { - type: "doc", - label: "Overview", - id: "cel2/index", - }, - { - type: "category", - label: "Notices", - collapsed: false, - items: [ - { - type: "category", - label: "Celo L2 Migration", - link: { + developersSidebar: [ + { type: "doc", label: "Overview", id: "developer/index" }, + { type: "doc", label: "Network Information", id: "network/index" }, + { + type: "category", + label: "Nodes", + items: [ + { type: "doc", - id: "cel2/notices/l2-migration", + label: "Overview", + id: "network/node/overview", }, - collapsed: false, - items: [ - { - type: "doc", - label: "Day 1 Partners", - id: "cel2/notices/day-1-partners", - }, - ], - }, - { - type: "doc", - label: "Pectra Upgrade", - id: "cel2/notices/pectra-upgrade", - }, - ], - }, - { - type: "doc", - label: "Builders", - id: "cel2/builders", - }, - { - type: "category", - label: "Node operators", - link: { + { + type: "doc", + label: "Forno", + id: "network/node/forno", + }, + { + type: "doc", + label: "Alchemy", + id: "network/node/alchemy", + }, + { + type: "category", + label: "Run a Node", + items: [ + { + type: "doc", + label: "Mainnet Full Node", + id: "network/node/run-mainnet", + }, + { + type: "doc", + label: "Alfajores Full Node", + id: "network/node/run-alfajores", + }, + { + type: "doc", + label: "Baklava Full Node", + id: "network/node/run-baklava", + }, + { + type: "doc", + label: "Hosted Nodes", + id: "network/node/run-hosted", + }, + ], + }, + ], + }, + { + type: "category", + label: "Contracts", + items: [ + { + type: "doc", + label: "Core Contracts", + id: "contracts/core-contracts", + }, + { + type: "doc", + label: "Token Contracts", + id: "contracts/token-contracts", + }, + { + type: "doc", + label: "Uniswap Contracts", + id: "contracts/uniswap-contracts", + }, + ], + }, + { + type: "category", + label: "Wallets", + items: [ + { + type: "doc", + label: "Overview", + id: "wallet/index", + }, + { + type: "category", + label: "MetaMask", + items: [ + { + type: "doc", + label: "Add Celo to MetaMask", + id: "wallet/metamask/add-celo-testnet-to-metamask", + }, + { + type: "doc", + label: "Programmatic Setup", + id: "wallet/metamask/setup", + }, + { + type: "doc", + label: "Metmask and Celo", + id: "wallet/metamask/use", + }, + { + type: "doc", + label: "MetaMask and Valora", + id: "wallet/metamask/import", + }, + ], + }, + { + type: "category", + label: "Ledger Wallet", + items: [ + { + type: "doc", + label: "Ledger Wallet Setup", + id: "wallet/ledger/setup", + }, + { + type: "doc", + label: "Connect to Celo Terminal", + id: "wallet/ledger/to-celo-terminal", + }, + { + type: "doc", + label: "Connect to Celo Web Wallet", + id: "wallet/ledger/to-celo-web", + }, + { + type: "doc", + label: "Connect to Celo CLI", + id: "wallet/ledger/to-celo-cli", + }, + ], + }, + { + type: "link", + label: "Staking", + href: "https://medium.com/stake-service/hey-guys-today-well-take-a-look-at-how-you-can-use-the-cello-wallet-to-stake-your-own-cello-92730ac24aa5", + }, + ], + }, + { type: "doc", - id: "cel2/operators/overview", + label: "Bridges", + id: "protocol/bridges", + }, + { + type: "doc", + label: "Cross Chain Messaging", + id: "protocol/cross-chain-messaging", + }, + { + type: "category", + label: "Explorers", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/explorers/overview", + }, + { + type: "doc", + label: "Block Explorers", + id: "developer/explorers/block-explorers", + }, + { + type: "doc", + label: "Analytics", + id: "developer/explorers/analytics", + }, + { + type: "link", + label: "Blockscout", + href: "https://explorer.celo.org/", + }, + { + type: "link", + label: "Celoscan", + href: "https://celoscan.io/", + }, + ], + }, + { + type: "category", + label: "Indexers", + items: [ + { type: "doc", label: "Overview", id: "developer/indexer/overview" }, + { type: "doc", label: "The Graph", id: "developer/indexer/the-graph" }, + { type: "doc", label: "SubQuery", id: "developer/indexer/subquery" }, + ], + }, + { + type: "category", + label: "Dev Environments", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/deploy/index", + }, + { + type: "doc", + label: "Using Foundry", + id: "developer/deploy/foundry", + }, + + { + type: "category", + label: "Using thirdweb", + items: [ + { type: "doc", label: "Overview", id: "developer/deploy/thirdweb/overview" }, + { type: "doc", label: "Deploy with Thirdweb CLI", id: "developer/deploy/thirdweb/thirdweb" }, + { type: "doc", label: "One-Click Deploy", id: "developer/deploy/thirdweb/one-click-deploy" }, + ], + }, + { + type: "doc", + label: "Using Remix", + id: "developer/deploy/remix", + }, + { + type: "doc", + label: "Using Hardhat", + id: "developer/deploy/hardhat", }, - collapsed: false, - items: [ - { - type: "doc", - label: "Architecture", - id: "cel2/operators/architecture", - }, - { - type: "doc", - label: "Running a Celo Node", - id: "cel2/operators/run-node", - }, - { - type: "doc", - label: "Migrating an L1 Node", - id: "cel2/operators/migrate-node", - }, - ], - }, - { - type: "category", - label: "Validators", - collapsed: false, - items: [ - { - type: "doc", - label: "Running a Community RPC Node", - id: "cel2/operators/community-rpc-node", - }, - { - type: "doc", - label: "Community RPC Provider FAQ", - id: "cel2/operators/validator-rpc-faq", - }, - ], - }, - { - type: "category", - label: "What's Changed?", - link: { type: "doc", id: "cel2/whats-changed/overview" }, - collapsed: false, - items: [ - "cel2/whats-changed/cel2-architecture", - "cel2/whats-changed/l1-l2", - "cel2/whats-changed/op-l2", ], - }, - { - type: "category", - label: "Guides", - collapsed: true, - items: [ - { - type: "doc", - label: "Bridging CELO from L1 to L2", - id: "cel2/guides/bridging-celo-from-l1-to-l2", - }, - { - type: "doc", - label: "Withdrawing CELO from L2 to L1", - id: "cel2/guides/withdrawing-celo-from-l2-to-l1", - }, - { + }, + { + type: "category", + label: "Libraries & SDKs", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/sdks/celo-sdks", + }, + { + type: "category", + label: "CLI", + items: [ + { type: "doc", label: "Overview", id: "cli/index" }, + { type: "doc", label: "Account", id: "cli/account" }, + { type: "doc", label: "Commands", id: "cli/commands" }, + { type: "doc", label: "Config", id: "cli/config" }, + { type: "doc", label: "DKG", id: "cli/dkg" }, + { type: "doc", label: "Election", id: "cli/election" }, + { type: "doc", label: "Exchange", id: "cli/exchange" }, + { + type: "doc", + label: "Governance", + id: "cli/governance", + }, + { type: "doc", label: "Help", id: "cli/help" }, + { type: "doc", label: "Identity", id: "cli/identity" }, + { + type: "doc", + label: "LockedGold", + id: "cli/lockedgold", + }, + { type: "doc", label: "Release CELO", id: "cli/releasecelo" }, + { type: "doc", label: "Multisig", id: "cli/multisig" }, + { type: "doc", label: "Network", id: "cli/network" }, + { type: "doc", label: "Node", id: "cli/node" }, + { type: "doc", label: "Oracle", id: "cli/oracle" }, + { type: "doc", label: "Plugins", id: "cli/plugins" }, + { type: "doc", label: "Rewards", id: "cli/rewards" }, + { type: "doc", label: "Transfer", id: "cli/transfer" }, + { type: "doc", label: "Validator", id: "cli/validator" }, + { type: "doc", label: "Utilities", id: "cli/utils" }, + { + type: "doc", + label: "ValidatorGroup", + id: "cli/validatorgroup", + }, + ], + }, + { + type: "doc", + label: "viem", + id: "developer/viem/index", + }, + { + type: "doc", + label: "Reown", + id: "developer/reown/index", + }, + { + type: "doc", + label: "thirdweb SDK", + id: "developer/thirdweb-sdk/index", + }, + { + type: "doc", + label: "Ethers.js", + id: "developer/ethers/index", + }, + { + type: "category", + label: "ContractKit", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/contractkit/index", + }, + { + type: "doc", + label: "Setup", + id: "developer/contractkit/setup", + }, + { + type: "doc", + label: "Using the Kit", + id: "developer/contractkit/usage", + }, + { + type: "doc", + label: "Core Contracts Registry", + id: "developer/contractkit/contracts-wrappers-registry", + }, + { + type: "doc", + label: "Query On-Chain Identifiers with ODIS", + id: "developer/contractkit/odis", + }, + ], + }, + { + type: "category", + label: "Web3Modal SDK", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/web3modal/index", + }, + { + type: "doc", + label: "Wagmi", + id: "developer/web3modal/wagmi", + }, + { + type: "doc", + label: "Ethers", + id: "developer/web3modal/ethers", + }, + ], + }, + { + type: "doc", + label: "rainbowkit-celo (deprectated)", + id: "developer/rainbowkit-celo/index", + }, + { + type: "doc", + label: "Web3.js", + id: "developer/web3/index", + }, + ], + }, + { + type: "link", + label: "Faucet", + href: "https://faucet.celo.org", + }, + { + type: "category", + label: "Explorers", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/explorers/overview", + }, + { + type: "doc", + label: "Block Explorers", + id: "developer/explorers/block-explorers", + }, + { + type: "doc", + label: "Analytics", + id: "developer/explorers/analytics", + }, + { + type: "link", + label: "Blockscout", + href: "https://explorer.celo.org/", + }, + { + type: "link", + label: "Celoscan", + href: "https://celoscan.io/", + }, + ], + }, + { + type: "category", + label: "Verification", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/verify/index", + }, + { + type: "doc", + label: "Using Blockscout", + id: "developer/verify/blockscout", + }, + { + type: "doc", + label: "Using Celoscan", + id: "developer/verify/celoscan", + }, + { + type: "doc", + label: "Using Remix", + id: "developer/verify/remix", + }, + { + type: "doc", + label: "Using Hardhat", + id: "developer/verify/hardhat", + }, + ], + }, + { + type: "category", + label: "Wallets", + items: [ + { + type: "doc", + label: "Overview", + id: "wallet/index", + }, + { + type: "category", + label: "MetaMask", + items: [ + { + type: "doc", + label: "Add Celo to MetaMask", + id: "wallet/metamask/add-celo-testnet-to-metamask", + }, + { + type: "doc", + label: "Programmatic Setup", + id: "wallet/metamask/setup", + }, + { + type: "doc", + label: "Metmask and Celo", + id: "wallet/metamask/use", + }, + { + type: "doc", + label: "MetaMask and Valora", + id: "wallet/metamask/import", + }, + ], + }, + { + type: "category", + label: "Ledger Wallet", + items: [ + { + type: "doc", + label: "Ledger Wallet Setup", + id: "wallet/ledger/setup", + }, + { + type: "doc", + label: "Connect to Celo Terminal", + id: "wallet/ledger/to-celo-terminal", + }, + { + type: "doc", + label: "Connect to Celo Web Wallet", + id: "wallet/ledger/to-celo-web", + }, + { + type: "doc", + label: "Connect to Celo CLI", + id: "wallet/ledger/to-celo-cli", + }, + ], + }, + { + type: "link", + label: "Staking", + href: "https://medium.com/stake-service/hey-guys-today-well-take-a-look-at-how-you-can-use-the-cello-wallet-to-stake-your-own-cello-92730ac24aa5", + }, + ], + }, + { + type: "doc", + label: "Bridges", + id: "protocol/bridges", + }, + { + type: "doc", + label: "Cross Chain Messaging", + id: "protocol/cross-chain-messaging", + }, + { + type: "category", + label: "Oracles", + items: [ + { type: "doc", label: "Running Oracles", id: "protocol/oracle/run" }, + { type: "doc", label: "Overview", id: "protocol/oracle/index" }, + { + type: "doc", + label: "Using Band Protocol", + id: "protocol/oracle/band-protocol", + }, + { + type: "doc", + label: "Using Chainlink Oracles", + id: "protocol/oracle/chainlink-oracles", + }, + { + type: "doc", + label: "Using RedStone", + id: "protocol/oracle/redstone", + }, + { type: "doc", label: "Using Supra", id: "protocol/oracle/supra" }, + ], + }, + { + type: "doc", + label: "Fee Abstraction", + id: "developer/fee-currency", + }, + { + type: "category", + label: "Indexers", + items: [ + { type: "doc", label: "Overview", id: "developer/indexer/overview" }, + { type: "doc", label: "The Graph", id: "developer/indexer/the-graph" }, + { type: "doc", label: "SubQuery", id: "developer/indexer/subquery" }, + ], + }, + { + type: "doc", + label: "EVM Tools", + id: "developer/evm-tools", + }, + ], + + + // ###################################### + // Community + // ###################################### + + communitySidebar: [ + { + type: "doc", + label: "Contributors", + id: "community/guidelines", + }, + { + type: "doc", + label: "Fundraising", + id: "community/fundraising", + }, + { + type: "doc", + label: "Grant Playbook", + id: "community/grant-playbook", + }, + { + type: "link", + label: "Code of Conduct", + href: "https://github.com/celo-org/website/blob/master/src/content/code-of-conduct.md", + }, + ], + + cel2: [ + { + type: "doc", + label: "Overview", + id: "cel2/index", + }, + { + type: "category", + label: "Notices", + collapsed: false, + items: [ + { + type: "category", + label: "Celo L2 Migration", + link: { + type: "doc", + id: "cel2/notices/l2-migration", + }, + collapsed: false, + items: [ + { + type: "doc", + label: "Day 1 Partners", + id: "cel2/notices/day-1-partners", + }, + ], + }, + { + type: "doc", + label: "Pectra Upgrade", + id: "cel2/notices/pectra-upgrade", + }, + ], + }, + { + type: "doc", + label: "Builders", + id: "cel2/builders", + }, + { + type: "category", + label: "Node operators", + link: { type: "doc", - label: "Fee Abstraction on Celo L2", - id: "cel2/guides/fee-abstraction", + id: "cel2/operators/overview", }, - ], - }, - { type: "doc", label: "FAQ", id: "cel2/faq" }, - { type: "link", label: "Celo L2 Specs", href: "https://specs.celo.org/" }, -]; - -const sidebars = { - whatisCeloSidebar: whatIsCeloSidebar, - buildOnCeloSidebar: buildOnCeloSidebar, - toolingSidebar: toolingSidebar, - celoL2Sidebar: celoL2Sidebar, + collapsed: false, + items: [ + { + type: "doc", + label: "Architecture", + id: "cel2/operators/architecture", + }, + { + type: "doc", + label: "Running a Celo Node", + id: "cel2/operators/run-node", + }, + { + type: "doc", + label: "Migrating an L1 Node", + id: "cel2/operators/migrate-node", + }, + ], + }, + { + type: "category", + label: "Validators", + collapsed: false, + items: [ + { + type: "doc", + label: "Running a Community RPC Node", + id: "cel2/operators/community-rpc-node", + }, + { + type: "doc", + label: "Community RPC Provider FAQ", + id: "cel2/operators/validator-rpc-faq", + }, + ], + }, + { + type: "category", + label: "What's Changed?", + link: { type: "doc", id: "cel2/whats-changed/overview" }, + collapsed: false, + items: [ + "cel2/whats-changed/cel2-architecture", + "cel2/whats-changed/l1-l2", + "cel2/whats-changed/op-l2", + ], + }, + { + type: "category", + label: "Guides", + collapsed: true, + items: [ + { + type: "doc", + label: "Bridging CELO from L1 to L2", + id: "cel2/guides/bridging-celo-from-l1-to-l2", + }, + { + type: "doc", + label: "Withdrawing CELO from L2 to L1", + id: "cel2/guides/withdrawing-celo-from-l2-to-l1", + }, + { + type: "doc", + label: "Fee Abstraction on Celo L2", + id: "cel2/guides/fee-abstraction", + }, + ], + }, + { type: "doc", label: "FAQ", id: "cel2/faq" }, + { type: "link", label: "Celo L2 Specs", href: "https://specs.celo.org/" }, + ], }; - module.exports = sidebars;