code: def transact_with_contract_function(
          address,
          web3,
          function_name=None,
          transaction=None,
          contract_abi=None,
          fn_abi=None,
          *args,
          **kwargs):
      
      transact_transaction = prepare_transaction(
          address,
          web3,
          fn_identifier=function_name,
          contract_abi=contract_abi,
          transaction=transaction,
          fn_abi=fn_abi,
          fn_args=args,
          fn_kwargs=kwargs,
      )
  
      txn_hash = web3.eth.sendTransaction(transact_transaction)
      return txn_hash
docs: Helper function for interacting with a contract function by sending a
      transaction.