Conversation
As opposed to sending it async, this ensures that we don't end up with an invalid nonce on the next transaction.
|
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/viem@2.9.15 |
e2e_test/js-tests/test_viem_tx.mjs
Outdated
| it("send fee currency tx with just high enough gas price mine", async () => { | ||
| const rate = await getRate(process.env.FEE_CURRENCY); | ||
| const block = await publicClient.getBlock({}); | ||
| // Actually, the base fee will be a bit lower next block, since our blocks | ||
| // are always mostly empty. But the difference will be much less than the | ||
| // exchange rate of 2, so the test will still check that we take the fee | ||
| // currency into account everywhere. | ||
| const maxFeePerGas = block.baseFeePerGas / 2n; | ||
| const maxFeePerGas = rate.toFeeCurrency(block.baseFeePerGas)+2n; | ||
| const request = await walletClient.prepareTransactionRequest({ | ||
| account, | ||
| to: "0x00000000000000000000000000000000DeaDBeef", | ||
| value: 2, | ||
| gas: 90000, | ||
| feeCurrency: process.env.FEE_CURRENCY2, | ||
| maxFeePerGas, | ||
| maxPriorityFeePerGas: 1n, | ||
| gas: 171000, | ||
| feeCurrency: process.env.FEE_CURRENCY, | ||
| maxFeePerGas: maxFeePerGas, | ||
| maxPriorityFeePerGas: 2n, |
There was a problem hiding this comment.
Hey @karlb, I'm thinking probably my modifications here don't make sense because it seems that it is important for this test that the fee per gas for the fee currency than the native currency, and I've modified it to use USDC which is the other way around.
There was a problem hiding this comment.
It seems that the main point of this is that the fee should be too low for native currency, but if the node converts it then it is sufficient. But for USDC it should actually be fine, since the exchange rate results in requiring a lower value for the base-fee compared to when it is denominated in Celo.
There was a problem hiding this comment.
I will leave as is, with a comment that we may want to change this if the exchange rate changes significantly.
Without this it can hang for about 12 minutes!
ezdac
left a comment
There was a problem hiding this comment.
I didn't manage to look at everything in detail yet.
But looks very good so far - this feature is much appreciated.
For future changes: I think we should add more fee-currencies registered in the directory and test this for multiple currencies.
e2e_test/js-tests/test_viem_tx.mjs
Outdated
| it("send fee currency tx with just high enough gas price mine", async () => { | ||
| const rate = await getRate(process.env.FEE_CURRENCY); | ||
| const block = await publicClient.getBlock({}); | ||
| // Actually, the base fee will be a bit lower next block, since our blocks | ||
| // are always mostly empty. But the difference will be much less than the | ||
| // exchange rate of 2, so the test will still check that we take the fee | ||
| // currency into account everywhere. | ||
| const maxFeePerGas = block.baseFeePerGas / 2n; | ||
| const maxFeePerGas = rate.toFeeCurrency(block.baseFeePerGas)+2n; | ||
| const request = await walletClient.prepareTransactionRequest({ | ||
| account, | ||
| to: "0x00000000000000000000000000000000DeaDBeef", | ||
| value: 2, | ||
| gas: 90000, | ||
| feeCurrency: process.env.FEE_CURRENCY2, | ||
| maxFeePerGas, | ||
| maxPriorityFeePerGas: 1n, | ||
| gas: 171000, | ||
| feeCurrency: process.env.FEE_CURRENCY, | ||
| maxFeePerGas: maxFeePerGas, | ||
| maxPriorityFeePerGas: 2n, |
There was a problem hiding this comment.
It seems that the main point of this is that the fee should be too low for native currency, but if the node converts it then it is sufficient. But for USDC it should actually be fine, since the exchange rate results in requiring a lower value for the base-fee compared to when it is denominated in Celo.
e2e_test/js-tests/test_viem_tx.mjs
Outdated
| to: "0x00000000000000000000000000000000DeaDBeef", | ||
| value: 3, | ||
| gas: 90000, | ||
| // dynaimcally retrieve intrinsic gas from feeCurrency directory "feeCurrencyConfig" |
There was a problem hiding this comment.
Do you still plan to implement this for this PR? If not, I would remove the line or add a TODO:, because it doesn't reflect what's happening ;)
karlb
left a comment
There was a problem hiding this comment.
Good feature and a bunch of small improvements on top of that!
This ensures the jobs get killed however the script exits.
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>
…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
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
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>
…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
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
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>
…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
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
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>
…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
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
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>
…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
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
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>
…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
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
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>
…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
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
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>
…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
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
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
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
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
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
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
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
Modifies our e2e tests to be able to run on alfajores if the environment variable
NETWORKis set to 'alfajores'.Also adds a CI step to run them against alfajores.
Note that the
test_fee_currency...tests are skipped because they require the ability to deploy new fee currencies, which we probably don't want to be doing on a live network as it could cause issues for people, and we also don't want to expose the credentials to do so.