UNPKG

@waku/rln

Version:

RLN (Rate Limiting Nullifier) implementation for Waku

33 lines (30 loc) 1.02 kB
import { PRICE_CALCULATOR_ABI } from './abi/price_calculator.js'; import { RLN_ABI } from './abi/rln.js'; const RLN_CONTRACT = { chainId: 59141, address: "0xb9cd878c90e49f797b4431fbf4fb333108cb90e6", abi: RLN_ABI }; const PRICE_CALCULATOR_CONTRACT = { chainId: 59141, address: "0xBcfC0660Df69f53ab409F32bb18A3fb625fcE644", abi: PRICE_CALCULATOR_ABI }; /** * Rate limit tiers (messages per epoch) * Each membership can specify a rate limit within these bounds. * @see https://github.com/waku-org/specs/blob/master/standards/core/rln-contract.md#implementation-suggestions */ const RATE_LIMIT_TIERS = { STANDARD: 300, MAX: 600 }; // Global rate limit parameters const RATE_LIMIT_PARAMS = { MIN_RATE: RATE_LIMIT_TIERS.STANDARD, MAX_RATE: RATE_LIMIT_TIERS.MAX, MAX_TOTAL_RATE: 160_000, EPOCH_LENGTH: 600 }; const DEFAULT_RATE_LIMIT = RATE_LIMIT_PARAMS.MAX_RATE; export { DEFAULT_RATE_LIMIT, PRICE_CALCULATOR_CONTRACT, RATE_LIMIT_PARAMS, RATE_LIMIT_TIERS, RLN_CONTRACT };