anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
64 lines • 4.31 kB
TypeScript
import { ethers } from 'ethers';
import { BlockchainConfig, ContractAddresses } from './types';
export declare class ContractClient {
private provider;
private signer?;
private contracts;
constructor(rpcUrlOrConfig: string | BlockchainConfig, privateKey?: string, contractAddresses?: ContractAddresses);
registerDID(did: string, publicKey: string, documentHash?: string): Promise<ethers.TransactionResponse>;
updateDID(did: string, newPublicKey: string, documentHash?: string): Promise<ethers.TransactionResponse>;
deactivateDID(did: string): Promise<ethers.TransactionResponse>;
transferDID(did: string, newOwner: string): Promise<ethers.TransactionResponse>;
resolveDID(did: string): Promise<any>;
didExists(did: string): Promise<boolean>;
getDIDsByOwner(owner: string): Promise<string[]>;
authorizeIssuer(issuerDID: string): Promise<ethers.TransactionResponse>;
deauthorizeIssuer(issuerDID: string): Promise<ethers.TransactionResponse>;
publishRevocationList(issuerDID: string, credentialHashes: string[], signature: string, merkleRoot?: string): Promise<ethers.TransactionResponse>;
revokeCredentials(issuerDID: string, credentialHashes: string[], signature: string): Promise<ethers.TransactionResponse>;
isCredentialRevoked(issuerDID: string, credentialId: string): Promise<boolean>;
isCredentialRevokedByHash(issuerHash: string, credentialHash: string): Promise<boolean>;
getRevocationList(issuerDID: string): Promise<any>;
getRevokedCredentialCount(issuerDID: string): Promise<bigint>;
verifyRevocationProof(issuerDID: string, credentialHash: string, merkleProof: string[]): Promise<boolean>;
registerSchema(name: string, description: string, schemaHash: string, issuerDID: string, version: string, schemaType: number, dependencies?: string[]): Promise<ethers.TransactionResponse>;
updateSchema(schemaId: number, description: string, schemaHash: string, newVersion: string, dependencies?: string[]): Promise<ethers.TransactionResponse>;
deactivateSchema(schemaId: number): Promise<ethers.TransactionResponse>;
transferSchema(schemaId: number, newOwner: string): Promise<ethers.TransactionResponse>;
getSchemasByIssuer(issuerDID: string): Promise<bigint[]>;
getSchemaIdByName(issuerDID: string, name: string): Promise<bigint>;
getSchemasByType(schemaType: number): Promise<bigint[]>;
schemaExists(schemaId: number): Promise<boolean>;
getTotalSchemaCount(): Promise<bigint>;
getSchemaDependencies(schemaId: number): Promise<string[]>;
hasCircularDependencies(schemaId: number): Promise<boolean>;
getGasPrice(): Promise<bigint>;
estimateGas(method: string, ...args: any[]): Promise<bigint>;
waitForTransaction(txHash: string): Promise<ethers.TransactionReceipt | null>;
getAddress(): string | null;
getBalance(address?: string): Promise<bigint>;
onDIDRegistered(callback: (did: string, owner: string, publicKey: string, timestamp: bigint) => void): void;
onDIDUpdated(callback: (did: string, owner: string, newPublicKey: string, timestamp: bigint) => void): void;
onRevocationListPublished(callback: (issuerHash: string, issuerDID: string, version: bigint, revokedCount: bigint, merkleRoot: string, timestamp: bigint) => void): void;
onCredentialRevoked(callback: (issuerHash: string, credentialHash: string, issuerDID: string, timestamp: bigint) => void): void;
onSchemaRegistered(callback: (schemaId: bigint, issuerDID: string, name: string, version: string, schemaType: number, timestamp: bigint) => void): void;
removeAllListeners(): void;
queryDIDEvents(filter: {
owner?: string;
fromBlock?: number | string;
toBlock?: number | string;
}): Promise<ethers.EventLog[]>;
querySchemaEvents(filter: {
issuerDID?: string;
fromBlock?: number | string;
toBlock?: number | string;
}): Promise<ethers.EventLog[]>;
queryRevocationEvents(filter: {
issuerDID?: string;
fromBlock?: number | string;
toBlock?: number | string;
}): Promise<ethers.EventLog[]>;
checkRevocation(issuerDID: string, credentialHash: string): Promise<boolean>;
getSchema(schemaIdOrName: string | number): Promise<any>;
}
//# sourceMappingURL=contract-client.d.ts.map