UNPKG

randomness-js

Version:

A library for consuming, verifying and using randomness from the dcipher network

32 lines (31 loc) 1.7 kB
import { BigNumberish, BytesLike, Provider, Signer } from "ethers"; export declare const FURNACE_TESTNET_CONTRACT_ADDRESS = "0x8192aF4ce49f473fCa7e3e5a8d819B0763Def048"; export declare const FILECOIN_CALIBNET_CONTRACT_ADDRESS = "0x91c7774C7476F3832919adE7690467DF91bfd919"; export declare const BASE_SEPOLIA_CONTRACT_ADDRESS = "0x455bfe4B1B4393b458d413E2B0778A95F9B84B82"; export declare const POLYGON_POS_CONTRACT_ADDRESS = "0x455bfe4B1B4393b458d413E2B0778A95F9B84B82"; export declare function createBlsDst(chainId: bigint): string; export type RandomnessVerificationParameters = { requestID: bigint; nonce: bigint; randomness: BytesLike; signature: BytesLike; }; export type RandomnessVerificationConfig = { shouldBlowUp: boolean; }; export declare class Randomness { private readonly rpc; private readonly contractAddress; private readonly chainId; private readonly defaultRequestTimeoutMs; private readonly contract; private readonly pk; constructor(rpc: Signer | Provider, contractAddress: string | undefined, chainId: bigint, defaultRequestTimeoutMs?: number); static createFilecoinCalibnet(rpc: Signer | Provider): Randomness; static createFurnace(rpc: Signer | Provider): Randomness; static createBaseSepolia(rpc: Signer | Provider): Randomness; static createPolygonPos(rpc: Signer | Provider): Randomness; static createFromChainId(rpc: Signer | Provider, chainId: BigNumberish): Randomness; requestRandomness(confirmations?: number, timeoutMs?: number): Promise<RandomnessVerificationParameters>; verify(parameters: RandomnessVerificationParameters, config?: RandomnessVerificationConfig): Promise<boolean>; }