Skip to content

fee_currencies: Reduce logging#406

Merged
palango merged 1 commit intocelo-rebase-13from
palango/logging
Jul 14, 2025
Merged

fee_currencies: Reduce logging#406
palango merged 1 commit intocelo-rebase-13from
palango/logging

Conversation

@palango
Copy link

@palango palango commented Jul 14, 2025

Log in Trace severity for fee currencies exceeding the intrinsic gas by up to factor two.

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
@palango palango requested review from gastonponti and karlb July 14, 2025 15:45
Copy link

@piersy piersy left a comment

Choose a reason for hiding this comment

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

Looks good

@palango palango merged commit b5e8544 into celo-rebase-13 Jul 14, 2025
7 checks passed
@palango palango deleted the palango/logging branch July 14, 2025 16:13
Kourin1996 pushed a commit that referenced this pull request Jul 20, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 21, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
palango added a commit that referenced this pull request Jul 22, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
palango added a commit that referenced this pull request Jul 22, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 26, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 28, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 30, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 30, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 31, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Jul 31, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 1, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 3, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 4, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 4, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 4, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 5, 2025
Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 5, 2025
…#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 5, 2025
…#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 6, 2025
…#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
…#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 7, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 8, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
Kourin1996 pushed a commit that referenced this pull request Aug 11, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
karlb pushed a commit that referenced this pull request Nov 5, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
karlb pushed a commit that referenced this pull request Dec 5, 2025
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
karlb pushed a commit that referenced this pull request Jan 6, 2026
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
piersy added a commit that referenced this pull request Jan 17, 2026
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
piersy added a commit that referenced this pull request Jan 17, 2026
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
piersy added a commit that referenced this pull request Jan 21, 2026
…iner-worker (#202)

* Add FeeCurrencyEVMCall error for credit/debit calls

This introduces an internal error that is raised as a consensus error
when a fee-currency contract call (DebitFees() or CreditFees()) fails
during EVM execution.

Note that this does not cause an EVM-execution error within the STF,
but an consensus-relevant error. This means that the fee-currency transaction
will be computed once, but the state will be reverted and the
transaction invalidated, and thus not included in a block.

* Refactor allowlist type from list to set

* Add address-blocklist struct

* Blocklist malfunctioning fee-currencies in miner

Fixes #177

This adds a fee-currency temporary blocklist to the Miner.
A fee-currency is added to the blocklist, when any fee-currency
transaction raises a FeeCurrencyEVMCall error during it's execution.
This will exclude the fee-currency from the allowlist of following
blocks, and any transaction using the same fee-currency will not be
considered for inclusion, even before executing it in the STF.

The fee-currency will remain blocked for 2 hours.
If the fee-currency smart-contract is not fixed onchain until then,
the process above will repeat and the fee-currency will be blocked
once again.
This limits the amount of free compute that can be induced during
the time a malfunctioning fee-currency is active.

* Add address-blocklist unit tests

Add comment about out-of-gas in sub-calls

Not realizing this has cost us a lot of time when investigating a
problem right after the L2 migration. So let's leave a comment to remind
us of this when if happens again.

Closes #346

fee_currencies: Reduce logging (#406)

Log in `Trace` severity for fee curries exceeding the intrinsic gas by
up to factor two.
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

Comments