Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
# Legacy section - Blockchain team (L1 content)
/legacy/ @celo-org/blockchain

# Specs section (was specs.celo.org) - Blockchain team
/specs/ @celo-org/blockchain

# Tooling section
/tooling/ @celo-org/devrel

Expand Down
2 changes: 1 addition & 1 deletion build-on-celo/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Following a successful Baklava upgrade, the Celo L2 Mainnet officially went live

## Useful Links

* [Layer 2 Specification](https://specs.celo.org/root.html)
* [Layer 2 Specification](/specs)
* [Node Operator Guide](/infra-partners/operators/overview)
* [What's Changed?](/legacy/overview)
* [Cel2 Code](https://github.com/celo-org/optimism)
Expand Down
2 changes: 1 addition & 1 deletion build-on-celo/support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ For the latest updates, sign up for the <ColoredText>[DevDesk Mailing List](http

## Additional Resources

- [Celo specification](https://specs.celo.org/)
- [Celo specification](/specs)
- [Transaction types on Celo](https://github.com/celo-org/txtypes)
- [Celo Forum](https://forum.celo.org/)
6 changes: 3 additions & 3 deletions contribute-to-celo/community-rpc-nodes/penalties.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,6 @@ Providers with uptime below 20% for 7 days are slashed.

### References in the Specification

- [Overview of rewards and epochs in L2](https://specs.celo.org/smart_contract_updates_from_l1.html#overview-of-rewards-and-epochs-in-l2)
- [Scoring](https://specs.celo.org/smart_contract_updates_from_l1.html#scoring)
- [Slashing](https://specs.celo.org/smart_contract_updates_from_l1.html#slashing)
- [Overview of rewards and epochs in L2](/specs/smart-contract-updates-from-l1#overview-of-rewards-and-epochs-in-l2)
- [Scoring](/specs/smart-contract-updates-from-l1#scoring)
- [Slashing](/specs/smart-contract-updates-from-l1#slashing)
45 changes: 43 additions & 2 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -453,10 +453,47 @@
"infra-partners/operators/configuration",
"infra-partners/operators/network-config"
]
}
]
},
{
"tab": "Specs",
"groups": [
{
"group": "Specification",
"pages": [
"specs/index",
{
"group": "Deployments",
"pages": [
"specs/deployments",
"specs/l1-smart-contract-verification"
]
},
"specs/token-duality",
"specs/transaction-fees",
"specs/fee-abstraction",
"specs/transaction-types",
"specs/native-bridge",
"specs/eigenda",
"specs/finality"
]
},
{
"group": "Celo L2 Specs",
"pages": ["infra-partners/specs"]
"group": "Protocol Upgrades",
"pages": [
"specs/upgrades/jovian",
"specs/upgrades/jello",
"specs/upgrades/ice-cream",
"specs/upgrades/isthmus",
{
"group": "L2 Migration",
"pages": [
"specs/l2-migration",
"specs/smart-contract-updates-from-l1"
]
}
]
}
]
},
Expand Down Expand Up @@ -2864,6 +2901,10 @@
"source": "/infra-partners/notices/l2-migration",
"destination": "/infra-partners/notices/archive/l2-migration"
},
{
"source": "/infra-partners/specs",
"destination": "/specs"
},
{
"source": "/cel2/operators/architecture",
"destination": "/infra-partners/operators/architecture"
Expand Down
2 changes: 1 addition & 1 deletion home/protocol/epoch-rewards/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ A total of **400 million CELO** will be released through epoch rewards over time

For details on how epoch rewards worked when Celo was a Layer 1 blockchain, see [the historical epoch rewards section](/legacy/protocol/pos/epoch-rewards).

For technical changes since the L1 to L2 migration, refer to the [official specs](https://specs.celo.org/smart_contract_updates_from_l1.html#epochs-and-rewards).
For technical changes since the L1 to L2 migration, refer to the [official specs](/specs/smart-contract-updates-from-l1#epochs-and-rewards).
</Note>

## Epoch Duration and Processing
Expand Down
2 changes: 1 addition & 1 deletion infra-partners/notices/archive/celo-sepolia-launch.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Since Celo Sepolia starts with a clean slate, there is no historical data or con
- Chain ID: 11142220
- L1 Foundation: Ethereum Sepolia
- EigenDA: v2 (Blazar)
- Contracts: [see the L1 and L2 contracts in the specification](https://specs.celo.org/core_contracts.html?#celo-sepolia-testnet)
- Contracts: [see the L1 and L2 contracts in the specification](/tooling/contracts/core-contracts#celo-sepolia-testnet)
- RPC endpoint: [Celo Sepolia Forno](https://forno.celo-sepolia.celo-testnet.org)
- Block explorer: [Blockscout](https://celo-sepolia.blockscout.com)
- Faucets:
Expand Down
2 changes: 1 addition & 1 deletion infra-partners/notices/archive/jovian-upgrade.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Key changes include:

- **Transfer Precompile Address Warming**: The transfer precompile now warms `from` and `to` addresses during execution, aligning with standard EVM behavior and ensuring correct gas accounting for subsequent operations on the same address.
- **Minimum Base Fee Transition**: Celo moves from its own gas price floor mechanism to Optimism's configurable Minimum Base Fee standard, maintaining a cost floor while aligning with OP Stack conventions.
For the full technical specification, see the [Jovian upgrade spec](https://specs.celo.org/upgrades/jovian.html).
For the full technical specification, see the [Jovian upgrade spec](/specs/upgrades/jovian).
- **L1 Fusaka Upgrade**: Celo now includes improvements to handle the L1 Fusaka upgrade, leading to better compatibility with the Optimism stack. For more details see [OP Fusaka upgrade notice](https://docs.optimism.io/notices/archive/fusaka-notice).
- **EigenDA upgrade**: The EigenDA proxy is upgraded to a recent version which improves the trustless integration and allows switching to the latest EigenDA protocol version.

Expand Down
5 changes: 0 additions & 5 deletions infra-partners/specs.mdx

This file was deleted.

14 changes: 7 additions & 7 deletions legacy/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Yes, same as with Ethereum.

<Accordion title="What data model changes happened in the RPC specs (esp. which gas tokens) between Celo L1 and L2?">

Have a look at the [changes from L1 to L2 in the specs](https://specs.celo.org/l2_migration.html#changes-for-json-rpc-users).
Have a look at the [changes from L1 to L2 in the specs](/specs/l2-migration#changes-for-json-rpc-users).
</Accordion>

<Accordion title="What happens to Validators?">
Expand All @@ -61,20 +61,20 @@ There are multiple options.

<Accordion title="What happened to governance, since the migration from Celo L1 to L2?">

[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.
[Governance](/home/protocol/governance/overview) remains a pillar of the Celo blockchain. The Validator Hotfix process has been adapted, see [Updated Governance Hotfix](/specs/l2-migration#updated-governance-hotfix) for the changes.
</Accordion>

<Accordion title="What happened to these features?">

* CELO token duality? Supported, see [Token Duality](https://specs.celo.org/token_duality.html).
* Fee currencies? Supported, see [Fee Abstraction](https://specs.celo.org/fee_abstraction.html).
* Epoch rewards? Epochs now work differently, but rewards stay, see [Epochs and Rewards](https://specs.celo.org/smart_contract_updates_from_l1.html#epochs-and-rewards).
* CELO token duality? Supported, see [Token Duality](/specs/token-duality).
* Fee currencies? Supported, see [Fee Abstraction](/specs/fee-abstraction).
* Epoch rewards? Epochs now work differently, but rewards stay, see [Epochs and Rewards](/specs/smart-contract-updates-from-l1#epochs-and-rewards).
</Accordion>

<Accordion title="How is the Celo L2 different to Optimism?">

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.
Also see [Celo L2 Specification](/specs) for greater detail.
</Accordion>

<Accordion title="What are the costs for L1 data and how are they paid?">
Expand All @@ -94,7 +94,7 @@ The gas limit per block is 30 million, so the maximum throughput is 30M gas/s.

<Accordion title="Is there anything that used to work on Celo L1 that doesn’t anymore on L2?">

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.
See [What's Changed Celo L1 -> L2](/legacy/transition/whats-changed/l1-l2) and [L1 -> L2 Migration Changes](/specs/l2-migration) in the spec for greater detail.
</Accordion>

</AccordionGroup>
2 changes: 1 addition & 1 deletion legacy/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ The table below summarizes the technical changes involved in transitioning from
| **Transactions** | — | Deprecated transactions include Type 0 with feeCurrency field and Type 124. |
| **Finality** | One block finality, instantaneous once block is produced. | Finality depends on trust in sequencer, batcher, proposer, and eigenDA, or ultimately on Ethereum. |

For more detailed technical changes, see [Celo's L2 Migration Documentation](https://specs.celo.org/l2_migration.html).
For more detailed technical changes, see [Celo's L2 Migration Documentation](/specs/l2-migration).
4 changes: 2 additions & 2 deletions legacy/transition/optimism/op-l2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The native token is CELO as opposed to ETH. The native token is also an ERC20 to

## New transaction type

Type 123 (`0x7b`) transaction type allows paying for gas in currencies other than the native asset (CELO). It has an additional field `feeCurrency` which allows the sender to choose the gas currency. See [here](https://specs.celo.org/fee_abstraction.html) for details on using fee currencies.
Type 123 (`0x7b`) transaction type allows paying for gas in currencies other than the native asset (CELO). It has an additional field `feeCurrency` which allows the sender to choose the gas currency. See [here](/specs/fee-abstraction) for details on using fee currencies.

The fee currencies available at Mainnet launch will be:

Expand All @@ -25,7 +25,7 @@ The fee currencies available at Mainnet launch will be:
- Celo Euro (cEUR)
- Celo Brazilian Real (cREAL)

More details on supported transaction types [here](https://specs.celo.org/tx_types.html).
More details on supported transaction types [here](/specs/transaction-types).

## L1 fees

Expand Down
12 changes: 6 additions & 6 deletions legacy/transition/whats-changed/l1-l2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Sending these transaction types is no longer be supported, however you can still
- **Type 0 (`0x0`) _Celo_ legacy transaction**. These are type 0 transactions that had some combination of the following fields set ("feeCurrency", "gatewayFee", "gatewayFeeRecipient") and "ethCompatible" set to false.
- **Type 124 (`0x7c`) Celo dynamic fee transaction**.

More details on supported transaction types [here](https://specs.celo.org/tx_types.html).
More details on supported transaction types [here](/specs/transaction-types).

## Native bridge to Ethereum

Expand All @@ -34,15 +34,15 @@ The amount of rewards to be distributed has not been decided. However, rewards w

## Hardforks

See [here](https://specs.celo.org/l2_migration.html#changes-for-contracts-developers) for the list of hardforks that will be enabled in the first block of the L2.
See [here](/specs/l2-migration#changes-for-contracts-developers) for the list of hardforks that will be enabled in the first block of the L2.

## Precompiled contracts

All Celo specific precompiles have been removed except for the transfer precompile which supports Celo [token duality](https://specs.celo.org/token_duality.html) (the native asset CELO is also an ERC20 token)
All Celo specific precompiles have been removed except for the transfer precompile which supports Celo [token duality](/specs/token-duality) (the native asset CELO is also an ERC20 token)

## Randomness

The random contract has been removed. If randomness is needed then the PREVRANDAO opcode can be used. See [here](https://specs.celo.org/l2_migration.html#deactivated-random-contract) for more details.
The random contract has been removed. If randomness is needed then the PREVRANDAO opcode can be used. See [here](/specs/l2-migration#deactivated-random-contract) for more details.

## Blocks

Expand All @@ -69,7 +69,7 @@ Note this results in a 300% increase in gas per second due to the shortened bloc

Previously our implementation used a smart contract [(here)](https://github.com/celo-org/celo-monorepo/blob/faca88f6a48cc7c8e6104393e49ddf7c2d7d20e3/packages/protocol/contracts-0.8/common/GasPriceMinimum.sol#L162) to calculate the base fee which allowed for governable parameters. Now we use the standard EIP1559 algorithm with the parameter values being defined in the chain config.

For chain specific parameters see the [deployment information in the Celo specs](https://specs.celo.org/deployments.html).
For chain specific parameters see the [deployment information in the Celo specs](/specs/deployments).

## RPC API

Expand All @@ -79,7 +79,7 @@ Old blocks, transactions, receipts and logs are still be accessible via the RPC

In general the changes involve additional extra unset fields that have been added upstream but were not present on historical Celo L1 objects, and the removal of some unnecessarily set fields on Celo L1 objects.

For in depth details of what has changed see [here](https://specs.celo.org/l2_migration.html).
For in depth details of what has changed see [here](/specs/l2-migration).

### Block receipts

Expand Down
64 changes: 64 additions & 0 deletions specs/deployments.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: "Deployments"
---

## Mainnet

Celo Mainnet was migrated to an L2 on March 26, 2025, around 3:00 AM UTC, at block *31056500*. For this, the L1 chain was stopped at a block height of *31056499* and the existing state was migrated to work with the L2 nodes. The migration process preserved the full L1 history while updating it to work with the Celo L2 stack. More technical details are available in the [migration docs](/specs/l2-migration).

The Celo L2 network has the following chain properties:

- Block period: 1 second
- Block gas limit: 30,000,000 gas
- Block gas target: 6,000,000 gas (see EIP-1559 elasticity multiplier)
- EIP-1559 elasticity multiplier: 5
- EIP-1559 denominator: 400
- EIP-1559 floor: 25 Gwei

### Parameters

- [ProxyOwner owner](https://mondo.celo.org/governance/cgp-171): [`0x4092A77bAF58fef0309452cEaCb09221e556E112`](https://app.safe.global/home?safe=eth:0x4092A77bAF58fef0309452cEaCb09221e556E112)
- Guardian address (can pause/unpause the bridge): `0x6E226fa22e5F19363d231D3FA048aaBa73CC1f47`

### Contract addresses

L1 and L2 contract addresses are listed in the documentation.

- [L1 contracts](/tooling/contracts/l1-contracts#celo-mainnet)
- [Core contracts](/tooling/contracts/core-contracts#celo-mainnet)
- [Fee Abstraction contracts](/tooling/contracts/token-contracts#celo-mainnet)

## Celo Sepolia testnet

The Celo Sepolia testnet has the same chain properties as Celo Mainnet:

- Block period: 1 second
- Block gas limit: 30,000,000 gas
- Block gas target: 6,000,000 gas (see EIP-1559 elasticity multiplier)
- EIP-1559 elasticity multiplier: 5
- EIP-1559 denominator: 400
- EIP-1559 floor: 25 Gwei

### Contract addresses

L1 and L2 contract addresses are listed in the documentation.

- [L1 contracts](/tooling/contracts/l1-contracts#celo-sepolia-testnet)
- [Core contracts](/tooling/contracts/core-contracts#celo-sepolia-testnet)
- [Fee Abstraction contracts](/tooling/contracts/token-contracts#celo-sepolia-testnet)

## OP stack config

| Config | Celo | OP |
|-----------------------------------|-------------|--------|
| `maxSequencerDrift` | 2892 | 1800 |
| `sequencerWindowSize` | 3600 | 3600 |
| `channelTimeout` | 300 | 300 |
| `finalizationPeriodSeconds` | 12 | 12 |
| `enableGovernance` | `false` | `true` |
| `eip1559Denominator` | 400 | 50 |
| `eip1559DenominatorCanyon` | 400 | 250 |
| `eip1559Elasticity` | 5 | 6 |
| `eip1559BaseFeeFloor` | 25000000000 | - |
| `gasPriceOracleBaseFeeScalar` | 0 | 1368 |
| `gasPriceOracleBlobBaseFeeScalar` | 0 | 810949 |
11 changes: 11 additions & 0 deletions specs/eigenda.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: "EigenDA"
---

In contrast to OP Mainnet sequencer which writes TX batches to Ethereum in the form of calldata or, more recently, EIP-4844 blobs to commit to the transactions included in the canonical L2 chain, Celo uses [EigenDA](https://docs.eigenlayer.xyz/eigenda/overview) as an alternative data availability layer in order to minimize the TX fees. EigenDA is a data availability store made by [EigenLabs](https://www.eigenlabs.org) and built on top of [EigenLayer](https://docs.eigenlayer.xyz/eigenlayer/overview/). With EigenDA, TX data is stored by EigenDA operators off-chain, only DA commitments used for verficiation and subsequent data retrieval are stored On Ethereum which significantly reduces DA costs and L2 TX fees.

The integration is done in accordance with the [Optimism's Alt-DA spec](https://specs.optimism.io/experimental/alt-da.html) which contains a more in-depth description of this interface.

## Testnet and Contract Addresses

The Celo Sepolia testnet uses the [EigenDA Sepolia testnet](https://docs.eigencloud.xyz/products/eigenda/networks/sepolia).
Loading