@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
124 lines (123 loc) • 3.19 kB
TypeScript
export declare const RLN_CONTRACT: {
chainId: number;
address: string;
abi: ({
inputs: never[];
stateMutability: string;
type: string;
name?: undefined;
anonymous?: undefined;
outputs?: undefined;
} | {
inputs: {
internalType: string;
name: string;
type: string;
}[];
name: string;
type: string;
stateMutability?: undefined;
anonymous?: undefined;
outputs?: undefined;
} | {
anonymous: boolean;
inputs: {
indexed: boolean;
internalType: string;
name: string;
type: string;
}[];
name: string;
type: string;
stateMutability?: undefined;
outputs?: undefined;
} | {
inputs: {
internalType: string;
name: string;
type: string;
}[];
name: string;
outputs: {
internalType: string;
name: string;
type: string;
}[];
stateMutability: string;
type: string;
anonymous?: undefined;
})[];
};
export declare const PRICE_CALCULATOR_CONTRACT: {
chainId: number;
address: string;
abi: ({
inputs: {
internalType: string;
name: string;
type: string;
}[];
stateMutability: string;
type: string;
name?: undefined;
anonymous?: undefined;
outputs?: undefined;
} | {
inputs: never[];
name: string;
type: string;
stateMutability?: undefined;
anonymous?: undefined;
outputs?: undefined;
} | {
anonymous: boolean;
inputs: {
indexed: boolean;
internalType: string;
name: string;
type: string;
}[];
name: string;
type: string;
stateMutability?: undefined;
outputs?: undefined;
} | {
inputs: {
internalType: string;
name: string;
type: string;
}[];
name: string;
outputs: {
internalType: string;
name: string;
type: string;
}[];
stateMutability: string;
type: string;
anonymous?: undefined;
})[];
};
/**
* 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
*/
export declare const RATE_LIMIT_TIERS: {
readonly LOW: 20;
readonly MEDIUM: 200;
readonly HIGH: 600;
};
export declare const RATE_LIMIT_PARAMS: {
readonly MIN_RATE: 20;
readonly MAX_RATE: 600;
readonly MAX_TOTAL_RATE: 160000;
readonly EPOCH_LENGTH: 600;
};
/**
* Default Q value for the RLN contract
* This is the upper bound for the ID commitment
* @see https://github.com/waku-org/specs/blob/master/standards/core/rln-contract.md#implementation-suggestions
*/
export declare const RLN_Q: bigint;
export declare const DEFAULT_RATE_LIMIT: 600;