code: def _ecdsa_sign_recoverable(msg32, seckey):
      
      assert isinstance(msg32, bytes)
      assert isinstance(seckey, bytes)
      assert len(msg32) == len(seckey) == 32
      if not _verify_seckey(seckey):
          raise InvalidPrivateKeyError()
  
      # Make a recoverable signature of 65 bytes
      sig64 = ffi.new("secp256k1_ecdsa_recoverable_signature *")
  
      lib.secp256k1_ecdsa_sign_recoverable(
          ctx,
          sig64,
          msg32,
          seckey,
          ffi.addressof(lib, "secp256k1_nonce_function_default"),
          ndata,
      )
      return sig64
docs: Takes a message of 32 bytes and a private key
          Returns a recoverable signature of length 64