diff --git a/proxy/neon_rpc_api_model/transaction_validator.py b/proxy/neon_rpc_api_model/transaction_validator.py index e81ee979e..d965be621 100644 --- a/proxy/neon_rpc_api_model/transaction_validator.py +++ b/proxy/neon_rpc_api_model/transaction_validator.py @@ -41,9 +41,13 @@ def __init__(self, solana: SolanaInteractor, tx: EthTx, min_gas_price: int): self._estimated_gas = 0 self._tx_gas_limit = self._tx.gasLimit + if self._tx.hasChainId() or (not ALLOW_UNDERPRICED_TX_WITHOUT_CHAINID): return + if len(self._tx.callData) == 0: + return + tx_gas_limit = self._tx_gas_limit * NEON_GAS_LIMIT_MULTIPLIER_NO_CHAINID if self.MAX_U64 > tx_gas_limit: self._tx_gas_limit = tx_gas_limit @@ -174,7 +178,7 @@ def _prevalidate_account_sizes(emulator_json: dict): if (not account_desc['code_size']) or (not account_desc['address']): continue if account_desc['code_size'] > ((9 * 1024 + 512) * 1024): - raise EthereumError(f"contract {self._account_desc['address']} " + + raise EthereumError(f"contract {account_desc['address']} " + f"requests a size increase to more than 9.5Mb")