Skip to content

Conversation

@Kourin1996
Copy link

@Kourin1996 Kourin1996 commented Jun 11, 2025

This PR adds configuration for kurtosis devnet on celo-rebase-13.

This PR depends on another PR #396 (op-deployer & contract scripts), which targets a different branch, celo-contracts/v3.0.0--1

To run kurtosis devnet, run the following commands:

$ cd kurtosis-devnet && just celo-isthmus-devnet 

Address #394

marekolszewski and others added 30 commits May 7, 2025 17:28
Adding funding.json file required to apply for retropgf
* Add script to update `celo-org/op-geth` dependencies

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* Add github action for update-geth script

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* Use inline geth base-ref

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* Discard automatic fields

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* token perms

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* Use read-only GCP SA

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* Better parameter  handling in update-geth action

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>

* Remove `update-celo-geth` cmd from justfile

---------

Signed-off-by: Maximilian Langenfeld <15726643+ezdac@users.noreply.github.com>
Co-authored-by: alvarof2 <fernandez.f.alvaro@gmail.com>
The one from Optimism seems to be registered as private in the orb
registry.
Setting `open-pull-requests-limit: 0` prevent version updates but should
keep the security scans and updates according to
https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates#overriding-the-default-behavior-with-a-configuration-file

> If you only require security updates and want to exclude version
> updates, you can set open-pull-requests-limit to 0 in order to prevent
> version updates for a given package-ecosystem.
* mark it as executable
* allow running on both MacOS and linux (GNU vs BSD tool differences)
* terminate on errors
* less strict go.mod matching to allow applying it directly to upstream
This cheatcode is used to store the Celo L2 predeploy addresses in a
JSON file when run with forge. Inside TestEndToEndApply/initial_chain ,
the same code is called but we don't care for the generated JSON file.
So just returning `nil` makes the test work without any disadvantages.
Remove common/interfaces/IExchange.sol (duplicate)

We keep the one in the `mento` directory.

Remove common/libraries/ReentrancyGuard.sol (duplicate)

Directly use the original from OpenZeppelin.
so that BridgedETH and other bridged ERC20 tokens can be used as fee
currencies. I won't included testing until the FeeCurrencyDirectory is
ready.
Until we fix the errors caused by enabling it.
palango and others added 3 commits June 4, 2025 14:32
* isthmus: Update L1Block contract bytecode

---------

Co-authored-by: Gastón Ponti <gaston.ponti@clabs.co>
Co-authored-by: Gaston Ponti <pontigaston@gmail.com>
Changed shebang from #!/usr/bin/env fish to #!/bin/sh
Replaced $argv with "$@" for command line arguments
Replaced [ -z "$argv" ] with [ -z "$1" ] to check for arguments
Replaced status filename with basename "$0" to get script name
Changed return to exit 1 for script termination
Used standard variable assignment and export syntax
Used "$@" in the for loop to properly handle arguments with spaces
Used $(...) for command substitution (POSIX compliant)
@Kourin1996 Kourin1996 self-assigned this Jun 11, 2025

# Celo Isthmus devnet
celo-isthmus-devnet:
./setup-local-repos.sh Kourin1996/celo-rebase-13-contracts-devnet celo-rebase-13-no-HF-overrides
Copy link

@palango palango Jul 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What changes do those branches include? Should we merge those first?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kourin1996/celo-rebase-13-contracts-devnet is a branch for op-deployer and foundry scripts. This branch is forked from a different branch celo-contracts/v3.0.0--1.

celo-rebase-13-no-HF-overrides is a branch of op-geth forked from `celo-rebase-13. It doesn't include overriding holocene and isthmus activation times.

./setup-local-repos.sh Kourin1996/celo-rebase-13-contracts-devnet celo-rebase-13-no-HF-overrides
{{just_executable()}} devnet celo-isthmus.yaml

celo-isthmus-minimal-devnet:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we want to merge this into our development branch.

PragueTime: config.IsthmusTime(l1StartTime),
InteropTime: config.InteropTime(l1StartTime),
Cel2Time: config.RegolithTime(l1StartTime),
GingerbreadBlock: big.NewInt(0),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this necessary?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is necessary for avoiding genesis hash mismatch between op-geth and op-node.

@Kourin1996 Kourin1996 marked this pull request as ready for review July 9, 2025 13:53
@Kourin1996 Kourin1996 changed the title Add celo-rebase-13 devnet Add kurtosis devnet for celo-rebase-13 Jul 11, 2025
@dailinsubjam
Copy link

Hi Celo Team! I'm Sishan from Espresso. We're currently working on a devnet for the Celo-Espresso integration, but I ran into an issue when running this cd kurtosis-devnet && just celo-isthmus-devnet :

2025-07-28T18:58:04.904434Z ERROR foundry_compilers_artifacts_solc::sources: error="/home/ec2-user/optimism/kurtosis-devnet/optimism-contracts/packages/contracts-bedrock/lib/safe-contracts/contracts/GnosisSafe.sol": No such file or directory (os error 2)
Error: failed to resolve file: "/home/ec2-user/optimism/kurtosis-devnet/optimism-contracts/packages/contracts-bedrock/lib/safe-contracts/contracts/GnosisSafe.sol": No such file or directory (os error 2); check configured remappings
	--> /home/ec2-user/optimism/kurtosis-devnet/optimism-contracts/packages/contracts-bedrock/scripts/deploy/DeployAuthSystem.s.sol
	safe-contracts/GnosisSafe.sol
error: Recipe `build-no-tests` failed on line 33 with exit code 1

exit status 1
error: Recipe `devnet` failed with exit code 1
error: Recipe `celo-isthmus-devnet` failed on line 107 with exit code 1

It seems like the safe-contracts dependency (specifically GnosisSafe.sol) is missing or not properly linked. Do you know what might be causing this, or if I’m missing a setup step?
Thanks so much!

@Kourin1996
Copy link
Author

Hello, @dailinsubjam! Thank you for trying our devnet.

I could reproduce with newly cloned repository. I missed this problem cause it didn't occur in existing repository. We're working on hotfix and I'll let you know once it's ready. Sorry for the inconvenience.

@Kourin1996
Copy link
Author

Hi, @dailinsubjam. Now it's resolved. You can simply delete kurtosis-devnet/optimism-contracts and re-run just celo-isthmus-devnet. It should work.

@dailinsubjam
Copy link

Thanks @Kourin1996 ! It works for me now.

@Kourin1996 Kourin1996 changed the base branch from celo-rebase-13 to celo-rebase-14 August 11, 2025 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.