docs: def propose(self, template_address, account):
          """
          Propose a new template.
  
          :param template_address: Address of the template contract, str
          :param account: account proposing the template, Account
          :return: bool
          """
          try:
              proposed = self._keeper.template_manager.propose_template(template_address, account)
              return proposed
          except ValueError as err:
              template_values = self._keeper.template_manager.get_template(template_address)
              if not template_values:
                  logger.warning(f'Propose template failed: {err}')
                  return False
  
              if template_values.state != 1:
                  logger.warning(
                      f'Propose template failed, current state is set to {template_values.state}')
                  return False
  
              return True