import type { ContractTransactionResponse, Signer } from "ethers"; import type { Enclave, IEnclave } from "../../types/contracts/Enclave"; import type { MockUSDC } from "../../types/contracts/test/MockStableToken.sol/MockUSDC"; /** * Build ABI-encoded fake DKG proof bytes accepted by `MockPkVerifier`. * The last public input must equal `pkCommitment`. */ export declare const encodeMockDkgProof: (pkCommitment: string) => string; /** * Run the full committee submission → finalisation → publication flow for an * E3. Operators each submit one ticket, time advances past the submission * window, the committee is finalised, then the public key is published. * * @param registry CiphernodeRegistryOwnable instance. * @param e3Id Target E3 id. * @param nodes Pre-resolved node addresses (sorted as caller wants). * @param publicKey Bytes published as the committee public key. * @param operators Signers who submit tickets (typically === nodes). * @param committeeProof Bytes passed to `publishCommittee` (default "0x"). */ export declare const setupAndPublishCommittee: (registry: any, e3Id: number, publicKey: string, operators: Signer[], committeeProof?: string, dkgAttestationBundle?: string) => Promise; /** * Approve USDC for the quoted fee and submit an E3 request. * * @param enclave Enclave instance. * @param usdcToken MockUSDC instance funding the request. * @param requestParams Struct passed to `enclave.request`. * @param signer Optional non-default signer; defaults to the contracts' * currently-bound runner. */ export declare const makeRequest: (enclave: Enclave, usdcToken: MockUSDC, requestParams: IEnclave.E3RequestParamsStruct, signer?: Signer) => Promise; /** Options for {@link buildRequestParams}. */ export interface BuildRequestParamsOptions { /** `CommitteeSize` enum value. Defaults to `0` (Micro). */ committeeSize?: number; /** Seconds added to `time.latest()` for `inputWindow[0]`. Defaults to `10`. */ startOffset?: number; /** `inputWindow[1] - time.latest()`. Defaults to `300` (5 minutes). */ windowDuration?: number; /** Defaults to `false`. */ proofAggregationEnabled?: boolean; /** Override custom params bytes. Defaults to an ABI-encoded throwaway address. */ customParams?: string; /** Param-set id registered on the Enclave. Defaults to `0`. */ paramSet?: number; } /** * Build a fresh `Enclave.request(...)` struct anchored at the current block * timestamp. Useful when a test needs a second request after `time.increase`. */ export declare const buildRequestParams: (e3Program: { getAddress: () => Promise; } | string, decryptionVerifier: { getAddress: () => Promise; } | string, opts?: BuildRequestParamsOptions) => Promise; //# sourceMappingURL=helpers.d.ts.map