docs: def change_version_byte(address, new_version=None, new_crypto=None):
      """
      Convert the passed in address (or any base58 encoded string), and change the
      version byte to `new_version`.
      """
      if not new_version and new_crypto:
          try:
              new_version = crypto_data[new_crypto]['address_version_byte']
          except KeyError:
              raise CurrencyNotSupported("Unknown currency symbol: " + new_crypto)
  
          if not new_version:
              raise CurrencyNotSupported("Can't yet make %s addresses." % new_crypto)
  
      payload = b58decode_check(address)[1:]
      if is_py2:
          byte = chr(new_version)
      else:
          byte = bytes(chr(new_version), 'ascii')
  
      return b58encode_check(byte + payload)