def call(self, tx_sender_address: Optional[str] = None, tx_gas: Optional[int] = None,
             block_identifier='pending') -> int:
        """
        :param tx_sender_address:
        :param tx_gas: Force a gas limit
        :param block_identifier:
        :return: `1` if everything ok
        """
        parameters = {}
        if tx_sender_address:
            parameters['from'] = tx_sender_address
        if tx_gas:
            parameters['gas'] = tx_gas
        try:
            success = self.w3_tx.call(parameters, block_identifier=block_identifier)

            if not success:
                raise InvalidInternalTx('Success bit is %d, should be equal to 1' % success)
            return success
        except BadFunctionCallOutput as exc:  # Geth
            return self._parse_vm_exception(str(exc))
        except ValueError as exc:  # Parity
            """
            Parity throws a ValueError, e.g.
            {'code': -32015,
             'message': 'VM execution error.',
             'data': 'Reverted 0x08c379a0000000000000000000000000000000000000000000000000000000000000020000000000000000
                      000000000000000000000000000000000000000000000001b496e76616c6964207369676e6174757265732070726f7669
                      6465640000000000'
            }
            """
            error_dict = exc.args[0]
            data = error_dict.get('data')
            if not data:
                raise exc
            elif isinstance(data, str) and 'Reverted ' in data:
                # Parity
                result = HexBytes(data.replace('Reverted ', ''))
                return self._parse_vm_exception(str(result))
def call(self, tx_sender_address: Optional[str] = None, tx_gas: Optional[int] = None,
             block_identifier='pending') -> int:
        """
        :param tx_sender_address:
        :param tx_gas: Force a gas limit
        :param block_identifier:
        :return: `1` if everything ok
        """
        parameters = {}
        if tx_sender_address:
            parameters['from'] = tx_sender_address
        if tx_gas:
            parameters['gas'] = tx_gas
        try:
            success = self.w3_tx.call(parameters, block_identifier=block_identifier)

            if not success:
                raise InvalidInternalTx('Success bit is %d, should be equal to 1' % success)
            return success
        except BadFunctionCallOutput as exc:  # Geth
            return self._parse_vm_exception(str(exc))
        except ValueError as exc:  # Parity
            """
            Parity throws a ValueError, e.g.
            {'code': -32015,
             'message': 'VM execution error.',
             'data': 'Reverted 0x08c379a0000000000000000000000000000000000000000000000000000000000000020000000000000000
                      000000000000000000000000000000000000000000000001b496e76616c6964207369676e6174757265732070726f7669
                      6465640000000000'
            }
            """
            error_dict = exc.args[0]
            data = error_dict.get('data')
            if not data:
                raise exc
            elif isinstance(data, str) and 'Reverted ' in data:
                # Parity
                result = HexBytes(data.replace('Reverted ', ''))
                return self._parse_vm_exception(str(result))
def call ( self , tx_sender_address : Optional [ str ] = None , tx_gas : Optional [ int ] = None , block_identifier = 'pending' ) -> int : parameters = { } if tx_sender_address : parameters [ 'from' ] = tx_sender_address if tx_gas : parameters [ 'gas' ] = tx_gas try : success = self . w3_tx . call ( parameters , block_identifier = block_identifier ) if not success : raise InvalidInternalTx ( 'Success bit is %d, should be equal to 1' % success ) return success except BadFunctionCallOutput as exc : # Geth return self . _parse_vm_exception ( str ( exc ) ) except ValueError as exc : # Parity """
            Parity throws a ValueError, e.g.
            {'code': -32015,
             'message': 'VM execution error.',
             'data': 'Reverted 0x08c379a0000000000000000000000000000000000000000000000000000000000000020000000000000000
                      000000000000000000000000000000000000000000000001b496e76616c6964207369676e6174757265732070726f7669
                      6465640000000000'
            }
            """ error_dict = exc . args [ 0 ] data = error_dict . get ( 'data' ) if not data : raise exc elif isinstance ( data , str ) and 'Reverted ' in data : # Parity result = HexBytes ( data . replace ( 'Reverted ' , '' ) ) return self . _parse_vm_exception ( str ( result ) )
:param tx_sender_address:
        :param tx_gas: Force a gas limit
        :param block_identifier:
        :return: `1` if everything ok
: param tx_sender_address : : param tx_gas : Force a gas limit : param block_identifier : : return : 1 if everything ok