From 9097916b596e4fc182ddf4512f9413087fa59120 Mon Sep 17 00:00:00 2001 From: Evan Sultanik Date: Thu, 14 Mar 2019 07:56:23 -0400 Subject: [PATCH] More informative errors for unimplemented EVM features (#1387) * Report the transaction type that is not yet supported * Added a more informative error about the `STATICCALL` opcode (#1168) * Reminder for when #1168 is addressed --- manticore/platforms/evm.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manticore/platforms/evm.py b/manticore/platforms/evm.py index e14e26949..75c78cc44 100644 --- a/manticore/platforms/evm.py +++ b/manticore/platforms/evm.py @@ -2532,7 +2532,11 @@ def _process_pending_transaction(self): sort, address, price, data, caller, value, gas = self._pending_transaction if sort not in {'CALL', 'CREATE', 'DELEGATECALL', 'CALLCODE'}: - raise EVMException('Type of transaction not supported') + if sort == 'STATICCALL': + # TODO: Remove this once Issue #1168 is resolved + raise EVMException(f"The STATICCALL opcode is not yet supported; see https://github.com/trailofbits/manticore/issues/1168") + else: + raise EVMException(f"Transaction type '{sort}' not supported") if self.depth > 0: assert price is None, "Price should not be used in internal transactions"