You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EEST has a module which maps errors from various EVM clients to a common set of exceptions. This mapping is not robust and this results in misleading exceptions being raised.
This will result in TransactionException.TYPE_4_TX_CONTRACT_CREATION exception which is
misleading since no contract was being created.
Why the fill fails
In EEST, by default, a transaction is protected against replay. Support for protected transactions was added
AFTER Homestead (in Spurious Dragon), and so they get correctly rejected for Frontier and Homestead.
Instance of incorrect exception mapping
The above unsupported transaction is rejected with the reason Failed transaction: .
BUG PRIORITY: LOW
EEST has a module which maps errors from various EVM clients to a common set of exceptions. This mapping is not robust and this results in misleading exceptions being raised.
Steps to reproduce
This will result in
TransactionException.TYPE_4_TX_CONTRACT_CREATION
exception which ismisleading since no contract was being created.
Why the fill fails
In EEST, by default, a transaction is protected against replay. Support for protected transactions was added
AFTER Homestead (in Spurious Dragon), and so they get correctly rejected for Frontier and Homestead.
Instance of incorrect exception mapping
The above unsupported transaction is rejected with the reason
Failed transaction:
.This error is mapped by the following code:
execution-spec-tests/src/ethereum_clis/clis/execution_specs.py
Lines 133 to 136 in dac9049
It appears that the code assumes failed transactions are only caused by failure to create a contract which is wrong, as shown here.
Moreover, several other haphazard mappings expect partial error messages:
execution-spec-tests/src/ethereum_clis/clis/execution_specs.py
Lines 137 to 152 in dac9049
We should have a robust error handling mechanism in EEST that produces reliable exceptions.
The text was updated successfully, but these errors were encountered: