diff --git a/docs/integration/custody.md b/docs/integration/custody.md index bfe90c4cc..d9b972b70 100644 --- a/docs/integration/custody.md +++ b/docs/integration/custody.md @@ -22,7 +22,7 @@ Generally speaking, custodying CELO, the native token on the Celo network, requi ## Balance Model -As a fork of Ethereum, Celo retains the account model to keep track of users' balances. Celo Dollar and CELO implement the [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md) interface. As mentioned previously, it is common for smart contracts to hold balances on behalf of other addresses. One example is the [`LockedGold`](/what-is-celo/about-celo-l1/protocol/pos/locked-gold) smart contract that holds the "locked portion of a user's `CELO` balance". Another one is the [`ReleaseGold`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol) smart contract that holds `CELO` that is being released to a beneficiary address over time according to some schedule. +As a fork of Ethereum, Celo retains the account model to keep track of users' balances. Celo Dollar and CELO implement the [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md) interface. As mentioned previously, it is common for smart contracts to hold balances on behalf of other addresses. One example is the [LockedGold](https://docs-cel2.netlify.app/protocol/pos/locked-gold) smart contract that holds the "locked portion of a user's CELO balance". Another one is the [ReleaseGold](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol) smart contract that holds CELO that is being released to a beneficiary address over time according to some schedule. :::warning @@ -38,7 +38,7 @@ CELO and Celo Dollars implement the ERC20 interface, as will any future core sta ## CELO State Machine -CELO as described previously can also exist in various states that represent a specific user behavior. For example, if a user wants to lock CELO to either participate in consensus directly or vote, that CELO will be sent to the `LockedGold` smart contract. To understand the high level flow, please read [this description of the various states CELO can exist in](/what-is-celo/about-celo-l1/protocol/pos/locked-gold#locking-and-voting-flow). +CELO as described previously can also exist in various states that represent a specific user behavior. For example, if a user wants to lock CELO to either participate in consensus directly or vote, that CELO will be sent to the LockedGold smart contract. To understand the high level flow, please read [this description of the various states CELO can exist in](https://docs-cel2.netlify.app/protocol/pos/locked-gold#locking-and-voting-flow). ## Smart Contracts diff --git a/docs/integration/guide.md b/docs/integration/guide.md new file mode 100644 index 000000000..5adc94430 --- /dev/null +++ b/docs/integration/guide.md @@ -0,0 +1,77 @@ +--- +title: Celo Protocol Integration Guide +description: A comprehensive guide for applications building and integrating on Celo. +--- + +# Celo Protocol Integration Guide + +A comprehensive guide for applications building and integrating on Celo. + +--- + +## General Guidelines + +## Address Handling + +Celo addresses are identical to Ethereum addresses. When displaying and requesting user-inputted addresses, ensure to use and validate address checksums following the [EIP55 standard](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md) to detect typos. + +For core smart contracts, developers are encouraged to use the Registry to reference contracts, allowing for potential repointing via Governance. + +## Custodian/Exchange Integration + +For detailed information, refer to [Custody](/integration/custody). Below is a summary: + +## Transfer Detection + +Stable-value currencies, cUSD and cEUR, are represented by `StableToken` and `StableTokenEUR` contracts, accessible via the ERC20 interface. The native asset CELO can be accessed via the `GoldToken` ERC20 interface or natively, similar to ETH on Ethereum. + +Contract addresses can be found by querying the [registry](/developer/contractkit/contracts-wrappers-registry) or in the [Listing Guide](/integration/listings). + +## Proof of Stake Participation + +Users may participate in Celo's Proof of Stake system to help secure the network and earn rewards. + +## Authorized Signers + +Celo's core smart contracts use the Accounts abstraction, allowing balance-moving keys to be held in cold storage, while other keys can be authorized to vote and held in warm storage or online. + +## Release Gold Contract + +The ReleaseGold smart contract, which is audited, allows for the scheduled release of CELO to users. + + +## Wallet Integration + +These guidelines apply to any application that manages keys and allows users to interact and transfer value on the Celo platform. + +## Key Derivation + +Celo wallets should follow [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) for deriving private keys from [BIP39 mnemonics](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). Celo's key derivation path is `m/44'/52752'/0'/0`. The first key is typically the `account key` for balance transfers, while the second key can be derived as the `dataEncryptionKey` for encrypting information. + +## Identity Protocol + +Celo has a [lightweight identity protocol](/protocol/identity) that allows users to address each other via phone numbers. To protect user privacy, Celo wallets should implement the [Phone Number Privacy protocol](/protocol/identity/odis-use-case-phone-number-privacy) to prevent large-scale harvesting of phone numbers. + +## Wallet Address Management + +When transferring assets, wallets should check the receiving account's `walletAddress`. Smart contract accounts may have different recovery characteristics but receive funds at a different address. A `walletAddress` of `0x0` indicates that a different mechanism is required to acquire the `walletAddress`. + +## Transaction Metadata + +cUSD (StableToken) includes an additional method, `transferWithComment`, allowing senders to specify a comment. Celo wallets should support this feature and encrypt comments to the `dataEncryptionKey` when applicable. + +## Validator Group Explorers + +[Validator Group Explorers](/holder/vote/validator) are essential to Celo's Proof of Stake system. Explorers should consider the following standards to ensure a consistent experience: + +## Account Names + +All Celo accounts on `Accounts.sol` can claim any name. Explorers should display these names while being aware of potential fraud. + +## Identity Claims + +Celo accounts can claim existing identities, some of which are verifiable (e.g., Domain Names, Keybase profiles). Explorers should display these identities to reduce impersonation risks. + +## Performance Metrics + +Validator Groups and their validators may perform differently. Explorers should reflect this to help voters choose an optimal validator set. While uptime (block signatures) affects rewards, explorers should also display [other metrics](https://docs-cel2.netlify.app/holder/vote/validator#choosing-a-validator-group) that impact the Celo ecosystem's success, such as performance in the identity protocol. diff --git a/docs/integration/index.md b/docs/integration/index.md index 3c795d5be..8c07c34f0 100644 --- a/docs/integration/index.md +++ b/docs/integration/index.md @@ -7,9 +7,11 @@ import PageRef from '@components/PageRef' import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Celo Integrations +# Integrate with Celo -Collection of resources to help integrate Celo with your service. +## Celo Integrations + +With its low fees and fast transactions, the Celo blockchain is a great choice for developers looking to deploy or optimize their dApps. Whether you’re transitioning from Web2 or refining an existing Web3 dApp, this guide will walk you through the key steps for deploying on Celo, including setting up your RPC provider, integrating payment and transparency solutions, and ensuring seamless operation on the network. Let’s explore how Celo can enhance your dApp for global adoption. :::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! @@ -20,10 +22,78 @@ For the most up-to-date information, refer to our [Celo L2 documentation](https: --- -Celo provides you with the tools to easily integrate DeFi into your existing mobile application or blockchain service. Integrating with Celo allows you to accept payments, send payouts, and manage all of your DeFi needs using our global financial infrastructure. +## If you are an existing Web3 dApp + +## Checklist + +- **Deploy on Celo**: Ensure your dApp is deployed on the Celo network. +- **Test with Forno**: Use Forno, a hosted node service, to test your dApp without running your own node. +- **Deployment** : Make sure your RPC provider is on Celo. If not, here is a list of RPC providers: + - Forno + - Ankr + - Infura + - Quicknode + - All that node + - dRPC +- **Indexer**: Set up an indexer to efficiently query blockchain data if your dApp requires it. +- **Gas Fees**: Optimize gas fees by leveraging Celo's low-cost transaction capabilities. +- **Optimizing for Mobile Users**: Celo is designed with mobile-first interactions in mind. Ensure your dApp is optimized for mobile users. +- **Analytics**: Implement analytics to track user behavior and dApp performance. + +## What else? + +- **Security**: Conduct a security audit and publish the results. +- **User Experience**: Ensure a seamless user experience by integrating with Celo-optimized wallets like Valora and Opera MiniPay. +- **Community Engagement**: Engage with the Celo community for feedback and support. +- **Governance Participation**: Participate in Celo's governance by creating and voting on proposals. Refer to the Celo Governance Guide for detailed steps on how to get involved. +- **Celo Forum**: Join discussions, ask questions, and share your experiences on the Celo Forum. It's a great place to connect with other developers and community members. +- **Celo Discord**: For real-time support and collaboration, join the Celo Discord. Engage with the community, get help from developers, and stay updated on the latest news and events. + +## If you are a Web2 dApp + +## 2.1 Integrating Payment Solutions + +- **Leverage Celo's Stablecoins**: Use Celo's stablecoins (cUSD, cEUR) for fast, low-cost transactions. +- **Step-by-Step Guide**: Integrate payments using smart contracts. Refer to the Celo Integration Guide for detailed steps. + +## 2.2 Implementing Transparency Solutionď + +- **Introduce Transparency**: Use blockchain to introduce transparency into your app (e.g., audit trails, open data). + +## 2.3 Setting Up an Indexer for Your Data + +- **Importance of Data Indexing**: Blockchain data indexing is crucial for Web3 transparency and efficiency. +- **Steps to Implement an Indexer**: Choose and implement a suitable indexer for Celo. Refer to the Celo Integration Guide for detailed steps. + 2 +## 2.4 Enhancing User Experience + +- **Mobile Optimization:** Edqnsure your dApp is optimized for mobile devices, leveraging Celo's mobile-first design. +- **User-Friendly Wallets**: Integrate with Celo-optimized wallets like Valora and Opera MiniPay to provide a seamless user experience. + +## 2.5 Ensuring Security +- **Smart Contract Audits**: Conduct thorough audits of your smart contracts to ensure security and reliability. +- **Security Best Practices**: Follow best practices for secure coding and deployment. + +## 2.6 Engaging with the Community + +- **Community Feedback**: Engage with the Celo community to gather feedback and support for your dApp. +- **Developer Support**: Utilize Celo's developer support channels for assistance and collaboration opportunities. + +## 2.7 Compliance and Legal Considerations + +- **Regulatory Compliance**: Ensure your dApp complies with relevant regulations and legal requirements. +- **Privacy Policies**: Implement and publish privacy policies that comply with GDPR or other applicable privacy laws. + +## 2.8 Performance Optimization + +- **Scalability**: Optimize your dApp for scalability to handle increased user load and transactions. +- **Performance Monitoring**: Implement monitoring tools to track the performance and health of your dApp. + +--- + +Celo equips you with the tools to seamlessly integrate DeFi into your existing mobile application or blockchain service. By integrating with Celo, you can accept payments, send payouts, and manage all your DeFi needs using our global financial infrastructure. -- [General information](/integration/general) -- [Integration Checklist](/integration/checklist) -- [Custody](/integration/custody) -- [Listings](/integration/listings) -- [Using a Cloud HSM](/integration/cloud-hsm) +- [General Information](/integration) +- Protocol Integration Guide +- Custody Integrations +- Listings Guide diff --git a/docs/integration/listings.md b/docs/integration/listings.md index 26f1b625f..c9f636473 100644 --- a/docs/integration/listings.md +++ b/docs/integration/listings.md @@ -5,7 +5,7 @@ description: Support for digital asset exchanges or ranking sites that would lik # Listings -Support for digital asset exchanges or ranking sites that would like to run a Celo node and audit your setup. +Guidance for digital asset exchanges or ranking sites on running a Celo node and auditing your setup. :::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! @@ -18,15 +18,17 @@ For the most up-to-date information, refer to our [Celo L2 documentation](https: ## Support -If you have any questions or need assistance with these instructions, please contact cLabs or ask in the #exchanges channel on [Celo’s Discord server](https://chat.celo.org/). Remember that Discord is a public channel: never disclose recovery phrases (also known as backup keys, or mnemonics), private keys, unsanitized log output, or personal information. +For any questions or assistance with these instructions, please contact cLabs or inquire in [Celo's Discord server](https://chat.celo.org/). Note that Discord is a public channel: never disclose recovery phrases (also known as backup keys or mnemonics), private keys, unsanitized log output, or personal information. + +This guide provides comprehensive information on brand assets, integration with Celo, and useful listing information, as well as support resources. + -This guide will also help you find all the necessary information about brand assets, how to integrate with Celo and what useful listing information are made available to you as well as any information about looking for support. ## Celo Brand Assets for Listing -If you are listing Celo on your exchange, you will probably need access to the Celo Platform brand assets. They can be found [here](https://celo.org/brand-kit). +If you are listing Celo on your exchange, you will probably need access to the Celo Platform brand assets. Available [here](https://celo.org/brand-kit). -Please ensure your use of the Celo Platform assets provided follows the brand policy found [here](https://celo.org/brand-kit-policy). +Ensure that your use of the Celo Platform assets complies with the brand policy found [here](https://celo.org/brand-kit-policy). ## How To's @@ -34,15 +36,15 @@ Please ensure your use of the Celo Platform assets provided follows the brand po There are several ways to integrate the Celo Platform with your infrastructure. -A general overview of integrations that would be relevant to you listing Celo Platform are shown [here](/integration/general). +A general overview of relevant integrations for listing Celo Platform is available [here](/integration/general). -For more specific use-cases for exchanges, please checkout the [Custody and Exchange Integration Guide](/integration/custody) as well. +For specific use-cases for exchanges, please refer to the [Custody and Exchange Integration Guide](/integration/custody). ## Important Information ### Celo Native Asset and Stable Value Currencies -There are key assets on the Celo network, the Celo native asset (CELO) and Celo-powered Stable Value Currencies, such as Celo Dollar (cUSD) and Celo Euro (cEUR). CELO was formerly called Celo Gold (cGLD) when the contract was deployed, so you will often see references to Celo Gold and CGLD in the codebase. To learn more about the two, please read [this](/developer/migrate/from-ethereum#the-celo-native-asset-and-the-celo-dollar) section of the docs. +The Celo network features key assets, including the Celo native asset (CELO) and Celo-powered Stable Value Currencies, such as Celo Dollar (cUSD) and Celo Euro (cEUR). CELO was formerly known as Celo Gold (cGLD) when the contract was deployed, so references to Celo Gold and CGLD may still appear in the codebase. For more information, please read [this](/developer/migrate/from-ethereum#the-celo-native-asset-and-the-celo-dollar) section of the documentation. You can also view the forum post about the name change [here](https://forum.celo.org/t/proposal-to-rename-celo-gold-to-celo-native-asset/528). @@ -57,13 +59,13 @@ You can also view the forum post about the name change [here](https://forum.celo ### Useful API endpoints -The following are useful API endpoints available to you that would help you in your listings of the CELO and cUSD digital assets. +The following API endpoints are useful for listing CELO and cUSD digital assets. #### CELO and Stable Value Currencies ##### Total CELO supply -For querying the API on total coins in circulation in CELO, which are the total amount of coins in existence right now, the following endpoint will provide you with that: +To query the API for the total coins in circulation in CELO, use the following endpoint: ```sh $ curl https://thecelo.com/api/v0.1.js?method=ex_totalcoins @@ -87,7 +89,7 @@ This endpoint is not yet available. #### CP-DOTO (Stability Algorithm) -CP-DOTO information can be found [here](/what-is-celo/about-celo-l1/protocol/stability/doto). +Information on CP-DOTO can be found [here](/protocol/stability/doto). For API endpoints useful for listing that follow [CMC requirements](https://docs.google.com/document/d/1S4urpzUnO2t7DmS_1dc4EL4tgnnbTObPYXvDeBnukCg/edit#) @@ -129,7 +131,7 @@ $ curl https://thecelo.com/api/v0.1.js?method=ex_ticker ##### Orderbook -Market depth of a trading pair. One array containing a list of ask prices and another array containing bid prices. +Market depth of a trading pair. One array contains a list of ask prices and another array contains bid prices. ```sh $ curl https://thecelo.com/api/v0.1.js?method=ex_orderbook @@ -151,16 +153,16 @@ $ curl https://thecelo.com/api/v0.1.js?method=ex_celocusd To learn about the Celo Protocol, please refer to the [whitepaper](https://celo.org/papers). -If you need more information to explore other aspects of the Celo Protocol, there’s a [useful links](/what-is-celo/using-celo/) page. +For more information on other aspects of the Celo Protocol, visit the [useful links](/general/) page. To learn more about the Stability Mechanism, you can find it over [here](/what-is-celo/about-celo-l1/protocol/stability/doto). The [Stability Analysis Whitepaper](https://celo.org/papers/Celo_Stability_Analysis.pdf) and [blog post](https://medium.com/celohq/a-look-at-the-celo-stability-analysis-white-paper-part-1-23edd5ef8b5) will provide a lot more information on the stability algorithm. -If you want to find more information about the Celo Reserve, a diversified portfolio of cryptocurrencies supporting the ability of the Celo protocol to expand and contract the supply of Celo stable assets, please visit [https://reserve.mento.org/](https://reserve.mento.org/). +If you want to find more information about the Celo Reserve, a diversified portfolio of cryptocurrencies supporting the ability of the Celo protocol to expand and contract the supply of Celo stable assets, please visit [https://celoreserve.org/](https://celoreserve.org/). ### Github -The Celo Protocol GitHub is located [here.](https://github.com/celo-org/) +The Celo Protocol GitHub repository is located [here.](https://github.com/celo-org/) ### Audits diff --git a/sidebars.js b/sidebars.js index 159bb53dc..5d4b5d531 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1,6 +1,1441 @@ const { link } = require("fs"); const { type } = require("os"); +const sidebars = { + // ###################################### + // What is Celo + // ###################################### + + generalSidebar: [ + { type: "doc", label: "Overview", id: "general/index" }, + { + type: "doc", + label: "Our History", + id: "general/history", + }, + //{ + // type: "doc", + // label: "L1 Architecture", + // id: "general/architecture", + //}, + { + 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: "Stability", +// items: [ +// { +// type: "doc", +// label: "Overview", +// id: "protocol/stability/index", +// }, +// "protocol/stability/doto", +// "protocol/stability/granda-mento", +// "protocol/stability/oracles", +// "protocol/stability/stability-fees", +// "protocol/stability/adding-stable-assets", +// ], +// }, + { + 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: "doc", + // label: "Attestation Service", + // id: "validator/attestation", + // }, + { + 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", + }, + // { + // type: "doc", + // label: "Web2 to Web3", + // id: "general/web2-to-web3", + // }, + // { + // type: "doc", + // label: "Whitepapers", + // id: "general/whitepapers", + // }, + // { type: "doc", label: "Glossary", id: "general/glossary" }, + // { type: "doc", label: "Gallery", id: "general/gallery" }, + // { type: "doc", label: "FAQs", id: "general/faqs" }, + ], + + // ###################################### + // Build on Celo + // ###################################### + buildSidebar: [ + { 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: "Build with AI", + // id: "developer/build-with-ai/overview", + // }, + { + type: "category", + label: "Build on MiniPay", + items: [ + { + type: "doc", + label: "Overview", + id: "developer/build-on-minipay/overview", + }, + { + type: "doc", + label: "Getting Started", + id: "developer/build-on-minipay/quickstart", + }, + { + type: "category", + label: "Prerequisites", + items: [ + { + type: "doc", + label: "Ngrok Setup", + id: "developer/build-on-minipay/prerequisites/ngrok-setup", + }, + ], + }, + { + type: "doc", + label: "Code Library", + id: "developer/build-on-minipay/code-library", + }, + { + type: "doc", + label: "MiniPay Deeplinks", + id: "developer/build-on-minipay/deeplinks", + }, + ], + }, + { + type: "doc", + label: "Build with Self", + id: "build/build-with-self", + }, + { + type: "category", + label: "Integrate with Celo", + items: [ + { type: "doc", label: "Overview", id: "integration/index" }, + { type: "doc", label: "Custody", id: "integration/custody" }, + { type: "doc", label: "Guide", id: "integration/guide" }, + { type: "doc", label: "Listings", id: "integration/listings" }, + ], + }, + { + 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", + }, + ], + + // ###################################### + // Developers + // ###################################### + + developersSidebar: [ + { 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: "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: "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", + 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: "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: "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: "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", + }, + ], + + // ###################################### + // Integrations + // ###################################### + + // integrationsSidebar: [ + // { 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", + // }, + // ], + + //// ###################################### + //// Validators + //// ###################################### + + //validatorsSidebar: [ + //{ 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: "doc", + //// label: "Attestation Service", + //// id: "validator/attestation", + //// }, + //{ + //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", + //}, + //], + + // ###################################### + // 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", + }, + ], + + //// ###################################### + //// Protocol + //// ###################################### +======= const whatIsCeloSidebar = [ { type: "doc", label: "Overview", id: "what-is-celo/index" }, { @@ -581,6 +2016,11 @@ const whatIsCeloSidebar = [ }, ]; + + + +>>>> main + const buildOnCeloSidebar = [ { type: "doc", label: "Overview", id: "build/index" }, {