diff --git a/.github/workflows/docs-validation.yml b/.github/workflows/docs-validation.yml new file mode 100644 index 000000000..d5f07ef19 --- /dev/null +++ b/.github/workflows/docs-validation.yml @@ -0,0 +1,46 @@ +name: Documentation Validation + +on: + push: + branches: + - main + - master + pull_request: + branches: + - main + - master + workflow_dispatch: + +jobs: + validate-docs: + name: Check for Errors and Broken Links + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: '22' + + - name: Install jq + run: sudo apt-get update && sudo apt-get install -y jq + + - name: Install Mintlify CLI + run: npm install -g mintlify + + - name: Run validation script + id: validate + run: | + echo "## 📚 Documentation Validation" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Running validation checks using ./scripts/validate-docs.sh" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Make script executable and run it + chmod +x ./scripts/validate-docs.sh + ./scripts/validate-docs.sh diff --git a/.github/workflows/mintlify-ci.yml b/.github/workflows/mintlify-ci.yml new file mode 100644 index 000000000..c74d68bfb --- /dev/null +++ b/.github/workflows/mintlify-ci.yml @@ -0,0 +1,54 @@ +name: Mintlify CI Checks + +on: + push: + branches: + - main + - master + pull_request: + branches: + - main + - master + +jobs: + mintlify-checks: + name: Run Mintlify CI Checks + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Update system packages + run: | + sudo apt-get update || echo "apt-get update failed, continuing..." + + - name: Install Mintlify CLI + run: npm install -g mintlify + + - name: Run Mintlify validation + run: | + echo "Running Mintlify validation checks..." + mint install || true + + # Note: Mintlify Pro/Enterprise plans have automatic CI checks + # This workflow provides additional local validation + + echo "✅ Mintlify validation completed" + + - name: Check deployment readiness + run: | + echo "Checking if documentation is ready for deployment..." + + # Verify docs.json exists + if [ ! -f "docs.json" ]; then + echo "❌ Error: docs.json not found" + exit 1 + fi + + echo "✅ Documentation structure is valid" diff --git a/README.md b/README.md index 88bdef20e..403e9b61f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,36 @@ -# Mintlify Starter Kit +# Celo Documentation -Use the starter kit to get your docs deployed and ready to customize. +Official documentation for Celo, built with [Mintlify](https://mintlify.com). -Click the green **Use this template** button at the top of this repo to copy the Mintlify starter kit. The starter kit contains examples with +## 🔍 Documentation Validation -- Guide pages -- Navigation -- Customizations -- API reference pages -- Use of popular components +We have automated checks for errors and broken links that run on every push and pull request. -**[Follow the full quickstart guide](https://starter.mintlify.com/quickstart)** +### Quick Validation + +Before committing, run local validation: + +```bash +# Run all validation checks +./scripts/validate-docs.sh + +# Check for broken links using Mintlify CLI +mint broken-links +``` + +### CI/CD Workflows + +- ✅ **Broken Links Check** - Automatically scans for broken internal/external links +- ✅ **Structure Validation** - Validates docs.json syntax and structure +- ✅ **MDX File Verification** - Ensures all referenced files exist +- ✅ **Syntax Checking** - Detects common MDX/JSX syntax errors +- ✅ **PR Comments** - Automatically comments on PRs with validation results + +Run `./scripts/validate-docs.sh` to check for errors before committing. ## Development -Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally. To install, use the following command: +Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally: ```sh npm i -g mint @@ -22,7 +38,7 @@ npm i -g mint Run the following command at the root of your documentation, where your `docs.json` is located: -```sh +```bash mint dev ``` @@ -32,14 +48,40 @@ View your local preview at `http://localhost:3000`. Install our GitHub app from your [dashboard](https://dashboard.mintlify.com/settings/organization/github-app) to propagate changes from your repo to your deployment. Changes are deployed to production automatically after pushing to the default branch. +**Important:** All PRs must pass validation checks before merging. + +## Contributing + +1. **Before committing:** + - Run `./scripts/validate-docs.sh` to check for errors + - Test your changes locally with `mint dev` + - Ensure all links work correctly + +2. **Creating a PR:** + - Wait for automated checks to complete + - Review any validation warnings or errors + - Fix issues before requesting review + +3. **For reviewers:** + - Check that all validation checks pass + - Review any warnings in PR comments + - Verify changes render correctly + ## Need help? ### Troubleshooting -- If your dev environment isn't running: Run `mint update` to ensure you have the most recent version of the CLI. -- If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`. +- **Dev environment not running:** Run `mint update` to ensure you have the most recent version of the CLI +- **Page loads as 404:** Make sure you are running in a folder with a valid `docs.json` +- **Validation fails:** Run `./scripts/validate-docs.sh` and review the output for specific errors +- **Broken links detected:** Review the validation output and fix referenced files or URLs ### Resources +- [Celo Documentation](https://docs.celo.org) +- [Validation Script](./scripts/validate-docs.sh) +- [Mintlify Documentation](https://mintlify.com/docs) +- [Mintlify Community](https://mintlify.com/community) +- [Celo Discord](https://discord.com/invite/celo) - [Mintlify documentation](https://mintlify.com/docs) - [Mintlify community](https://mintlify.com/community) diff --git a/_deprecated/cel2/faq.mdx b/_deprecated/cel2/faq.mdx index ec6f66e24..b6670a74e 100644 --- a/_deprecated/cel2/faq.mdx +++ b/_deprecated/cel2/faq.mdx @@ -77,12 +77,12 @@ There are multiple options. ### How is the Celo L2 different to Optimism? -See [What's Changed Optimism -> Celo L2](./whats-changed/op-l2). +See [What's Changed Optimism -> Celo L2](/legacy/transition/optimism/op-l2). Also see [Celo L2 Specification](https://specs.celo.org/root.html) for greater detail. ### What are the costs for L1 data and how are they paid? -See [What's changed section covering L1 fees](/cel2/whats-changed/op-l2#l1-fees). +See [What's changed section covering L1 fees](/legacy/transition/optimism/op-l2#l1-fees). ### What's the block time? @@ -94,7 +94,7 @@ The gas limit per block is 30 million, so the maximum throughput is 30M gas/s. ### Is there anything that used to work on Celo L1 that doesn’t anymore on L2? -See [What's Changed Celo L1 -> L2](/cel2/whats-changed/l1-l2.md) and [L1 -> L2 Migration Changes](https://specs.celo.org/l2_migration.html) in the spec for greater detail. +See [What's Changed Celo L1 -> L2](/legacy/transition/whats-changed/l1-l2) and [L1 -> L2 Migration Changes](https://specs.celo.org/l2_migration.html) in the spec for greater detail. ## Testnets diff --git a/_deprecated/integration/listings.mdx b/_deprecated/integration/listings.mdx index b4d24924c..3ebe39e2e 100644 --- a/_deprecated/integration/listings.mdx +++ b/_deprecated/integration/listings.mdx @@ -41,7 +41,7 @@ For more specific use-cases for exchanges, please checkout the [Custody and Exch ### 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. +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](/tooling/overview/migrate/from-ethereum#the-celo-native-asset-and-the-celo-dollar) section of the docs. 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). diff --git a/_deprecated/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards.mdx b/_deprecated/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards.mdx index 6c1cb70e2..d2dc0a667 100644 --- a/_deprecated/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards.mdx +++ b/_deprecated/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards.mdx @@ -20,8 +20,8 @@ This page describes the historical Celo Layer 1 blockchain. It is useful for und - Distributed [rewards for validators and validator groups](/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards-validator) - Distribute [rewards to holders of Locked CELO](/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards-locked-gold) voting for groups that elected validators -- Make payments into a [Community Fund](/about-celo/protocol/epoch-rewards/index/community-fund) for protocol infrastructure grants -- Make payments into a [Carbon Offsetting Fund](/about-celo/protocol/epoch-rewards/index/carbon-offsetting-fund) for carbon offsetting projects +- Make payments into a [Community Fund](/home/protocol/epoch-rewards/community-fund) for protocol infrastructure grants +- Make payments into a [Carbon Offsetting Fund](/home/protocol/epoch-rewards/carbon-offsetting-fund) for carbon offsetting projects A total of 400 million CELO will be released for epoch rewards over time. CELO is a utility and governance asset on Celo, and also the reserve collateral for Celo Dollar (and possibly in the future other whitelisted tokens). It has a fixed total supply and in the long term will exhibit deflationary characteristics similarly to Ethereum. diff --git a/_deprecated/what-is-celo/about-celo-l1/protocol/pos/penalties.mdx b/_deprecated/what-is-celo/about-celo-l1/protocol/pos/penalties.mdx index 035b1ae26..175f0d746 100644 --- a/_deprecated/what-is-celo/about-celo-l1/protocol/pos/penalties.mdx +++ b/_deprecated/what-is-celo/about-celo-l1/protocol/pos/penalties.mdx @@ -37,7 +37,7 @@ There are three categories of slashing conditions: Provable slashing conditions cannot be initiated automatically on chain but information provided from an external source can be definitively verified on-chain. -In exchange for sending a transaction which initiates a successful provable slashing condition on-chain, the reporter receives a "reward", a portion of the slashed amount (which will always be greater than the gas costs of the proof). The reward is added to the reporter's balance of non-voting LockedGold. The remainder of the slashed amount is sent to the [Community Fund](/about-celo/protocol/epoch-rewards/index/community-fund). +In exchange for sending a transaction which initiates a successful provable slashing condition on-chain, the reporter receives a "reward", a portion of the slashed amount (which will always be greater than the gas costs of the proof). The reward is added to the reporter's balance of non-voting LockedGold. The remainder of the slashed amount is sent to the [Community Fund](/home/protocol/epoch-rewards/community-fund). - **Persistent downtime -** A validator which can be shown to be absent from 8640 consecutive BLS signatures will be slashed 100 CELO, have future rewards suppressed, and (most importantly in this case) will be ejected from its current group. diff --git a/_deprecated/what-is-celo/about-celo-l1/validator/voting.mdx b/_deprecated/what-is-celo/about-celo-l1/validator/voting.mdx index 9118780ec..53766028e 100644 --- a/_deprecated/what-is-celo/about-celo-l1/validator/voting.mdx +++ b/_deprecated/what-is-celo/about-celo-l1/validator/voting.mdx @@ -31,7 +31,7 @@ If you hold CELO, or are a beneficiary of a [`ReleaseGold` contract](/what-is-ce CELO that you lock and use to vote for a group that elects one or more Validators receives [epoch rewards](/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards) every epoch (approximately every day) once the community passes a governance proposal enabling rewards. The initial level of rewards is anticipated to be around 6% per annum equivalent (but is subject to change). -Unlike a number of Proof of Stake protocols, **CELO used for voting is never at risk**. The actions of the Validator Groups or Validators you vote for can cause you to receive lower or higher rewards, but the CELO you locked will always be available to be unlocked in the future. [Slashing](/glossary#slashing) in the Celo protocol applies only to Validators and Validator Groups. +Unlike a number of Proof of Stake protocols, **CELO used for voting is never at risk**. The actions of the Validator Groups or Validators you vote for can cause you to receive lower or higher rewards, but the CELO you locked will always be available to be unlocked in the future. [Slashing](/what-is-celo/about-celo-l1/protocol/pos/penalties) in the Celo protocol applies only to Validators and Validator Groups. ## Choosing a Validator Group diff --git a/_deprecated/what-is-celo/using-celo/manage/self-custody.mdx b/_deprecated/what-is-celo/using-celo/manage/self-custody.mdx index 32b774006..e4bea1621 100644 --- a/_deprecated/what-is-celo/using-celo/manage/self-custody.mdx +++ b/_deprecated/what-is-celo/using-celo/manage/self-custody.mdx @@ -259,7 +259,7 @@ celocli lockedgold:show $CELO_RG_ADDRESS ## Vote for a Validator Group -Similar to staking or delegating in other Proof of Stake cryptocurrency protocols, CELO holders can lock CELO and vote for Validator Groups on the Celo network. By doing this, not only do you contribute to the health and security of the network, but you can also earn [epoch rewards](/glossary#epoch-rewards). +Similar to staking or delegating in other Proof of Stake cryptocurrency protocols, CELO holders can lock CELO and vote for Validator Groups on the Celo network. By doing this, not only do you contribute to the health and security of the network, but you can also earn [epoch rewards](/what-is-celo/about-celo-l1/protocol/pos/epoch-rewards). For more details, check out the [Voting for Validators page](/what-is-celo/about-celo-l1/validator/voting), which contains useful background on how voting Validator Elections work, as well as more guidance on how to select a Validator Group to vote for. For now, all you need to know is that: diff --git a/_deprecated/what-is-celo/using-celo/protocol/transaction/transaction-types.mdx b/_deprecated/what-is-celo/using-celo/protocol/transaction/transaction-types.mdx index 5787a4ba4..d8614509f 100644 --- a/_deprecated/what-is-celo/using-celo/protocol/transaction/transaction-types.mdx +++ b/_deprecated/what-is-celo/using-celo/protocol/transaction/transaction-types.mdx @@ -219,7 +219,7 @@ This transaction type is 100% compatible with Ethereum and has no Celo-specific [EIP-7702: Set Code for EOAs](https://eips.ethereum.org/EIPS/eip-7702). - It is scheduled for support on Celo during the - [Celo Isthmus](/cel2/notices/isthmus-upgrade.md) hardfork. + [Celo Isthmus](/infra-partners/notices/isthmus-upgrade) hardfork. ### Legacy Transaction (`0`) diff --git a/build-on-celo/build-with-defi.mdx b/build-on-celo/build-with-defi.mdx index d03b156d1..3c0bb7c64 100644 --- a/build-on-celo/build-with-defi.mdx +++ b/build-on-celo/build-with-defi.mdx @@ -15,10 +15,10 @@ Explore below how to integrate stablecoins, exchanges, and oracles into your nex ## Why Stablecoins Matter -[Stablecoins](build-with-local-stablecoin) are digital assets pegged to a stable reserve, such as fiat currency or a basket of assets. They provide key benefits in DeFi and financial transactions and financial inclusion: +[Stablecoins](/build-on-celo/build-with-local-stablecoin) are digital assets pegged to a stable reserve, such as fiat currency or a basket of assets. They provide key benefits in DeFi and financial transactions and financial inclusion: -Check out ["Build with Stablecoins"](build-with-local-stablecoin) for an extensive list of all stablecoins on Celo. +Check out ["Build with Stablecoins"](/build-on-celo/build-with-local-stablecoin) for an extensive list of all stablecoins on Celo. - **Price Stability** – Unlike volatile cryptocurrencies, stablecoins maintain a predictable value. @@ -42,7 +42,7 @@ Celo supports a vibrant ecosystem of DeFi protocols that utilize stablecoins: ### Exchanges -Find all Exchanges [here](/about-celo/exchanges). For cross-chain exchanges check out the [bridges](/developer/bridges) and [cross-chain messaging](/developer/bridges/cross-chain-messaging) pages. +Find all Exchanges [here](/home/exchanges). For cross-chain exchanges check out the [bridges](/developer/bridges) and [cross-chain messaging](/developer/bridges/cross-chain-messaging) pages. - **[Velodrome](https://velodrome.finance/)** – Velodrome is a decentralized exchange where you can execute low-fee swaps, deposit tokens to earn rewards, and actively participate in the onchain economy. - **[Uniswap](https://app.uniswap.org/)** – Swaps and liquidity pools for stablecoins. diff --git a/contribute-to-celo/community-rpc-nodes/how-it-works.mdx b/contribute-to-celo/community-rpc-nodes/how-it-works.mdx index 2c906d975..c65a691a1 100644 --- a/contribute-to-celo/community-rpc-nodes/how-it-works.mdx +++ b/contribute-to-celo/community-rpc-nodes/how-it-works.mdx @@ -6,7 +6,7 @@ title: "How it works" Following Celo's migration to L2, validators have evolved to serve as RPC node providers for the community. The initial active RPC providers were established in Celo L2's genesis block. Subsequently, elections occur at each epoch's conclusion (approximately every 24 hours) to potentially add or remove nodes from the active set. -This system is based on the [proposal for validator engagement during the transition to L2](https://forum.celo.org/t/proposal-validator-engagement-during-the-transition-to-celo-l2/9700) and [Set The Great Celo Halvening Parameters](https://forum.celo.org/t/set-the-great-celo-halvening-parameters/10455/3). For additional details, see [Epoch Rewards](/about-celo/protocol/epoch-rewards/index) and the related [forum discussion: The Great Celo Halvening – Proposed Tokenomics in the Era of Celo L2](https://forum.celo.org/t/the-great-celo-halvening-proposed-tokenomics-in-the-era-of-celo-l2/9701). For updates make sure to refer to the [Celo Forum](https://forum.celo.org). +This system is based on the [proposal for validator engagement during the transition to L2](https://forum.celo.org/t/proposal-validator-engagement-during-the-transition-to-celo-l2/9700) and [Set The Great Celo Halvening Parameters](https://forum.celo.org/t/set-the-great-celo-halvening-parameters/10455/3). For additional details, see [Epoch Rewards](/home/protocol/epoch-rewards/index) and the related [forum discussion: The Great Celo Halvening – Proposed Tokenomics in the Era of Celo L2](https://forum.celo.org/t/the-great-celo-halvening-proposed-tokenomics-in-the-era-of-celo-l2/9701). For updates make sure to refer to the [Celo Forum](https://forum.celo.org). ****Terminology**** @@ -26,7 +26,7 @@ The election process follows these steps: 3. **Earn rewards**: Participants receive rewards for their involvement, and validators and groups can also vote and earn rewards using their own stake. -The same Locked CELO can simultaneously be used for multiple purposes: voting in RPC node elections, maintaining Community RPC stakes, and participating in on-chain [Governance](/about-celo/protocol/governance/overview) proposals. +The same Locked CELO can simultaneously be used for multiple purposes: voting in RPC node elections, maintaining Community RPC stakes, and participating in on-chain [Governance](/home/protocol/governance/overview) proposals. **No voter slashing** @@ -36,7 +36,7 @@ Unlike in other proof-of-stake systems, holding Locked Gold or voting for a grou ## Implementation -Elections are handled my smart contracts, and as such can be changed through Celo's on-chain [Governance](/about-celo/protocol/governance/overview) process. +Elections are handled my smart contracts, and as such can be changed through Celo's on-chain [Governance](/home/protocol/governance/overview) process. - [`Accounts.sol`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/common/Accounts.sol) manages key delegation and metadata for all accounts including Validators, Groups and Locked Gold holders. diff --git a/contribute-to-celo/community-rpc-nodes/registering-as-rpc-node.mdx b/contribute-to-celo/community-rpc-nodes/registering-as-rpc-node.mdx index a069ce7cb..a299b879e 100644 --- a/contribute-to-celo/community-rpc-nodes/registering-as-rpc-node.mdx +++ b/contribute-to-celo/community-rpc-nodes/registering-as-rpc-node.mdx @@ -230,7 +230,7 @@ celocli account:register-metadata --url $METADATA_URL --from $CELO_NODE_ADDRESS ``` -If your account is a [ReleaseGold contract](/about-celo/manage/release-gold), use the command `celocli releasecelo:set-account` instead. Documentation can be found [here](/cli/releasecelo#celocli-releaseceloset-account). +If your account is a [ReleaseGold contract](/home/manage/release-gold), use the command `celocli releasecelo:set-account` instead. Documentation can be found [here](/cli/releasecelo#celocli-releaseceloset-account). #### Verify Registration @@ -326,6 +326,6 @@ celocli lockedcelo:show $CELO_NODE_ADDRESS ### cUSD Rewards -Active validators receive cUSD rewards based on their validator score, calculated as part of the L2 epoch rewards process (see `EpochRewards.calculateTargetEpochRewards()`). For more details, refer to the [L2 Epoch Rewards documentation](/about-celo/protocol/epoch-rewards/index). +Active validators receive cUSD rewards based on their validator score, calculated as part of the L2 epoch rewards process (see `EpochRewards.calculateTargetEpochRewards()`). For more details, refer to the [L2 Epoch Rewards documentation](/home/protocol/epoch-rewards/index). For reward claiming instructions, see [Claiming Rewards](./community-rpc-node#claiming-rewards). diff --git a/contribute-to-celo/index.mdx b/contribute-to-celo/index.mdx index 613ec41a3..af1e79c8d 100644 --- a/contribute-to-celo/index.mdx +++ b/contribute-to-celo/index.mdx @@ -31,7 +31,7 @@ Welcome to the Celo Ecosystem! Whether you're a user, developer, founder, or con ### As a Contributor -- [**Participate in governance:**](/about-celo/protocol/governance/overview) Engage in current discussions and connect with the ecosystem. +- [**Participate in governance:**](/home/protocol/governance/overview) Engage in current discussions and connect with the ecosystem. - [**Participate in the community:**](https://calendar.google.com/calendar/u/0/r?cid=c_asn0b4c1emdgsq3urlh2ei2dig@group.calendar.google.com) Add the Community Calendar - [**Contribute to local chapters:**](/contribute-to-celo/daos) Connect with the community, offer support, and mentor others. - [**Sign up for Celo Signal:**](https://share.hsforms.com/1Qrhush1vSA2WIamd_yL4ow53n4j) If you are a Node Operator, Dapp Running Its Own Node, Exchange or Custodian, Owner who is Staking and Participating in Governance, or a Core Developer or Contributor diff --git a/contribute-to-celo/release-process/smart-contracts.mdx b/contribute-to-celo/release-process/smart-contracts.mdx index 26bf0849b..6dcf554e4 100644 --- a/contribute-to-celo/release-process/smart-contracts.mdx +++ b/contribute-to-celo/release-process/smart-contracts.mdx @@ -415,7 +415,7 @@ Deploying a new contract release should occur with the following process. On-cha
  • Monitor the progress of the proposal through the{" "} - governance process. + governance process.
    • Currently the governance process should take approximately 1 week: diff --git a/home/bridged-tokens/bridges.mdx b/home/bridged-tokens/bridges.mdx index 63b65fa04..abc7bb970 100644 --- a/home/bridged-tokens/bridges.mdx +++ b/home/bridged-tokens/bridges.mdx @@ -39,7 +39,7 @@ This method is designed to be more secure, efficient and cost-effective, leverag - [Superbridge Alfajores Testnet](https://testnets.superbridge.app/celo-alfajores) - [Superbridge Baklava Testnet](https://testnets.superbridge.app/celo-baklava) -Follow [this guide](/about-celo/bridged-tokens/native-ETH-bridging) to learn how to bridge native ETH and have it auto-wrapped to WETH on Celo. +Follow [this guide](/home/bridged-tokens/native-ETH-bridging) to learn how to bridge native ETH and have it auto-wrapped to WETH on Celo. #### Natively Bridged Tokens on Mainnet diff --git a/home/celo.mdx b/home/celo.mdx index 4392645f1..f1531ee78 100644 --- a/home/celo.mdx +++ b/home/celo.mdx @@ -48,7 +48,7 @@ description: "Celo is an emerging Ethereum Layer 2 built for the real world and - + Discover how Celo L2 is scaling real world use cases on Ethereum @@ -57,7 +57,7 @@ description: "Celo is an emerging Ethereum Layer 2 built for the real world and Dive in to understand our protocol and social impact - + Learn about our protocol and its relationship to Ethereum @@ -97,7 +97,7 @@ description: "Celo is an emerging Ethereum Layer 2 built for the real world and > Explore transactions on Celo - + Bridge Assets across chains @@ -158,7 +158,7 @@ description: "Celo is an emerging Ethereum Layer 2 built for the real world and Vote on Governance Proposals @@ -170,6 +170,6 @@ description: "Celo is an emerging Ethereum Layer 2 built for the real world and --- - New to Celo? Start with the [Celo Overview](/about-celo/) for a complete + New to Celo? Start with the [Celo Overview](/home/index) for a complete introduction to the platform. diff --git a/home/gas-fees.mdx b/home/gas-fees.mdx index 783954e10..952adbd00 100644 --- a/home/gas-fees.mdx +++ b/home/gas-fees.mdx @@ -25,4 +25,4 @@ Bridge assets from other blockchains to CELO using: - [Squid Router V2](https://v2.app.squidrouter.com/?chains=10%2C42220&tokens=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee%2C0x471ece3750da237f93b8e339c536989b8978a438) - [SmolRefeul](https://smolrefuel.com/?outboundChain=42220) (Gas-free) -- [Other Bridges](/about-celo/bridged-tokens/bridges) +- [Other Bridges](/home/bridged-tokens/bridges) diff --git a/home/index.mdx b/home/index.mdx index f274c785f..1370a18d3 100644 --- a/home/index.mdx +++ b/home/index.mdx @@ -59,36 +59,36 @@ Celo is designed for fast, low-cost payments worldwide, making global financial Celo offers flexible gas fees that can be paid in various tokens (CELO, cUSD, cEUR, and even ETH in some wallets). This makes onboarding simpler for users new to crypto. -- [Learn about gas fees and getting CELO](/about-celo/gas-fees) +- [Learn about gas fees and getting CELO](/home/gas-fees) - Acquire Celo assets on [major exchanges](https://coinmarketcap.com/currencies/celo/markets/) ### Cross-Chain Bridges Move assets between Celo and other blockchain networks like Ethereum, Polygon, and Solana using bridges: -- [View all available bridges](/about-celo/bridged-tokens/bridges) +- [View all available bridges](/home/bridged-tokens/bridges) - Popular options include [Squid Router](https://v2.app.squidrouter.com/), and [SmolRefuel](https://smolrefuel.com/?outboundChain=42220) (gas-free) ### Decentralized Exchanges Swap and trade assets within the Celo ecosystem: -- [Explore Celo exchanges](/about-celo/exchanges) +- [Explore Celo exchanges](/home/exchanges) - Popular choices include [Uniswap](https://app.uniswap.org/), [Ubeswap](https://app.ubeswap.org/#/swap), and [Mento](https://app.mento.org/) for stablecoin swaps ### Asset Management -- [Self-Custody CELO](/about-celo/manage/self-custody) - Securely manage your own keys -- [ReleaseGold](/about-celo/manage/release-gold) - Understand time-locked CELO distributions -- [Exchange Assets](/about-celo/manage/exchange) - Trade between Celo assets -- [Asset Management](/about-celo/manage/asset) - Advanced asset operations +- [Self-Custody CELO](/home/manage/self-custody) - Securely manage your own keys +- [ReleaseGold](/home/manage/release-gold) - Understand time-locked CELO distributions +- [Exchange Assets](/home/manage/exchange) - Trade between Celo assets +- [Asset Management](/home/manage/asset) - Advanced asset operations ## Participating in the Network As a Celo token holder, you can actively participate in the network's governance: -- [Voting on Governance](/about-celo/protocol/governance/voting-in-governance) - Participate in Celo governance decisions -- [Governance Parameters](/about-celo/protocol/governance/governable-parameters) - Reference all governable parameters +- [Voting on Governance](/home/protocol/governance/voting-in-governance) - Participate in Celo governance decisions +- [Governance Parameters](/home/protocol/governance/governable-parameters) - Reference all governable parameters ## Getting Support @@ -98,5 +98,5 @@ For questions, comments, and discussions, connect with the Celo community: - [Discord](https://chat.celo.org/) -New to Celo? Start with the [Celo Overview](/about-celo/) for a complete introduction to the platform. +New to Celo? Start with the [Celo Overview](/home/index) for a complete introduction to the platform. \ No newline at end of file diff --git a/home/manage/self-custody.mdx b/home/manage/self-custody.mdx index 4f0f9a88d..58ee242e6 100644 --- a/home/manage/self-custody.mdx +++ b/home/manage/self-custody.mdx @@ -21,7 +21,7 @@ This guide assumes: - You are self-custodying (you hold the private key to your address), and that you have provided that address directly to cLabs. If you are using a custody provider ([Anchorage](https://anchorage.com), [CoinList](https://coinlist.co), or others), please contact them for directions. -- Your address is the beneficiary of a [ReleaseGold](/about-celo/manage/release-gold) contract, which releases CELO programmatically to a beneficiary over a period of time. +- Your address is the beneficiary of a [ReleaseGold](/home/manage/release-gold) contract, which releases CELO programmatically to a beneficiary over a period of time. - You have been informed by cLabs that the `ReleaseGold` instance corresponding to your address has been deployed. @@ -115,7 +115,7 @@ First, copy the beneficiary address into the clipboard, and set it in an environ export CELO_BENEFICIARY_ADDRESS= ``` -Next, you will find the address of the `ReleaseGold` contract deployed for your beneficiary address. The `ReleaseGold` contract has its own address and is separate from the beneficiary address, but there are certain aspects of it that can be controlled only by the beneficiary. For more details, please refer to the [Understanding ReleaseGold page](/about-celo/manage/release-gold). +Next, you will find the address of the `ReleaseGold` contract deployed for your beneficiary address. The `ReleaseGold` contract has its own address and is separate from the beneficiary address, but there are certain aspects of it that can be controlled only by the beneficiary. For more details, please refer to the [Understanding ReleaseGold page](/home/manage/release-gold). Open the list of [all ReleaseGold deployments](https://storage.googleapis.com/celo-website/releasegold/CeloMainnetReleaseGoldAll.json) and locate your address (use Edit>Find in your browser, then paste the beneficiary address). Copy the matching value next to `ContractAddress` into your clipboard. @@ -141,7 +141,7 @@ Next, check the details of your `ReleaseGold` contract: celocli releasecelo:show --contract $CELO_RG_ADDRESS ``` -Verify the configuration, balance, and beneficiary details. You can find an explanation of these parameters on the [ReleaseGold](/about-celo/manage/release-gold) page. +Verify the configuration, balance, and beneficiary details. You can find an explanation of these parameters on the [ReleaseGold](/home/manage/release-gold) page. If any of these details appear to be incorrect, please contact cLabs, and do not proceed with the remainder of this guide. @@ -260,7 +260,7 @@ celocli lockedgold:show $CELO_RG_ADDRESS ## Vote for a Validator Group -Similar to staking or delegating in other Proof of Stake cryptocurrency protocols, CELO holders can lock CELO and vote for Validator Groups on the Celo network. By doing this, not only do you contribute to the health and security of the network, but you can also earn [epoch rewards](/glossary#epoch-rewards). +Similar to staking or delegating in other Proof of Stake cryptocurrency protocols, CELO holders can lock CELO and vote for Validator Groups on the Celo network. By doing this, not only do you contribute to the health and security of the network, but you can also earn [epoch rewards](/home/protocol/epoch-rewards). For more details, check out the [Voting for Validators page](/legacy/validator/voting), which contains useful background on how voting Validator Elections work, as well as more guidance on how to select a Validator Group to vote for. For now, all you need to know is that: @@ -356,11 +356,11 @@ Or by searching for your `ReleaseGold` address on the [Block Explorer](https://e You are now set up to participate in the Celo network! -You might want to read more about [choosing a Validator Group](/legacy/validator/voting) to vote for, and how [voter rewards](/about-celo/protocol/epoch-rewards/index) are calculated. You can vote for up to ten different Groups from a single account. +You might want to read more about [choosing a Validator Group](/legacy/validator/voting) to vote for, and how [voter rewards](/home/protocol/epoch-rewards/index) are calculated. You can vote for up to ten different Groups from a single account. -Now you've locked CELO, you can use it to participate in voting for or against [Governance proposals](/about-celo/protocol/governance/voting-in-governance). You can do this without affecting any vote you have made for Validator Groups. +Now you've locked CELO, you can use it to participate in voting for or against [Governance proposals](/home/protocol/governance/voting-in-governance). You can do this without affecting any vote you have made for Validator Groups. -You can also read more about how Celo's [Proof of Stake](/legacy/protocol/pos/index/) and on-chain [Governance](/about-celo/protocol/governance/overview) mechanisms work. +You can also read more about how Celo's [Proof of Stake](/legacy/protocol/pos/index/) and on-chain [Governance](/home/protocol/governance/overview) mechanisms work. ## Revoking Votes diff --git a/home/protocol/governance/overview.mdx b/home/protocol/governance/overview.mdx index e80e02e10..f4a1bf844 100644 --- a/home/protocol/governance/overview.mdx +++ b/home/protocol/governance/overview.mdx @@ -21,7 +21,7 @@ For a detailed explanation of the entire governance process, and to view the lat Changes are managed via the Celo `Governance` smart contract. This contract acts as an "owner" for making modifications to other protocol smart contracts. Such smart contracts are termed **governable**. The `Governance` contract itself is governable, and owned by itself. -Pleas follow [this guide to create a proposal](/about-celo/protocol/governance/create-governance-proposal), but make sure to go through this page to fully understand the process before you do so. +Pleas follow [this guide to create a proposal](/home/protocol/governance/create-governance-proposal), but make sure to go through this page to fully understand the process before you do so. ## Phases diff --git a/home/protocol/governance/voting-in-governance-using-mondo.mdx b/home/protocol/governance/voting-in-governance-using-mondo.mdx index 2c12cc4e3..641533156 100644 --- a/home/protocol/governance/voting-in-governance-using-mondo.mdx +++ b/home/protocol/governance/voting-in-governance-using-mondo.mdx @@ -35,4 +35,4 @@ To stay up-to-date with all governance activities and proposals: - Add the [Celo Signal public calendar](https://calendar.google.com/calendar/u/0/embed?src=c_9su6ich1uhmetr4ob3sij6kaqs@group.calendar.google.com) to track important dates and events - Follow discussions on the [Celo Forum](https://forum.celo.org/) in the Governance category -For more comprehensive information about Celo's governance system, see the [Governance Overview](/about-celo/protocol/governance/overview) and [Voting in Governance](/about-celo/protocol/governance/voting-in-governance) guides. \ No newline at end of file +For more comprehensive information about Celo's governance system, see the [Governance Overview](/home/protocol/governance/overview) and [Voting in Governance](/home/protocol/governance/voting-in-governance) guides. \ No newline at end of file diff --git a/home/protocol/governance/voting-in-governance.mdx b/home/protocol/governance/voting-in-governance.mdx index 666a13e58..991b5bc97 100644 --- a/home/protocol/governance/voting-in-governance.mdx +++ b/home/protocol/governance/voting-in-governance.mdx @@ -10,7 +10,7 @@ How to use the [Celo CLI](/cli/) to participate in Goverance and create a Govern ## Governance -Celo uses a formal on-chain governance mechanism to manage and upgrade the protocol. More information about the Governance system can be found in the [Governance overview](/about-celo/protocol/governance/overview). +Celo uses a formal on-chain governance mechanism to manage and upgrade the protocol. More information about the Governance system can be found in the [Governance overview](/home/protocol/governance/overview). In the following commands `` is used as a placeholder for something you should specify on the command line. @@ -27,7 +27,7 @@ celocli governance:list Included will be three lists of proposals by status: - **Queued** proposals have been submitted, but are not yet being considered. Voters can upvote proposals in this list, and proposals with the most upvotes from this list will be moved from the queue to be considered. -- **Dequeued** proposals are actively being considered and will pass through the Approval, Referendum, and Execution stages, as discussed in the [Governance overview](/about-celo/protocol/governance/overview). +- **Dequeued** proposals are actively being considered and will pass through the Approval, Referendum, and Execution stages, as discussed in the [Governance overview](/home/protocol/governance/overview). - **Expired** proposals are no longer being considered. ## Understanding Proposal Details @@ -98,7 +98,7 @@ celocli governance:upvote --proposalID= --from= At a defined frequency, which can be checked with the `celocli network:parameters` command, proposals can be dequeued, with the highest upvoted proposals being dequeued first. After a proposal is dequeued, it will first enter the Approval phase. -In this phase, the [Governance Approver](/about-celo/protocol/governance/overview#approval) may choose to approve the proposal, which will allow it to proceed to the Referendum phase after the configured length of time. +In this phase, the [Governance Approver](/home/protocol/governance/overview#approval) may choose to approve the proposal, which will allow it to proceed to the Referendum phase after the configured length of time. Once a proposal has reached the Referendum phase, it is open to community for voting. @@ -179,4 +179,4 @@ To stay up-to-date with all governance activities and proposals: - Add the [Celo Signal public calendar](https://calendar.google.com/calendar/u/0/embed?src=c_9su6ich1uhmetr4ob3sij6kaqs@group.calendar.google.com) to track important dates and events - Follow discussions on the [Celo Forum](https://forum.celo.org/) in the Governance category -For more comprehensive information about Celo's governance system, see the [Governance Overview](/about-celo/protocol/governance/overview) and [Voting in Governance](/about-celo/protocol/governance/voting-in-governance) guides. \ No newline at end of file +For more comprehensive information about Celo's governance system, see the [Governance Overview](/home/protocol/governance/overview) and [Voting in Governance](/home/protocol/governance/voting-in-governance) guides. \ No newline at end of file diff --git a/home/protocol/index.mdx b/home/protocol/index.mdx index e4de31814..d8c964159 100644 --- a/home/protocol/index.mdx +++ b/home/protocol/index.mdx @@ -28,7 +28,7 @@ In addition to the blockchain client, there are some core components of the Celo There are a number of substantial changes and additions have been made in service of Celo's product goals, including the following: - [Consensus](/legacy/protocol/consensus/index) -- [Governance](/about-celo/protocol/governance/overview) +- [Governance](/home/protocol/governance/overview) - [Stability Mechanism - Mento](https://www.mento.org/) - [Transactions](/legacy/protocol/transaction/index) - [Identity - Self](https://self.xyz/) \ No newline at end of file diff --git a/infra-partners/integration/cloud-hsm.mdx b/infra-partners/integration/cloud-hsm.mdx index a8d14d07c..4a1656530 100644 --- a/infra-partners/integration/cloud-hsm.mdx +++ b/infra-partners/integration/cloud-hsm.mdx @@ -101,7 +101,7 @@ Now that your environment variables are set, we just need to let `celocli` know celocli account:list --useAKV --azureVaultName $AZURE_VAULT_NAME ``` -Your Key Vault address will show up under "Local Addresses". If you'd like to use this key as your vote signer key, you can follow [this guide](/about-celo/protocol/governance/voting-in-governance) and replace `--useLedger` with `--useAKV --azureVaultName $AZURE_VAULT_NAME`. +Your Key Vault address will show up under "Local Addresses". If you'd like to use this key as your vote signer key, you can follow [this guide](/home/protocol/governance/voting-in-governance) and replace `--useLedger` with `--useAKV --azureVaultName $AZURE_VAULT_NAME`. ## Connecting ContractKit to KeyVault diff --git a/infra-partners/integration/custody.mdx b/infra-partners/integration/custody.mdx index 2b000b3af..80096460a 100644 --- a/infra-partners/integration/custody.mdx +++ b/infra-partners/integration/custody.mdx @@ -66,19 +66,11 @@ Once CELO has been locked via `LockedGold`, it can then be used to vote for vali The `votes` in this contract are tracked by a [Votes type](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/Election.sol#L87) which has `pending`, `active`, and `total` votes. Pending votes are those that have been cast for a validator group, and active votes are those that have been activated after an epoch, meaning that these votes generate voter rewards. -Votes are cast for a validator group using the [`vote` function](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/Election.sol#L229). This increments the `pending` and `total` votes in the `Election` contract, and decrements the equivalent amount of CELO from the `nonvoting` balance in the `LockedGold` contract, for the associated account. - -The [`activate` function](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/Election.sol#L263) can then be called to shift `pending` votes into `active` votes in a following epoch. Votes in either state can then be revoked, which decrements votes from the `Election` contract and returns them to the `LockedGold` balance for the associated account. Users can revoke votes at any time and this takes effect instantly. - -### ReleaseGold - -A common problem in other proof-of-stake protocols is the tension between wanting early token holders' balances to release over time to ensure long-term alignment, while also wanting them to be able to participate in consensus to increase the security of the network. To bridge both goals, many early token balances in the Celo network are released via the [`ReleaseGold`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol) contract. Beneficiaries of these contracts can then participate in the proof-of-stake system by staking and voting with CELO that has not yet been "released" for transfers. Please find more high level information about the `ReleaseGold` contract [here](/about-celo/manage/release-gold). From a technical perspective, `ReleaseGold` can be thought of as a "puppet" account controlled by the "puppeteer", or the beneficiary private key corresponding to the `beneficiary` address in the contract. This beneficiary key can then authorize validator signer and vote signer keys that can then call respective functions associated with validating or voting. Most of the required function calls described above can be made by the signer keys directly to the `LockedGold` or `Election` contracts associated with the `ReleaseGold` account. However, some functions in the `ReleaseGold` contract are proxied to the underlying `LockedGold` or `Election` contracts, and have a separate function signature that can be called by the `beneficiary` address. Notably: - [`createAccount`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol#L669) - [`authorizeVoteSigner`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol#L525) and similar functions for other signer keys -- [`lockGold`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol#L469) and [`unlockGold`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/governance/ReleaseGold.sol#L477) Notice that all these functions have corresponding functions that are called on the underlying contract. The `ReleaseGold` contract can then just be thought of as brokering the transaction to the correct place, when necessary. diff --git a/infra-partners/integration/listings.mdx b/infra-partners/integration/listings.mdx index 2d7c24872..80d455ab0 100644 --- a/infra-partners/integration/listings.mdx +++ b/infra-partners/integration/listings.mdx @@ -41,7 +41,7 @@ For more specific use-cases for exchanges, please checkout the [Custody and Exch ### 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. +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](/tooling/overview/migrate/from-ethereum#the-celo-native-asset-and-the-celo-dollar) section of the docs. 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). @@ -144,19 +144,18 @@ Recently completed (past 24h) trades. $ curl https://thecelo.com/api/v0.1.js?method=ex_celocusd {"code":"200","msg":"success","data":{"CELO_CUSD":[{"trade_id":2697341,"timestamp":1601061491,"price":0.38238291620515147,"quote_volume":25,"base_volume":65.37948987916423,"type":"Sell"},{"trade_id":2697336,"timestamp":1601061466,"price":0.382293821845672,"quote_volume":25,"base_volume":65.39472670341044,"type":"Sell"}]}} -``` ### Whitepapers 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](/about-celo) page. +If you need more information to explore other aspects of the Celo Protocol, there's a [useful links](/home/index) page. To learn more about the Stability Mechanism, you can find it over [here](/legacy/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 currencies 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/). +{{ ... }} ### Github The Celo Protocol GitHub is located [here.](https://github.com/celo-org/) diff --git a/learn/add-gas-currency.mdx b/learn/add-gas-currency.mdx index dc344e8a8..34fcfc0aa 100644 --- a/learn/add-gas-currency.mdx +++ b/learn/add-gas-currency.mdx @@ -50,7 +50,7 @@ Sorted Oracles was originally designed to support the [Mento protocol](https://w ## Governance Process -To enable a token as gas currency, two [governance proposals](/about-celo/protocol/governance/overview) need to be passed. +To enable a token as gas currency, two [governance proposals](/home/protocol/governance/overview) need to be passed. ### Enabling the Oracle diff --git a/learn/celo-highlights.mdx b/learn/celo-highlights.mdx index 698329880..d0d17c4c5 100644 --- a/learn/celo-highlights.mdx +++ b/learn/celo-highlights.mdx @@ -99,7 +99,7 @@ Users have access to and fully control their funds and account keys, and don't n 110 Globally ``` -Celo has a validator set with a current size of 110 validators. Validators are elected to this set on a daily basis; typically more validators stand for election than seats available. The validator set size may be raised in the future through the [on-chain governance](/about-celo/protocol/governance/overview) process. +Celo has a validator set with a current size of 110 validators. Validators are elected to this set on a daily basis; typically more validators stand for election than seats available. The validator set size may be raised in the future through the [on-chain governance](/home/protocol/governance/overview) process. **Total Blocks** diff --git a/learn/celo-resources.mdx b/learn/celo-resources.mdx index 35be77e91..81ca0766c 100644 --- a/learn/celo-resources.mdx +++ b/learn/celo-resources.mdx @@ -10,8 +10,8 @@ Curated collection of Celo resources for developers, designers, dreamers, and do ## Developer Guide -- [Local Development Chain with Protocol Contracts](/developer/setup/development-chain) -- [Celo for Ethereum Developers](/developer/migrate/from-ethereum) +- [Local Development Chain with Protocol Contracts](/tooling/overview/setup/development-chain) +- [Celo for Ethereum Developers](/tooling/overview/migrate/from-ethereum) ## Tech Talks diff --git a/learn/developer-onboarding.mdx b/learn/developer-onboarding.mdx index beeb6a01d..212e5b216 100644 --- a/learn/developer-onboarding.mdx +++ b/learn/developer-onboarding.mdx @@ -29,15 +29,15 @@ If you’re unfamiliar with any of these topics, here’s a few places to get st - [Celo Decentralized Application Examples](https://celohub.org/) - [Celo Architecture](/build/cel2-architecture) - [Celo Tech Talks Simplifying blockchain development with the Celo SDK](https://www.youtube.com/watch?v=Rg33B0E2DTM&list=PLsQbsop73cfGmUdABArPaXagPB2EpBkNc&index=2) -- [Celo Developer Tools](../developer/index.md) +- [Celo Developer Tools](/build-on-celo/quickstart) - [A Look at the Celo Stability Analysis White Paper](https://medium.com/celoorg/a-look-at-the-celo-stability-analysis-white-paper-part-1-23edd5ef8b5) - [Celo Whitepapers](https://celo.org/papers) ## Set up Local Environment -- [Using Windows](/developer/setup/windows) -- [Using Mac](/developer/setup/mac) -- [Using Replit](/developer/setup/replit) +- [Using Windows](/tooling/overview/setup/windows) +- [Using Mac](/tooling/overview/setup/mac) +- [Using Replit](/tooling/overview/setup/replit) ## Deploy a dApp with Celo diff --git a/legacy/faq.mdx b/legacy/faq.mdx index d82ca4d27..876ceda5b 100644 --- a/legacy/faq.mdx +++ b/legacy/faq.mdx @@ -78,7 +78,7 @@ There are multiple options. -[Governance](/about-celo/protocol/governance/overview) remains a pillar of the Celo blockchain. The Validator Hotfix process has been adapted, see [Updated Governance Hotfix](https://specs.celo.org/l2_migration.html#updated-governance-hotfix) for the changes. +[Governance](/home/protocol/governance/overview) remains a pillar of the Celo blockchain. The Validator Hotfix process has been adapted, see [Updated Governance Hotfix](https://specs.celo.org/l2_migration.html#updated-governance-hotfix) for the changes. diff --git a/legacy/protocol/pos/epoch-rewards-locked-gold.mdx b/legacy/protocol/pos/epoch-rewards-locked-gold.mdx index 6d5618d34..48367bbf6 100644 --- a/legacy/protocol/pos/epoch-rewards-locked-gold.mdx +++ b/legacy/protocol/pos/epoch-rewards-locked-gold.mdx @@ -14,7 +14,7 @@ This page describes the historical Celo Layer 1 blockchain. It is useful for und ## Introduction to Locked CELO Rewards -Holders of Locked CELO that voted in the previous epoch for a group that elected one or more validators and have activated their votes are eligible for rewards. Rewards are added directly to the Locked CELO voting for that group, and re-applied as votes for that same group, so future rewards are compounded without the account holder needing to take any action. The voting process is described further [here](/about-celo/protocol/epoch-rewards/index). +Holders of Locked CELO that voted in the previous epoch for a group that elected one or more validators and have activated their votes are eligible for rewards. Rewards are added directly to the Locked CELO voting for that group, and re-applied as votes for that same group, so future rewards are compounded without the account holder needing to take any action. The voting process is described further [here](/home/protocol/epoch-rewards/index). Rewards to Locked CELO are totally independent from validator and validator group rewards, and are not subject to the **group share**. diff --git a/legacy/protocol/pos/epoch-rewards.mdx b/legacy/protocol/pos/epoch-rewards.mdx index ffcab63f5..a5604f12c 100644 --- a/legacy/protocol/pos/epoch-rewards.mdx +++ b/legacy/protocol/pos/epoch-rewards.mdx @@ -19,9 +19,9 @@ This page describes the historical Celo Layer 1 blockchain. It is useful for und **Epoch rewards are paid in the final block of the epoch and are used to:** - Distributed [rewards for validators and validator groups](/legacy/protocol/pos/epoch-rewards-validator) -- Distribute [rewards to holders of Locked CELO](/about-celo/protocol/epoch-rewards/index) voting for groups that elected validators -- Make payments into a [Community Fund](/about-celo/protocol/epoch-rewards/community-fund) for protocol infrastructure grants -- Make payments into a [Carbon Offsetting Fund](/about-celo/protocol/epoch-rewards/carbon-offsetting-fund) for carbon offsetting projects +- Distribute [rewards to holders of Locked CELO](/home/protocol/epoch-rewards/index) voting for groups that elected validators +- Make payments into a [Community Fund](/home/protocol/epoch-rewards/community-fund) for protocol infrastructure grants +- Make payments into a [Carbon Offsetting Fund](/home/protocol/epoch-rewards/carbon-offsetting-fund) for carbon offsetting projects A total of 400 million CELO will be released for epoch rewards over time. CELO is a utility and governance asset on Celo, and also the reserve collateral for Celo Dollar (and possibly in the future other whitelisted tokens). It has a fixed total supply and in the long term will exhibit deflationary characteristics similarly to Ethereum. diff --git a/legacy/protocol/pos/index.mdx b/legacy/protocol/pos/index.mdx index 938683848..2c0bceb81 100644 --- a/legacy/protocol/pos/index.mdx +++ b/legacy/protocol/pos/index.mdx @@ -38,7 +38,7 @@ The first set of active validators are determined in the genesis block. Thereaft In Celo's [Validator Elections](/legacy/protocol/pos/validator-elections), holders of the native asset, CELO, may participate and earn rewards for doing so. Accounts do not make votes for validators directly, but instead vote for [validator groups](/legacy/protocol/pos/validator-groups). -Before they can vote, holders of CELO move balances into the [Locked Gold](/legacy/protocol/pos/locked-gold) smart contract. Locked Gold can be used concurrently for: placing votes in Validator Elections, maintaining a stake to satisfy the requirements of registering as a validator or validator group, and also voting in on-chain [Governance](/about-celo/protocol/governance/overview) proposals. This means that validators and groups can vote and earn rewards with their stake. +Before they can vote, holders of CELO move balances into the [Locked Gold](/legacy/protocol/pos/locked-gold) smart contract. Locked Gold can be used concurrently for: placing votes in Validator Elections, maintaining a stake to satisfy the requirements of registering as a validator or validator group, and also voting in on-chain [Governance](/home/protocol/governance/overview) proposals. This means that validators and groups can vote and earn rewards with their stake. **note** @@ -48,7 +48,7 @@ Unlike in other proof-of-stake systems, holding Locked Gold or voting for a grou ## Implementation -Most of Celo's proof-of-stake mechanism is implemented as smart contracts, and as such can be changed through Celo's on-chain [Governance](/about-celo/protocol/governance/overview) process. +Most of Celo's proof-of-stake mechanism is implemented as smart contracts, and as such can be changed through Celo's on-chain [Governance](/home/protocol/governance/overview) process. - [`Accounts.sol`](https://github.com/celo-org/celo-monorepo/blob/master/packages/protocol/contracts/common/Accounts.sol) manages key delegation and metadata for all accounts including Validators, Groups and Locked Gold holders. diff --git a/legacy/protocol/pos/locked-gold.mdx b/legacy/protocol/pos/locked-gold.mdx index f7ddebed8..35d88eba2 100644 --- a/legacy/protocol/pos/locked-gold.mdx +++ b/legacy/protocol/pos/locked-gold.mdx @@ -50,13 +50,13 @@ The flow is as follows: - The pending vote continues to contribute towards electing validators until it is changed, but the account must call `activate` (in a subsequent epoch to the one in which the vote was made) to convert the pending vote to one that earns rewards. -- At the end of that epoch, if the group for which the vote was made had elected one or more validators in the prior election, then the activated vote is eligible for [Locked CELO rewards](/about-celo/protocol/epoch-rewards/index). These are applied to the pool of activated votes for the group. This means that activated voting Locked CELO automatically compounds, with the rewards increasing the account's votes for the same group, thereby increasing future rewards, benefitting participants who have elected to continuously participate in governance. +- At the end of that epoch, if the group for which the vote was made had elected one or more validators in the prior election, then the activated vote is eligible for [Locked CELO rewards](/home/protocol/epoch-rewards/index). These are applied to the pool of activated votes for the group. This means that activated voting Locked CELO automatically compounds, with the rewards increasing the account's votes for the same group, thereby increasing future rewards, benefitting participants who have elected to continuously participate in governance. - The account may subsequently choose to `unvote` a specific amount of voting Locked CELO from a group, up to the total balance that the account has accrued there. Due to rewards, this Locked CELO amount may be higher than the original value passed to `vote`. - This Locked CELO immediately becomes non-voting, receives no further Epoch Rewards, and can be re-used to vote for a different group. -- The account may choose to `unlock` an amount of Locked CELO at any time, provided that it is inactive: this means it is non-voting in Validator Elections, the `deregistrationPeriod` has elapsed if the amount has been used as a validator or validator group stake, and not active in any [Governance proposals](/about-celo/protocol/governance/overview). Once an unlocking period of 3 days has passed, the account can call `withdraw` to have the `LockedGold` contract transfer them that amount. +- The account may choose to `unlock` an amount of Locked CELO at any time, provided that it is inactive: this means it is non-voting in Validator Elections, the `deregistrationPeriod` has elapsed if the amount has been used as a validator or validator group stake, and not active in any [Governance proposals](/home/protocol/governance/overview). Once an unlocking period of 3 days has passed, the account can call `withdraw` to have the `LockedGold` contract transfer them that amount. Votes persist between epochs, and the same vote is applied to each election unless and until it is changed. Vote withdrawal, vote changes, and additional CELO being used to vote have no effect on the validator set until the election finalizes at the end of the epoch. @@ -72,4 +72,4 @@ The governance participants who cannot actively participate to vote on governanc Currently, participants can only delegate to 10 other delegatees. -Participants can follow the steps [here](/about-celo/protocol/governance/voting-in-governance#vote-delegation) to perform delegation using CeloCLI. \ No newline at end of file +Participants can follow the steps [here](/home/protocol/governance/voting-in-governance#vote-delegation) to perform delegation using CeloCLI. \ No newline at end of file diff --git a/legacy/protocol/pos/penalties.mdx b/legacy/protocol/pos/penalties.mdx index 65117f248..165511c08 100644 --- a/legacy/protocol/pos/penalties.mdx +++ b/legacy/protocol/pos/penalties.mdx @@ -37,7 +37,7 @@ There are three categories of slashing conditions: Provable slashing conditions cannot be initiated automatically on chain but information provided from an external source can be definitively verified on-chain. -In exchange for sending a transaction which initiates a successful provable slashing condition on-chain, the reporter receives a "reward", a portion of the slashed amount (which will always be greater than the gas costs of the proof). The reward is added to the reporter's balance of non-voting LockedGold. The remainder of the slashed amount is sent to the [Community Fund](/about-celo/protocol/epoch-rewards/community-fund). +In exchange for sending a transaction which initiates a successful provable slashing condition on-chain, the reporter receives a "reward", a portion of the slashed amount (which will always be greater than the gas costs of the proof). The reward is added to the reporter's balance of non-voting LockedGold. The remainder of the slashed amount is sent to the [Community Fund](/home/protocol/epoch-rewards/community-fund). - **Persistent downtime -** A validator which can be shown to be absent from 8640 consecutive BLS signatures will be slashed 100 CELO, have future rewards suppressed, and (most importantly in this case) will be ejected from its current group. @@ -45,4 +45,4 @@ In exchange for sending a transaction which initiates a successful provable slas ### **Governed** -For misbehavior which is harder to formally classify and requires some off-chain knowledge, slashing can be performed via [governance proposals](/about-celo/protocol/governance/overview). These conditions are important for preventing nuanced validator attacks. \ No newline at end of file +For misbehavior which is harder to formally classify and requires some off-chain knowledge, slashing can be performed via [governance proposals](/home/protocol/governance/overview). These conditions are important for preventing nuanced validator attacks. \ No newline at end of file diff --git a/legacy/protocol/transaction/erc20-transaction-fees.mdx b/legacy/protocol/transaction/erc20-transaction-fees.mdx index d0b70f4eb..1ad6ea3b0 100644 --- a/legacy/protocol/transaction/erc20-transaction-fees.mdx +++ b/legacy/protocol/transaction/erc20-transaction-fees.mdx @@ -19,7 +19,7 @@ The protocol maintains a governable allowlist of smart contract addresses which ## Allowlisted Gas Fee Addresses -To obtain a list of the gas fee addresses that have been allowlisted using [Celo's Governance Process](/about-celo/protocol/governance/overview), you can run the `getCurrencies` method on the `FeeCurrencyDirectory` contract. All other notable Mainnet core smart contracts are listed [here](/contracts/core-contracts#celo-mainnet). +To obtain a list of the gas fee addresses that have been allowlisted using [Celo's Governance Process](/home/protocol/governance/overview), you can run the `getCurrencies` method on the `FeeCurrencyDirectory` contract. All other notable Mainnet core smart contracts are listed [here](/contracts/core-contracts#celo-mainnet). ### Tokens with Adapters diff --git a/legacy/validator/key-management/detailed.mdx b/legacy/validator/key-management/detailed.mdx index 20e8f4e46..5b871c651 100644 --- a/legacy/validator/key-management/detailed.mdx +++ b/legacy/validator/key-management/detailed.mdx @@ -38,7 +38,7 @@ celocli account:register --from $ADDRESS_TO_DESIGNATE --useLedger celocli account:show $ADDRESS_TO_DESIGNATE ``` -Note that [ReleaseGold](/about-celo/manage/release-gold) beneficiary keys are considered vanilla Celo accounts with respect to proof-of-stake, and that the `ReleaseGold` contract address is what ultimately gets designated as a Locked CELO Account. +Note that [ReleaseGold](/home/manage/release-gold) beneficiary keys are considered vanilla Celo accounts with respect to proof-of-stake, and that the `ReleaseGold` contract address is what ultimately gets designated as a Locked CELO Account. ## Authorized Vote Signers diff --git a/legacy/validator/voting.mdx b/legacy/validator/voting.mdx index 65289e32a..b00df5e90 100644 --- a/legacy/validator/voting.mdx +++ b/legacy/validator/voting.mdx @@ -27,11 +27,11 @@ You can add the [Celo Signal public calendar](https://calendar.google.com/calend [Validator elections](/legacy/protocol/pos/validator-elections) are held every epoch (approximately once per day). The protocol elects a maximum of 110 Validators. At each epoch, every elected Validator must be re-elected to continue. Validators are selected [in proportion](/legacy/protocol/pos/validator-elections#running-the-election) to votes received for each Validator Group. -If you hold CELO, or are a beneficiary of a [`ReleaseGold` contract](/about-celo/manage/release-gold) that allows voting, you can vote for Validator Groups. A single account can split their LockedGold balance to have outstanding votes for up to 10 groups. +If you hold CELO, or are a beneficiary of a [`ReleaseGold` contract](/home/manage/release-gold) that allows voting, you can vote for Validator Groups. A single account can split their LockedGold balance to have outstanding votes for up to 10 groups. CELO that you lock and use to vote for a group that elects one or more Validators receives [epoch rewards](/legacy/protocol/pos/epoch-rewards) every epoch (approximately every day) once the community passes a governance proposal enabling rewards. The initial level of rewards is anticipated to be around 6% per annum equivalent (but is subject to change). -Unlike a number of Proof of Stake protocols, **CELO used for voting is never at risk**. The actions of the Validator Groups or Validators you vote for can cause you to receive lower or higher rewards, but the CELO you locked will always be available to be unlocked in the future. [Slashing](/glossary#slashing) in the Celo protocol applies only to Validators and Validator Groups. +Unlike a number of Proof of Stake protocols, **CELO used for voting is never at risk**. The actions of the Validator Groups or Validators you vote for can cause you to receive lower or higher rewards, but the CELO you locked will always be available to be unlocked in the future. [Slashing](/legacy/protocol/pos/penalties) in the Celo protocol applies only to Validators and Validator Groups. ## Choosing a Validator Group diff --git a/scripts/validate-docs.sh b/scripts/validate-docs.sh new file mode 100755 index 000000000..6eb394dab --- /dev/null +++ b/scripts/validate-docs.sh @@ -0,0 +1,156 @@ +#!/bin/bash + +# Documentation Validation Script +# Run this locally before committing changes to catch issues early + +set -e + +echo "🔍 Celo Documentation Validation Script" +echo "========================================" +echo "" + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Track overall success +ALL_PASSED=true + +# Check if Mintlify CLI is installed +echo "Checking for Mintlify CLI..." +if ! command -v mint &> /dev/null; then + echo -e "${RED}❌ Mintlify CLI is not installed${NC}" + echo "Install it with: npm install -g mintlify" + exit 1 +fi +echo -e "${GREEN}✅ Mintlify CLI found${NC}" +echo "" + +# Check if jq is installed +echo "Checking for jq..." +if ! command -v jq &> /dev/null; then + echo -e "${YELLOW}⚠️ jq is not installed (optional, for JSON validation)${NC}" + echo "Install it with: brew install jq (macOS) or apt-get install jq (Linux)" + JQ_AVAILABLE=false +else + echo -e "${GREEN}✅ jq found${NC}" + JQ_AVAILABLE=true +fi +echo "" + +# Validate docs.json +echo "1️⃣ Validating docs.json..." +if [ ! -f "docs.json" ]; then + echo -e "${RED}❌ docs.json not found!${NC}" + ALL_PASSED=false +else + if [ "$JQ_AVAILABLE" = true ]; then + if jq empty docs.json 2>&1; then + echo -e "${GREEN}✅ docs.json is valid JSON${NC}" + + # Check for required fields + if jq -e '.name' docs.json > /dev/null 2>&1; then + echo -e "${GREEN}✅ Required 'name' field present${NC}" + else + echo -e "${RED}❌ Missing required 'name' field${NC}" + ALL_PASSED=false + fi + else + echo -e "${RED}❌ docs.json has invalid JSON syntax${NC}" + ALL_PASSED=false + fi + else + echo -e "${YELLOW}⚠️ Skipping JSON validation (jq not available)${NC}" + fi +fi +echo "" + +# Check for broken links +echo "2️⃣ Checking for broken links..." +# Capture output and check for "found" message +# Temporarily disable exit on error to capture output even if command fails +set +e +BROKEN_LINKS_OUTPUT=$(mint broken-links 2>&1) +BROKEN_LINKS_EXIT_CODE=$? +set -e + +echo "$BROKEN_LINKS_OUTPUT" + +if [ $BROKEN_LINKS_EXIT_CODE -ne 0 ] || echo "$BROKEN_LINKS_OUTPUT" | grep -q "found [1-9][0-9]* broken link"; then + echo -e "${RED}❌ Broken links detected! See output above.${NC}" + ALL_PASSED=false +elif echo "$BROKEN_LINKS_OUTPUT" | grep -q "found 0 broken links"; then + echo -e "${GREEN}✅ No broken links found!${NC}" +else + echo -e "${GREEN}✅ No broken links found!${NC}" +fi +echo "" + +# Check for missing MDX files +echo "3️⃣ Checking for missing MDX files..." +if [ "$JQ_AVAILABLE" = true ]; then + MISSING_FILES=0 + + # Extract all page references and check if files exist + jq -r '.. | .pages? // empty | .[] | select(type == "string")' docs.json 2>/dev/null | while read -r page; do + file_path="${page}.mdx" + + if [ ! -f "$file_path" ] && [ ! -f "${page}.md" ]; then + echo -e "${YELLOW}⚠️ Missing file: $file_path${NC}" + MISSING_FILES=$((MISSING_FILES + 1)) + fi + done + + if [ $MISSING_FILES -eq 0 ]; then + echo -e "${GREEN}✅ All referenced MDX files exist${NC}" + else + echo -e "${YELLOW}⚠️ Some referenced files are missing${NC}" + fi +else + echo -e "${YELLOW}⚠️ Skipping MDX file check (jq not available)${NC}" +fi +echo "" + +# Check for common syntax issues +echo "4️⃣ Checking for common MDX syntax issues..." +SYNTAX_ISSUES=0 + +# Find all MDX files (excluding hidden directories and node_modules) +while IFS= read -r file; do + # Skip if in node_modules or hidden directories + if [[ "$file" == *"node_modules"* ]] || [[ "$file" == *"/.git/"* ]] || [[ "$file" == *"/_deprecated/"* ]]; then + continue + fi + + # Check for obvious syntax errors (self-closing tags that are malformed) + # Look for tags like or /> + if grep -E '<[A-Z][a-zA-Z]*\s+[^>]*$' "$file" | grep -v '>' > /dev/null 2>&1; then + # Only flag if the line truly doesn't have a closing bracket + if grep -E '<[A-Z][a-zA-Z]*\s+[a-zA-Z]+=' "$file" | grep -vE '(>|/>)\s*$' > /dev/null 2>&1; then + echo -e "${YELLOW}⚠️ Potential syntax issue in: $file${NC}" + SYNTAX_ISSUES=$((SYNTAX_ISSUES + 1)) + fi + fi +done < <(find . -type f \( -name "*.mdx" -o -name "*.md" \) 2>/dev/null) + +if [ $SYNTAX_ISSUES -eq 0 ]; then + echo -e "${GREEN}✅ No obvious syntax issues detected${NC}" +else + echo -e "${YELLOW}⚠️ Found $SYNTAX_ISSUES potential syntax issue(s)${NC}" + echo " (Note: Multi-line JSX components are properly handled)" +fi +echo "" + +# Summary +echo "========================================" +echo "📊 Summary" +echo "========================================" +if [ "$ALL_PASSED" = true ]; then + echo -e "${GREEN}🎉 All checks passed! Your documentation looks good.${NC}" + exit 0 +else + echo -e "${RED}⚠️ Some checks failed. Please fix the issues above before committing.${NC}" + exit 1 +fi diff --git a/tooling/contract-verification/foundry.mdx b/tooling/contract-verification/foundry.mdx index dc1033007..cb10c1261 100644 --- a/tooling/contract-verification/foundry.mdx +++ b/tooling/contract-verification/foundry.mdx @@ -8,7 +8,7 @@ Verifying a smart contract allows developers to review your code from within the ## Prerequisites -[Project must be setup using Foundry](../deploy/foundry.md) +[Project must be setup using Foundry](/developer/deploy/foundry) ## Add Celo configuration in `foundry.toml` diff --git a/tooling/dev-environments/hardhat.mdx b/tooling/dev-environments/hardhat.mdx index 0a59fb848..014702bb1 100644 --- a/tooling/dev-environments/hardhat.mdx +++ b/tooling/dev-environments/hardhat.mdx @@ -16,9 +16,9 @@ How to deploy a smart contract to Celo testnet, Mainnet, or a local network usin To deploy on Celo using Hardhat, you should have Celo set up Celo in your local environment. If you prefer to deploy without a local environment, you can deploy using Remix or Replit. -- [Using Windows](/developer/setup/windows) -- [Using Mac](/developer/setup/mac) -- [Using Replit](/developer/setup/replit) +- [Using Windows](/tooling/overview/setup/windows) +- [Using Mac](/tooling/overview/setup/mac) +- [Using Replit](/tooling/overview/setup/replit) ## Create Hardhat Project @@ -41,7 +41,7 @@ Using Celo Ganache CLI creates test accounts at the localhost on port 7545. The ``` -If you choose to [Set up a Local Development Chain](/developer/setup/development-chain), your blockchain will also be hosted on a private network on localhost. This same configuration can be used to connect to the local development chain. +If you choose to [Set up a Local Development Chain](/tooling/overview/setup/development-chain), your blockchain will also be hosted on a private network on localhost. This same configuration can be used to connect to the local development chain. ### Connect to Testnet using Forno diff --git a/tooling/nodes/overview.mdx b/tooling/nodes/overview.mdx index 07a872eec..fb5cff48f 100644 --- a/tooling/nodes/overview.mdx +++ b/tooling/nodes/overview.mdx @@ -16,7 +16,7 @@ Running your own Celo node gives you direct access to the blockchain without rel ## Use a Community RPC Node -As part of the [migration from L1 to L2](/about-celo/history), Celo Validators have become [Community RPC providers](contribute-to-celo/community-rpc-nodes/community-rpc-node.mdx). +As part of the [migration from L1 to L2](/home/history), Celo Validators have become [Community RPC providers](contribute-to-celo/community-rpc-nodes/community-rpc-node.mdx). They are discoverable through the following: - Install [Celo CLI](/cli/) at version 6.1.0 or later. Then run: `celocli network:community-rpc-nodes`. diff --git a/tooling/oracles/run.mdx b/tooling/oracles/run.mdx index aa73d3e24..3190a673f 100644 --- a/tooling/oracles/run.mdx +++ b/tooling/oracles/run.mdx @@ -118,7 +118,7 @@ As soon as governance enables it, the node should start reporting automatically. ## Governance -The last step to run an oracle is to enable their addresses on-chain using the [Celo Governance Process](/about-celo/protocol/governance/overview). Only addresses allowed by governance are allowed to report. Thus, the first step to spin up a new oracle is creating a governance proposal and submit on-chain for community voting. An example of such a proposal can be found [here](https://github.com/celo-org/governance/blob/main/CGPs/cgp-0057.md). +The last step to run an oracle is to enable their addresses on-chain using the [Celo Governance Process](/home/protocol/governance/overview). Only addresses allowed by governance are allowed to report. Thus, the first step to spin up a new oracle is creating a governance proposal and submit on-chain for community voting. An example of such a proposal can be found [here](https://github.com/celo-org/governance/blob/main/CGPs/cgp-0057.md). ## Using kubernetes diff --git a/tooling/overview/fee-abstraction.mdx b/tooling/overview/fee-abstraction.mdx index 6f1ebe919..25031e151 100644 --- a/tooling/overview/fee-abstraction.mdx +++ b/tooling/overview/fee-abstraction.mdx @@ -16,7 +16,7 @@ The protocol maintains a governable allowlist of smart contract addresses which ## Allowlisted Gas Fee Addresses -To obtain a list of the gas fee addresses that have been allowlisted using [Celo's Governance Process](/about-celo/protocol/governance/overview), you can run the `getCurrencies()` method on the `FeeCurrencyDirectory` contract. All other notable Mainnet core smart contracts are listed [here](/contracts/core-contracts#celo-mainnet). +To obtain a list of the gas fee addresses that have been allowlisted using [Celo's Governance Process](/home/protocol/governance/overview), you can run the `getCurrencies()` method on the `FeeCurrencyDirectory` contract. All other notable Mainnet core smart contracts are listed [here](/contracts/core-contracts#celo-mainnet). You can also query the available tokens with `celocli`: diff --git a/tooling/overview/migrate/from-ethereum.mdx b/tooling/overview/migrate/from-ethereum.mdx index 7aae397e9..5f7a4d946 100644 --- a/tooling/overview/migrate/from-ethereum.mdx +++ b/tooling/overview/migrate/from-ethereum.mdx @@ -8,7 +8,7 @@ Overview of the similarities and differences between the Celo and Ethereum block --- -For a general overview of the Celo network and architecture, see [the Celo Overview page](/about-celo). +For a general overview of the Celo network and architecture, see [the Celo Overview page](/home/index). ## What is Celo's Relationship to Ethereum? diff --git a/tooling/overview/setup/mac.mdx b/tooling/overview/setup/mac.mdx index f3bea95bb..23a34ce6b 100644 --- a/tooling/overview/setup/mac.mdx +++ b/tooling/overview/setup/mac.mdx @@ -9,7 +9,7 @@ How to set up a local development environment for Celo using Mac. --- -While many commands will be the same, you may need to follow the instructions for your specific OS when installing software. The Celo docs have some resources for [Windows development](/developer/setup/windows). +While many commands will be the same, you may need to follow the instructions for your specific OS when installing software. The Celo docs have some resources for [Windows development](/tooling/overview/setup/windows). Before building on Celo, you need to set up a development environment to make sure you have the proper tools to build an application. This setup includes a combination of general development tools, Celo specific tools, and mobile development tools. @@ -134,7 +134,7 @@ docker --version ### Local Development Blockchain -See [Local Development Chain w/ Protocol Contracts](/developer/setup/development-chain) for how to get started with developing on a local test environment. +See [Local Development Chain w/ Protocol Contracts](/tooling/overview/setup/development-chain) for how to get started with developing on a local test environment. ### Celo CLI diff --git a/tooling/overview/setup/overview.mdx b/tooling/overview/setup/overview.mdx index 5aaa8c980..202f4b89c 100644 --- a/tooling/overview/setup/overview.mdx +++ b/tooling/overview/setup/overview.mdx @@ -8,7 +8,7 @@ Set up your Celo development environment. --- -- [Using Mac](/developer/setup/mac) -- [Using Windows](/developer/setup/windows) -- [Using Replit](/developer/setup/replit) -- [Testnet Wallet](/developer/setup/wallet) +- [Using Mac](/tooling/overview/setup/mac) +- [Using Windows](/tooling/overview/setup/windows) +- [Using Replit](/tooling/overview/setup/replit) +- [Testnet Wallet](/tooling/overview/setup/wallet) diff --git a/tooling/overview/setup/replit.mdx b/tooling/overview/setup/replit.mdx index fb4fcc2a0..198caed69 100644 --- a/tooling/overview/setup/replit.mdx +++ b/tooling/overview/setup/replit.mdx @@ -22,7 +22,7 @@ To learn more about the features available to you as a smart contract developer To deploy on Celo using Replit, you don’t need any local environment. You should have a wallet available with testnet funds so that you can deploy and test transactions. -- [Set up a Development Test Wallet](/developer/setup/wallet) +- [Set up a Development Test Wallet](/tooling/overview/setup/wallet) - [Create a Replit account](https://replit.com/~) If you are new to Replit, it will also help to review the [Solidity announcement](https://blog.replit.com/solidity) and [Replit documentation](https://docs.replit.com/). @@ -53,7 +53,7 @@ The README provides an overview of the workspace and gives details on how to mak ## Deploy on Celo -Deploying on Celo with Replit is easy. If you don’t have a wallet with funds, complete [Set up a Development Test Wallet](/developer/setup/wallet) so that you are prepared to deploy and interact with your smart contract. +Deploying on Celo with Replit is easy. If you don’t have a wallet with funds, complete [Set up a Development Test Wallet](/tooling/overview/setup/wallet) so that you are prepared to deploy and interact with your smart contract. - Select **Run** to install all relevant packages, start up the contract deployment UI, and compile your **contract.sol** file diff --git a/tooling/plumo/index.mdx b/tooling/plumo/index.mdx index efdff2565..5afdad279 100644 --- a/tooling/plumo/index.mdx +++ b/tooling/plumo/index.mdx @@ -22,7 +22,7 @@ The original Celo Plumo Ceremony had 2 phases. This phase was circuit agnostic, meaning that anyone who wants to build a SNARK circuit can use the outputs from this phase to bootstrap their SNARK circuit. This means that the output is a wider public good, which can be highlighted as a contribution from the Celo community to the larger cryptography community. -You can learn how to verify Phase 1 [here](plumo/verification-phase-1). +You can learn how to verify Phase 1 [here](./verification-phase-1). ### Phase 2: The Plumo Snark