@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
28 lines (27 loc) • 870 B
TypeScript
import { ethers } from "ethers";
import { IdentityCredential } from "./identity.js";
import { DecryptedCredentials, EncryptedCredentials } from "./keystore/types.js";
export type StartRLNOptions = {
/**
* If not set - will extract MetaMask account and get signer from it.
*/
signer?: ethers.Signer;
/**
* If not set - will use default SEPOLIA_CONTRACT address.
*/
address?: string;
/**
* Credentials to use for generating proofs and connecting to the contract and network.
* If provided used for validating the network chainId and connecting to registry contract.
*/
credentials?: EncryptedCredentials | DecryptedCredentials;
/**
* Rate limit for the member.
*/
rateLimit?: number;
};
export type RegisterMembershipOptions = {
signature: string;
} | {
identity: IdentityCredential;
};