docs: def doPoolUpgrade(self, upgrade: Upgrade):
          """
          Used to send a new code upgrade
          :param upgrade: upgrade data
          :return: number of pending txns
          """
          key = upgrade.key
          self._upgrades[key] = upgrade
          req = upgrade.ledgerRequest()
          if req:
              self.pendRequest(req, key)
          return len(self._pending)