code: def send_transaction(self, fn_name, fn_args, transact=None):
          
          contract_fn = getattr(self.contract.functions, fn_name)(*fn_args)
          contract_function = SquidContractFunction(
              contract_fn
          )
          return contract_function.transact(transact)
docs: Calls a smart contract function using either `personal_sendTransaction` (if
          passphrase is available) or `ether_sendTransaction`.
  
          :param fn_name: str the smart contract function name
          :param fn_args: tuple arguments to pass to function above
          :param transact: dict arguments for the transaction such as from, gas, etc.
          :return: