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

@lastvault.io/auditor-sdk

v0.1.0

Published

TypeScript SDK for SelectiveDisclosure auditors. Enumerate encrypted attestations and decrypt allowed fields via per-auditor FHE permits with a single import.

Readme

@lastvault.io/auditor-sdk

Audit FHE-protected attestations in 3 lines of TypeScript.

A focused SDK for compliance auditors, lawyers, notaries, and regulators who need to verify the integrity of LastVault inheritance flows without learning the heir's identity.

Built on top of Fhenix CoFHE and the LastVault SelectiveDisclosure contract.


Why this exists

The CoFHE SDK is powerful but learning to use it for audit-only reads takes a few hundred lines of boilerplate (permits, decryption, retry on expiry, chain config). This SDK reduces auditor onboarding to:

import { LastVaultAuditor } from '@lastvault.io/auditor-sdk';

const auditor = new LastVaultAuditor({
  rpcUrl: 'https://sepolia-rollup.arbitrum.io/rpc',
  disclosureAddress: '0xF23774a8c8a4A4FdA675EA56e44Ee7B4B07fDc36',
  auditorPrivateKey: process.env.AUDITOR_PK!,
});

const attestations = await auditor.listAttestations();
const verified = await auditor.decryptVerifiedStatus(0);
const totalClaims = await auditor.countVerifiedOfKind('ClaimVerified');

That's it. The SDK handles permit caching, expiry retries, chain config, and the CoFHE handshake under the hood.


Install

npm install @lastvault.io/auditor-sdk @cofhe/sdk ethers viem

The CoFHE SDK, ethers, and viem are listed as peer dependencies so they share versions with your existing setup.


API

new LastVaultAuditor(config)

Configure with RPC URL, target SelectiveDisclosure contract address, and the auditor's private key.

interface AuditorConfig {
  rpcUrl: string;
  disclosureAddress: `0x${string}`;
  auditorPrivateKey: `0x${string}`;
  chainName?: 'arbitrumSepolia' | 'sepolia';  // default: arbitrumSepolia
}

await auditor.listAttestations()

Enumerate all attestations (plaintext metadata only — kind, timestamp, context hash). Returns:

interface AttestationMeta {
  index: number;
  timestamp: bigint;
  kind: 'VaultDeployed' | 'HeirAdded' | 'ClaimVerified' | ...;
  contextHash: `0x${string}`;
}

await auditor.decryptVerifiedStatus(attestationIdx)

Decrypt the verified boolean of a specific attestation using the auditor's CoFHE permit. Automatically retries on permit expiry.

Returns true (event verified successfully) or false (event recorded as failure).

await auditor.countVerifiedOfKind(kind)

Encrypted aggregate query: counts the number of attestations of a given kind where verified == true. The count is computed in ciphertext on-chain (FHE.select + FHE.add chain) and decrypted client-side using the auditor's permit.

const totalSuccessfulClaims = await auditor.countVerifiedOfKind('ClaimVerified');
// 17

await auditor.isRegisteredAuditor()

Convenience check whether the configured private key corresponds to an auditor registered on the contract.


Privacy model

The SDK respects the per-field permit model of SelectiveDisclosure:

Decryptable to all auditorsverified boolean per attestation (the compliance summary) ✅ Decryptable by aggregatecountVerifiedOfKind (auditor-allowed at compute time) ❌ NOT decryptable without explicit owner disclosureinvolvedParty (the heir's address)

Heir identity remains encrypted on-chain even from auditors, until the vault owner explicitly calls discloseIdentity(idx, auditor) for a specific attestation (a court-order pattern).


Live target

The SDK is built against the production SelectiveDisclosure deployment on Arbitrum Sepolia:

0xF23774a8c8a4A4FdA675EA56e44Ee7B4B07fDc36 — verified


License

MIT — see LICENSE.


Links