File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -529,8 +529,15 @@ impl EthereumAdapter {
529
529
"invalid opcode" ,
530
530
// Ethereum says 1024 is the stack sizes limit, so this is deterministic.
531
531
"stack limit reached 1024" ,
532
+ // See f0af4ab0-6b7c-4b68-9141-5b79346a5f61 for why the gas limit is considered deterministic.
533
+ "out of gas" ,
532
534
] ;
533
535
536
+ let mut geth_execution_errors = GETH_EXECUTION_ERRORS
537
+ . iter ( )
538
+ . map ( |s| * s)
539
+ . chain ( GETH_ETH_CALL_ERRORS_ENV . iter ( ) . map ( |s| s. as_str ( ) ) ) ;
540
+
534
541
let as_solidity_revert_with_reason = |bytes : & [ u8 ] | {
535
542
let solidity_revert_function_selector =
536
543
& tiny_keccak:: keccak256 ( b"Error(string)" ) [ ..4 ] ;
@@ -549,8 +556,7 @@ impl EthereumAdapter {
549
556
550
557
// Check for Geth revert.
551
558
Err ( web3:: Error :: Rpc ( rpc_error) )
552
- if GETH_EXECUTION_ERRORS
553
- . iter ( )
559
+ if geth_execution_errors
554
560
. any ( |e| rpc_error. message . to_lowercase ( ) . contains ( e) ) =>
555
561
{
556
562
Err ( EthereumContractCallError :: Revert ( rpc_error. message ) )
You can’t perform that action at this time.
0 commit comments