npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@midnight-ntwrk/midnight-js-dapp-connector-proof-provider

v4.0.4

Published

Implementation of proof provider leveraging the DApp Connector's proving API

Readme

DApp Connector Proof Provider

Proof provider implementation that delegates zero-knowledge proof generation to a DApp Connector wallet. Use this when your dApp runs in a browser and the user's wallet handles proving.

Installation

yarn add @midnight-ntwrk/midnight-js-dapp-connector-proof-provider

Quick Start

import { dappConnectorProofProvider } from '@midnight-ntwrk/midnight-js-dapp-connector-proof-provider';

const proofProvider = await dappConnectorProofProvider(
  walletConnectedAPI,
  zkConfigProvider,
  costModel
);

const provenTx = await proofProvider.proveTx(unprovenTx);

Configuration

| Parameter | Required | Description | | ------------------ | -------- | --------------------------------------------------- | | api | ✓ | DApp Connector wallet API with proving capabilities | | zkConfigProvider | ✓ | Provider for ZK configuration artifacts | | costModel | ✓ | Cost model for transaction proving |

Architecture

This package provides two abstraction levels for wallet-delegated proof generation:

ProofProvider (dappConnectorProofProvider) - Transaction-level
    ↓ uses internally
ProvingProvider (dappConnectorProvingProvider) - Circuit-level
    ↓ delegates to
DApp Connector Wallet (getProvingProvider)

High-Level: Transaction Proving

Use dappConnectorProofProvider for most use cases. It wraps the wallet's proving capabilities with a cost model to handle complete transactions.

import { dappConnectorProofProvider } from '@midnight-ntwrk/midnight-js-dapp-connector-proof-provider';

const proofProvider = await dappConnectorProofProvider(
  walletConnectedAPI,
  zkConfigProvider,
  costModel
);

const provenTx = await proofProvider.proveTx(unprovenTx);

Low-Level: Circuit Proving

Use dappConnectorProvingProvider for advanced scenarios requiring direct access to the wallet's proving provider without cost model integration.

import { dappConnectorProvingProvider } from '@midnight-ntwrk/midnight-js-dapp-connector-proof-provider';

const provingProvider = await dappConnectorProvingProvider(
  walletConnectedAPI,
  zkConfigProvider
);

API

ProofProvider (High-Level)

dappConnectorProofProvider<K extends string>(
  api: DAppConnectorProvingAPI,
  zkConfigProvider: ZKConfigProvider<K>,
  costModel: CostModel
): Promise<ProofProvider>

Creates a ProofProvider that delegates proving to the wallet and applies the given cost model. The wallet's proving provider is obtained once during initialization and reused for all subsequent proveTx calls.

ProvingProvider (Low-Level)

dappConnectorProvingProvider<K extends string>(
  api: DAppConnectorProvingAPI,
  zkConfigProvider: ZKConfigProvider<K>
): Promise<ProvingProvider>

Obtains a ProvingProvider directly from the DApp Connector wallet. Extracts key material from the ZK config provider and passes it to the wallet's getProvingProvider method.

DAppConnectorProvingAPI

type DAppConnectorProvingAPI = Pick<WalletConnectedAPI, 'getProvingProvider'>

Minimal interface required from the DApp Connector wallet. Only the getProvingProvider method is needed, allowing loose coupling to the full wallet API.

Exports

import {
  // High-level: Transaction proving
  dappConnectorProofProvider,

  // Low-level: Circuit proving
  dappConnectorProvingProvider,
  type DAppConnectorProvingAPI
} from '@midnight-ntwrk/midnight-js-dapp-connector-proof-provider';

Resources

Terms & License

By using this package, you agree to Midnight's Terms and Conditions and Privacy Policy.

Licensed under Apache License 2.0.