Skip to content

Fix and update CI test workflows#380

Merged
ezdac merged 8 commits intocelo-rebase-13from
ezdac/foundry-ci-v1.1.0
Jun 3, 2025
Merged

Fix and update CI test workflows#380
ezdac merged 8 commits intocelo-rebase-13from
ezdac/foundry-ci-v1.1.0

Conversation

@ezdac
Copy link

@ezdac ezdac commented May 15, 2025

This PR fixes several things in our CI runs and some issues in the viem e2e tests

@ezdac ezdac force-pushed the ezdac/foundry-ci-v1.1.0 branch from b3858a2 to 83a5e6a Compare May 23, 2025 10:01
@ezdac ezdac changed the base branch from celo-rebase-12 to celo-rebase-13 May 23, 2025 12:08
@ezdac ezdac marked this pull request as ready for review May 23, 2025 12:09
Copy link

@palango palango left a comment

Choose a reason for hiding this comment

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

Nice to pin this!

@ezdac ezdac force-pushed the ezdac/foundry-ci-v1.1.0 branch 9 times, most recently from e0565f7 to 16d37f5 Compare May 27, 2025 10:46
@socket-security
Copy link

socket-security bot commented May 27, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​chai@​5.1.2 ⏵ 5.2.010010010079100
Updatednpm/​ethers@​6.10.0 ⏵ 6.14.397 +110010093 +3100
Updatednpm/​mocha@​10.2.0 ⏵ 10.8.297 +110094 +297100
Updatednpm/​viem@​2.21.27 ⏵ 2.30.1100 +110010097100

View full report

@palango palango self-requested a review May 27, 2025 11:45
@ezdac ezdac force-pushed the ezdac/foundry-ci-v1.1.0 branch from 17694b4 to 6c45623 Compare May 27, 2025 13:12
@ezdac ezdac changed the title Update CI foundry version to v1.1.0 Fix and update CI test workflows May 27, 2025
@ezdac
Copy link
Author

ezdac commented May 27, 2025

@palango - this PR evolved quite a bit since you initially approved it - please have another look at it

@palango
Copy link

palango commented May 27, 2025

Do we need to wait until the PR adding the new base image is merged?

@ezdac
Copy link
Author

ezdac commented May 27, 2025

Do we need to wait until the PR adding the new base image is merged?

No, the PR is just for making this declarative on the infra side and allows for faster base-image update-publish cycles.
Also, the runner using the base-image will be checked-in and updated under-the-hood as well, but this is not a concern for this PR.

Copy link

@palango palango left a comment

Choose a reason for hiding this comment

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

LGTM, with the comments removed.

