@zkp2p/reclaim-witness-sdk
Version:
<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>
56 lines (55 loc) • 1.71 kB
TypeScript
import type { NewTaskCreatedEventObject } from '../../avs/contracts/ReclaimServiceManager';
import type { createClaimOnAttestor } from '../../client';
import type { ClaimTunnelResponse } from '../../proto/api';
import type { CreateClaimOnAttestorOpts, ProofGenerationStep, ProviderName } from '../../types';
export type ChainConfig = {
rpcUrl: string;
/**
* Reclaim AVS contract address
*/
contractAddress: string;
delegationManagerAddress: string;
stakeRegistryAddress: string;
avsDirectoryAddress: string;
};
export type CreateClaimOnAvsStep = {
type: 'taskCreated';
data: NewTaskCreatedEventObject;
} | {
type: 'attestorStep';
data: {
operatorAddress: string;
step: ProofGenerationStep;
};
} | {
type: 'attestorDone';
data: {
task: NewTaskCreatedEventObject;
/**
* Index of the operator in the task
* that has finished the proof generation
*/
responsesDone: ClaimTunnelResponse[];
};
};
export type CreateClaimOnAvsOpts<N extends ProviderName> = (Omit<CreateClaimOnAttestorOpts<N>, 'onStep' | 'client'>) & {
/**
* Chain ID to use for the claim
* @default -- env variable CHAIN_ID
*/
chainId?: string;
/**
* Who will pay for the claim creation, including gas
* costs. Note: the attestor can choose to reject the
* claim if 'attestor' is chosen.
* @default undefined (owner of the claim)
*/
payer?: {
attestor: string;
};
onStep?(step: CreateClaimOnAvsStep): void;
/**
* Override the default createClaimOnAttestor function
*/
createClaimOnAttestor?: typeof createClaimOnAttestor;
};