Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

chore(docs-site): update documentation for upcoming hekla upgrade #18810

Merged
merged 2 commits into from
Jan 21, 2025
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
6 changes: 3 additions & 3 deletions packages/docs-site/src/content/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ export const collections = {
description: z
.string()
.max(160, { message: "Must be 160 characters or less." }).optional(),
// banner: z.object({ content: z.string() }).default({
// content: '',
// }),
banner: z.object({ content: z.string() }).default({
content: 'All Hekla Node Runners: Protocol upgrade on Feb 1st, upgrade needed. Please ensure your nodes are using the software tags listed in the announcement! Click <a href="https://discord.com/channels/984015101017346058/984087180739768331/1331166194501287989">here</a> for more info',
}),
}),
}),
}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ This guide outlines how to achieve this with separate EOAs running prover and pr

1. **Clone the Taiko monorepo**

The [Taiko monorepo](https://github.com/taikoxyz/taiko-mono) contains the scripts for deploying your `ProverSet`. Checkout the latest stable release. (Use `protocol-v1.9.0` for Hekla!)
The [Taiko monorepo](https://github.com/taikoxyz/taiko-mono) contains the scripts for deploying your `ProverSet`. Checkout the latest stable release. (Use `taiko-alethia-protocol-v1.11.0` for Hekla!)

<Tabs>
<TabItem label="Mac/Linux">
Expand Down Expand Up @@ -56,10 +56,6 @@ This guide outlines how to achieve this with separate EOAs running prover and pr
ROLLUP_ADDRESS_MANAGER={ADDRESS} PROVER_SET_ADMIN={ADDRESS} forge script --chain-id {CHAIN_ID} --rpc-url {YOUR_RPC_URL} --private-key {PRIVATE_KEY} --broadcast script/DeployProverSet.s.sol:DeployProverSet
```

<Aside>
For `protocol-v1.9.0`, the path is script/layer1/DeployProverSet.s.sol:DeployProverSet
</Aside>

The script should print your implementation and proxy address with the log:

```
Expand Down Expand Up @@ -93,7 +89,7 @@ This guide outlines how to achieve this with separate EOAs running prover and pr

5. **Configure the contract as necessary**

Manage the contract's allowance with [approveAllowance()](https://github.com/taikoxyz/taiko-mono/blob/protocol-v1.9.0/packages/protocol/contracts/layer1/provers/ProverSet.sol#L64). TaikoL1's contract allowance is by default set to `UINT256.MAX` in the init function.
Manage the contract's allowance with [approveAllowance()](https://github.com/taikoxyz/taiko-mono/blob/taiko-alethia-protocol-v1.11.0/packages/protocol/contracts/layer1/provers/ProverSet.sol#L68). TaikoL1's contract allowance is by default set to `UINT256.MAX` in the init function.

6. **Deposit your tokens and run your proposer + prover as usual!**

Expand All @@ -106,7 +102,7 @@ This guide outlines how to achieve this with separate EOAs running prover and pr
Ensure that you have set up the EOAs correctly to avoid problems.

<Aside>
You can withdraw the deposited tokens to the `admin` address with [withdrawToAdmin()](https://github.com/taikoxyz/taiko-mono/blob/protocol-v1.9.0/packages/protocol/contracts/layer1/provers/ProverSet.sol#L77).
You can withdraw the deposited tokens to the `admin` address with [withdrawToAdmin()](https://github.com/taikoxyz/taiko-mono/blob/taiko-alethia-protocol-v1.11.0/packages/protocol/contracts/layer1/provers/ProverSet.sol#L83).
</Aside>

</Steps>
Expand Down Expand Up @@ -164,7 +160,7 @@ If you've already deployed a ProverSet but would like to upgrade it through the

If you've managed to propose and prove some blocks, it's likely you're wondering where your tokens went after.

It's not missing, it's just been deposited as bond in the TaikoL1 contract; you can withdraw it to the ProverSet contract with [withdrawBond()](https://github.com/taikoxyz/taiko-mono/blob/protocol-v1.9.0/packages/protocol/contracts/layer1/provers/ProverSet.sol#L136) manually.
It's not missing, it's just been deposited as bond in the TaikoL1 contract; you can withdraw it to the ProverSet contract with [withdrawBond()](https://github.com/taikoxyz/taiko-mono/blob/taiko-alethia-protocol-v1.11.0/packages/protocol/contracts/layer1/provers/ProverSet.sol#L151) manually.

### How do I verify my ProverSet contract?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,14 @@ By enabling proof aggregation, you will be opening yourself up to more risk as y

The recommended value for SGX_BATCH_SIZE is 10+ as you will see the most gas saved at this value and above. We will NOT refund any lost bonds due to misconfiguration, please evaluate and use this function at your own risk.

We highly recommend you test the function on Hekla before enabling it for mainnet.
We highly recommend you test the function **on Hekla**, not on Mainnet.

Please note that you must use the [upgraded ProverSet contract](https://github.com/taikoxyz/taiko-mono/blob/taiko-alethia-protocol-v1.11.0/packages/protocol/contracts/layer1/provers/ProverSet.sol) to use this functionality.
</Aside>

Batch proving has been enabled in release 0.43.0 of [the taiko alethia client!](https://github.com/taikoxyz/taiko-mono/releases/tag/taiko-alethia-client-v0.43.0)
Batch proving has been enabled in release 0.43.1 of [the taiko alethia client!](https://github.com/taikoxyz/taiko-mono/releases/tag/taiko-alethia-client-v0.43.1)

Please use [simple-taiko-node release 1.8.2](https://github.com/taikoxyz/simple-taiko-node/releases/tag/v1.8.2) or above to enable this functionality.
Please use [simple-taiko-node release 1.9.0](https://github.com/taikoxyz/simple-taiko-node/releases/tag/v1.9.0) or above to enable this functionality.

**This functionality can be enabled simply by setting `SGX_BATCH_SIZE` in your `.env` file to a number greater than 1.**

Expand Down Expand Up @@ -82,7 +84,7 @@ The following steps can be done through the [ProverSet contract](/guides/node-op
Please verify [contract addresses](/network-reference/mainnet-addresses) are correct before moving forward. You can check the respective ENS domains on Etherscan.
</Aside>

4. Set the amount to at least the minimum bond amount of 125 TAIKO.
4. Set the amount to at least the minimum bond amount of 150 TAIKO.

You will need 150 TAIKO for each bond you sign. After entering 150, you need to set the 18 decimals that the TAIKO contract takes, you can click the plus button and then select 10^18.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ Taiko deploys two smart contracts which store the hashes of the other chain:
- TaikoL1 stores the L2 world state root on L1 (deployed on Ethereum)
- TaikoL2 stores the L1 world state root on L2 (deployed on Taiko)

Every time an L2 block is created on Taiko, the world state root of the enclosing block on L1 is stored in the [TaikoL2](https://github.com/taikoxyz/taiko-mono/blob/protocol-v1.9.0/packages/protocol/contracts/layer2/based/TaikoL2.sol#L145) contract using the `anchor` transaction. To ensure validity, it is part of the (previously the zk circuits, now SGX and ZK) proof data submitted with each block, so no fake L1 world state root can be synchronized to L2."
Every time an L2 block is created on Taiko, the world state root of the enclosing block on L1 is stored in the [TaikoL2](https://github.com/taikoxyz/taiko-mono/blob/taiko-alethia-protocol-v1.11.0/packages/protocol/contracts/layer2/based/TaikoL2.sol#L155) contract using the `anchor` transaction. To ensure validity, it is part of the (previously the zk circuits, now SGX and ZK) proof data submitted with each block, so no fake L1 world state root can be synchronized to L2."

The L2 world state root is stored in the TaikoL1 contract using the `syncChainData` function call in
[`LibVerifying`](https://github.com/taikoxyz/taiko-mono/blob/protocol-v1.9.0/packages/protocol/contracts/layer1/based/LibVerifying.sol#L179).
[`LibVerifying`](https://github.com/taikoxyz/taiko-mono/blob/taiko-alethia-protocol-v1.11.0/packages/protocol/contracts/layer1/based/LibVerifying.sol#L165).

Taiko by default synchronizes the world state roots cross-chain with the above mechanism.

Expand Down