@ezdac ezdac force-pushed the ezdac/foundry-ci-v1.1.0 branch from 6c45623 to 0105b1b Compare May 27, 2025 16:20
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
e2e: set default TERM in e2e test for tput (#380)
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
…m test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
e2e: set default TERM in e2e test for tput (#380)
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast
Kourin1996 pushed a commit that referenced this pull request Aug 8, 2025
To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kourin1996 pushed a commit that referenced this pull request Aug 8, 2025
…m test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews
Kourin1996 pushed a commit that referenced this pull request Aug 8, 2025
e2e: set default TERM in e2e test for tput (#380)
Kourin1996 pushed a commit that referenced this pull request Aug 8, 2025
This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
…m test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
e2e: set default TERM in e2e test for tput (#380)
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
github: Ensure generated types (#303)

Updates generated code and adds a CI step to check
that generated types are up to date.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

github: Run e2e tests on Alfajores in CI

github: Add e2e-test-deployed-network.yaml (#261)

github: Fix and update CI test workflows (#380)

* chore(ci): use new op-stack-base image runner

* chore(ci): determine npm version from package.json

* chore(ci): put setup in composite action
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
…m test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
e2e: set default TERM in e2e test for tput (#380)
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast
karlb pushed a commit that referenced this pull request Nov 5, 2025
github: Ensure generated types (#303)

Updates generated code and adds a CI step to check
that generated types are up to date.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

github: Run e2e tests on Alfajores in CI

github: Add e2e-test-deployed-network.yaml (#261)

github: Fix and update CI test workflows (#380)

* chore(ci): use new op-stack-base image runner

* chore(ci): determine npm version from package.json

* chore(ci): put setup in composite action
karlb added a commit that referenced this pull request Nov 5, 2025
This is a squash commit of all e2e testing related previous commits.

e2e: Add shell based test runner (#21)

* Run all test_* files
* Report failure count
* Handle geth start and stop
* Use initialized genesis block instead of deploying token

e2e: Add token duality e2e test (#3, #21)

e2e: Add smoketest to e2e tests (#261)

Adds an e2e smoketest that sends value transfer, contract interaction
and contract creation transactions for all of the valid transaction types.

It also verifies that deprecated transactions (celo legacy & cip42) are
not supported.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e: Add tests with Ethers and Viem (#42)

To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

e2e: Add sending overlapping nonce test and CIP-64 tx test in e2e viem test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews

e2e: Extract viem initialization code into viem_setup.mjs for reuse (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(js): Add mainnet & baklava config in e2e viem setup (#331, #340)

e2e: Add WebSocket support in e2e (#356)

e2e: set default TERM in e2e test for tput (#380)

e2e: Test fee currencies with failing debit/credit (#85)

This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast

e2e: Add gas estimation e2e test (#356)

e2e: Add e2e test for fee handler (#36)

Use Celo Sepolia for e2e test instead of alfajores

The changed error message is more precise and more stable across geth
versions.

Right now, the test "zero tip fee currency tx rejected" still fails for
Sepolia, but the same is true for Alfajores. It will work once the node
is updated.

Closes celo-org/celo-blockchain-planning#1158
karlb pushed a commit that referenced this pull request Dec 5, 2025
github: Ensure generated types (#303)

Updates generated code and adds a CI step to check
that generated types are up to date.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

github: Run e2e tests on Alfajores in CI

github: Add e2e-test-deployed-network.yaml (#261)

github: Fix and update CI test workflows (#380)

* chore(ci): use new op-stack-base image runner

* chore(ci): determine npm version from package.json

* chore(ci): put setup in composite action
karlb added a commit that referenced this pull request Dec 5, 2025
This is a squash commit of all e2e testing related previous commits.

e2e: Add shell based test runner (#21)

* Run all test_* files
* Report failure count
* Handle geth start and stop
* Use initialized genesis block instead of deploying token

e2e: Add token duality e2e test (#3, #21)

e2e: Add smoketest to e2e tests (#261)

Adds an e2e smoketest that sends value transfer, contract interaction
and contract creation transactions for all of the valid transaction types.

It also verifies that deprecated transactions (celo legacy & cip42) are
not supported.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e: Add tests with Ethers and Viem (#42)

To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

e2e: Add sending overlapping nonce test and CIP-64 tx test in e2e viem test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews

e2e: Extract viem initialization code into viem_setup.mjs for reuse (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(js): Add mainnet & baklava config in e2e viem setup (#331, #340)

e2e: Add WebSocket support in e2e (#356)

e2e: set default TERM in e2e test for tput (#380)

e2e: Test fee currencies with failing debit/credit (#85)

This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast

e2e: Add gas estimation e2e test (#356)

e2e: Add e2e test for fee handler (#36)

Use Celo Sepolia for e2e test instead of alfajores

The changed error message is more precise and more stable across geth
versions.

Right now, the test "zero tip fee currency tx rejected" still fails for
Sepolia, but the same is true for Alfajores. It will work once the node
is updated.

Closes celo-org/celo-blockchain-planning#1158
karlb pushed a commit that referenced this pull request Jan 6, 2026
github: Ensure generated types (#303)

Updates generated code and adds a CI step to check
that generated types are up to date.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

github: Run e2e tests on Alfajores in CI

github: Add e2e-test-deployed-network.yaml (#261)

github: Fix and update CI test workflows (#380)

* chore(ci): use new op-stack-base image runner

* chore(ci): determine npm version from package.json

* chore(ci): put setup in composite action
karlb added a commit that referenced this pull request Jan 6, 2026
This is a squash commit of all e2e testing related previous commits.

e2e: Add shell based test runner (#21)

* Run all test_* files
* Report failure count
* Handle geth start and stop
* Use initialized genesis block instead of deploying token

e2e: Add token duality e2e test (#3, #21)

e2e: Add smoketest to e2e tests (#261)

Adds an e2e smoketest that sends value transfer, contract interaction
and contract creation transactions for all of the valid transaction types.

It also verifies that deprecated transactions (celo legacy & cip42) are
not supported.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e: Add tests with Ethers and Viem (#42)

To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

e2e: Add sending overlapping nonce test and CIP-64 tx test in e2e viem test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews

e2e: Extract viem initialization code into viem_setup.mjs for reuse (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(js): Add mainnet & baklava config in e2e viem setup (#331, #340)

e2e: Add WebSocket support in e2e (#356)

e2e: set default TERM in e2e test for tput (#380)

e2e: Test fee currencies with failing debit/credit (#85)

This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast

e2e: Add gas estimation e2e test (#356)

e2e: Add e2e test for fee handler (#36)

Use Celo Sepolia for e2e test instead of alfajores

The changed error message is more precise and more stable across geth
versions.

Right now, the test "zero tip fee currency tx rejected" still fails for
Sepolia, but the same is true for Alfajores. It will work once the node
is updated.

Closes celo-org/celo-blockchain-planning#1158
piersy pushed a commit that referenced this pull request Jan 17, 2026
github: Ensure generated types (#303)

Updates generated code and adds a CI step to check
that generated types are up to date.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

github: Run e2e tests on Alfajores in CI

github: Add e2e-test-deployed-network.yaml (#261)

github: Fix and update CI test workflows (#380)

* chore(ci): use new op-stack-base image runner

* chore(ci): determine npm version from package.json

* chore(ci): put setup in composite action
piersy pushed a commit that referenced this pull request Jan 17, 2026
This is a squash commit of all e2e testing related previous commits.

e2e: Add shell based test runner (#21)

* Run all test_* files
* Report failure count
* Handle geth start and stop
* Use initialized genesis block instead of deploying token

e2e: Add token duality e2e test (#3, #21)

e2e: Add smoketest to e2e tests (#261)

Adds an e2e smoketest that sends value transfer, contract interaction
and contract creation transactions for all of the valid transaction types.

It also verifies that deprecated transactions (celo legacy & cip42) are
not supported.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e: Add tests with Ethers and Viem (#42)

To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

e2e: Add sending overlapping nonce test and CIP-64 tx test in e2e viem test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews

e2e: Extract viem initialization code into viem_setup.mjs for reuse (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(js): Add mainnet & baklava config in e2e viem setup (#331, #340)

e2e: Add WebSocket support in e2e (#356)

e2e: set default TERM in e2e test for tput (#380)

e2e: Test fee currencies with failing debit/credit (#85)

This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast

e2e: Add gas estimation e2e test (#356)

e2e: Add e2e test for fee handler (#36)

Use Celo Sepolia for e2e test instead of alfajores

The changed error message is more precise and more stable across geth
versions.

Right now, the test "zero tip fee currency tx rejected" still fails for
Sepolia, but the same is true for Alfajores. It will work once the node
is updated.

Closes celo-org/celo-blockchain-planning#1158
piersy pushed a commit that referenced this pull request Jan 17, 2026
github: Ensure generated types (#303)

Updates generated code and adds a CI step to check
that generated types are up to date.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

github: Run e2e tests on Alfajores in CI

github: Add e2e-test-deployed-network.yaml (#261)

github: Fix and update CI test workflows (#380)

* chore(ci): use new op-stack-base image runner

* chore(ci): determine npm version from package.json

* chore(ci): put setup in composite action
piersy pushed a commit that referenced this pull request Jan 17, 2026
This is a squash commit of all e2e testing related previous commits.

e2e: Add shell based test runner (#21)

* Run all test_* files
* Report failure count
* Handle geth start and stop
* Use initialized genesis block instead of deploying token

e2e: Add token duality e2e test (#3, #21)

e2e: Add smoketest to e2e tests (#261)

Adds an e2e smoketest that sends value transfer, contract interaction
and contract creation transactions for all of the valid transaction types.

It also verifies that deprecated transactions (celo legacy & cip42) are
not supported.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e: Add tests with Ethers and Viem (#42)

To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

e2e: Add sending overlapping nonce test and CIP-64 tx test in e2e viem test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews

e2e: Extract viem initialization code into viem_setup.mjs for reuse (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(js): Add mainnet & baklava config in e2e viem setup (#331, #340)

e2e: Add WebSocket support in e2e (#356)

e2e: set default TERM in e2e test for tput (#380)

e2e: Test fee currencies with failing debit/credit (#85)

This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast

e2e: Add gas estimation e2e test (#356)

e2e: Add e2e test for fee handler (#36)

Use Celo Sepolia for e2e test instead of alfajores

The changed error message is more precise and more stable across geth
versions.

Right now, the test "zero tip fee currency tx rejected" still fails for
Sepolia, but the same is true for Alfajores. It will work once the node
is updated.

Closes celo-org/celo-blockchain-planning#1158
piersy pushed a commit that referenced this pull request Jan 21, 2026
This is a squash commit of all e2e testing related previous commits.

e2e: Add shell based test runner (#21)

* Run all test_* files
* Report failure count
* Handle geth start and stop
* Use initialized genesis block instead of deploying token

e2e: Add token duality e2e test (#3, #21)

e2e: Add smoketest to e2e tests (#261)

Adds an e2e smoketest that sends value transfer, contract interaction
and contract creation transactions for all of the valid transaction types.

It also verifies that deprecated transactions (celo legacy & cip42) are
not supported.

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e: Add tests with Ethers and Viem (#42)

To exercise the fee currency support and test JS lib compatibility.

Closes celo-org/optimism#61

e2e(runner): Allows tests to be run on Alfajores. (#212, #258)

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

e2e(fee_currency): Reenable test_fee_currency_fails_on_credit.sh (#400)

It has been disabled in d9518cc#diff-7e9dfb8659cce411851abf104e7bf34d826781fb4dc07fc9cb3a1a5b82fa5af1R48-R54, but since it works fine for me now, I don't see a reason to keep it disabled.

e2e(runner): Add mainner & baklava e2e test config for easier testing (#331, #340)
Run tests against baklava with `NETWORK=baklava ./run_all_tests.sh`
after giving the wallet enough balance (or setting your own).

e2e(js) update e2e test js dependencies (#380)

e2e: Bump braces from 3.0.2 to 3.0.3 in /e2e_test/js-tests (#392)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

e2e: Add sending overlapping nonce test and CIP-64 tx test in e2e viem test (#43, #55, #293)

Co-authored-by: Pastoh <hbandura@users.noreply.github.com>
Co-authored-by: kourin <yoshiki.takabayashi@clabs.co>

e2e(js): Loosen error check condition in e2e-test (#380)

Due to possible expansion of the responses error string in potential
proxy setups on a live RPC endpoint, the strict error check in the e2e
viem test caused the test to fail, although the error condition was
expected.

e2e(js): Add test of sending CIP-64 tx with unregistered fee currency in viem e2e test

e2e(js): Run e2e tests on alfajores (#212, #258, #268, #293)

Adds a test of transactions that exceed the max intrinsic gas for a fee
currency, this checks that the transaction fails and the fee currency is
blocked.

This entailed increasing gas limits
for a number of transactions that interact with fee currencies, since
the fee currencies on alfajores are different to our debug ones and also
tests needed to be updated to not rely on hardcoded fee currency rates.

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

e2e(js): Get extra intrinsic gas for custom fee currency in e2e (#335)

* Get IntrinsicGas for custom fee currency in e2e

* Rename function name and add comments

* Add missing await

* Fix wrong method call

* Fix codes based reviews

e2e: Extract viem initialization code into viem_setup.mjs for reuse (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(js): Add mainnet & baklava config in e2e viem setup (#331, #340)

e2e: Add WebSocket support in e2e (#356)

e2e: set default TERM in e2e test for tput (#380)

e2e: Test fee currencies with failing debit/credit (#85)

This should normally not happen, but we have to make sure that such a
rare case won't crash geth nodes are cause stuck transactions that will
get re-executed on every block.

e2e(fee_currency): Refactor fee currency e2e tests (#212, #258)

Refactors debug fee currency deployment ensuring fee currency cleanup. The
geth-devmode predeployed "oracle3" is reused throughout the e2e tests
for all dynamically deployed fee-currencies. However the tested
fee-currencies are never removed from the FeeCurrencyDirectory.

This causes the node to try to query exchange-rates for the leftover
fee-currencies. This fails, because the oracle associated with the old
fee-currency has a different token address assigned and thus causes a
revert. This issue is not critical and only causes emission of a log
message and some unneccessary evm calls,
but it is better practice to clean up the fee-currency from the
directory anyways.

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

[squash]: e2e(ci): update foundry version to v1.1.0 (#380)

e2e(fee_currency): Update error message assertion (#363)

e2e(fee_currency): Fix account balance check (#266)

e2e(fee_currency): Import viem_setup.mjs instead of setup viem in send_tx.mjs (#261)

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>

e2e(runner|fee_currency): Fix failing e2e test (#371)

* Add Random in BlockContext to enable Merge and Shanghai fork in TryDebitFees

* Add --broadcast option in deploy_fee_currency to ensure fee currency is deployed in e2e

* Fix log assertion in e2e

* Add several e2e tests for admin blocking API

* Remove broadcast

e2e: Add gas estimation e2e test (#356)

e2e: Add e2e test for fee handler (#36)

Use Celo Sepolia for e2e test instead of alfajores

The changed error message is more precise and more stable across geth
versions.

Right now, the test "zero tip fee currency tx rejected" still fails for
Sepolia, but the same is true for Alfajores. It will work once the node
is updated.

Closes celo-org/celo-blockchain-planning#1158
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.

2 participants