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

@kohaku-eth/provider

v0.1.0-alpha.14

Published

Omni provider helpers that wrap Ethers, Viem, and Colibri.

Readme

@kohaku-eth/provider

Omni provider helpers that wrap Ethers, Viem, Helios, and Colibri.

Receipt waiting

waitForTransaction(txHash) resolves when the provider returns a receipt. A receipt can describe a reverted transaction; check its status separately. Waiting does not add confirmations, finality checks or proof verification. Those properties depend on the selected provider and its configuration.

Configure the interval and total timeout when creating a raw provider:

import { raw } from '@kohaku-eth/provider/raw';

const provider = raw(rpcClient, {
    waitForTransaction: { pollIntervalMs: 1_000, timeoutMs: 120_000 },
});

await provider.waitForTransaction(txHash);

The same settings are available on the verified-provider adapters:

import { helios } from '@kohaku-eth/provider/helios';
import { colibri } from '@kohaku-eth/provider/colibri';
import type { RawProviderOptions } from '@kohaku-eth/provider/raw';

const options: RawProviderOptions = {
    waitForTransaction: { pollIntervalMs: 1_000, timeoutMs: 120_000 },
};

const heliosProvider = await helios(heliosConfig, 'ethereum', false, options);
const colibriProvider = await colibri(colibriConfig, options);

These are Kohaku waiting settings; they are not passed into the underlying light-client SDKs. The anon adapter continues to accept the same settings inside AnonConfig.waitForTransaction and now uses the shared waiting loop.

| Adapter | Default interval | Default timeout | | --- | --- | --- | | raw, Helios, Colibri | 100 ms | 10 seconds | | anon | 4 seconds | 5 minutes | | ethers, viem | Managed by the underlying library | Managed by the underlying library |

Existing defaults remain unchanged for compatibility. A wallet that expects slower inclusion or RPC round trips should choose a longer timeout. Supplying one setting preserves the other adapter default. Values must be integers from 1 to 2,147,483,647 milliseconds, the supported timer range.

The polling interval starts after the previous request completes, so receipt requests do not overlap. The timeout includes time spent inside a request and can reject the wait even if that request never settles. After success, RPC failure or timeout, the waiting loop clears its timers and starts no further polls. This provider interface cannot cancel an RPC request already in flight. Timeout errors use Timed out waiting for transaction: <hash>; other RPC errors propagate unchanged. A timeout does not mean the transaction failed.

Run the provider's offline tests with:

pnpm --filter @kohaku-eth/provider test