@krebitdao/reputation-passport
Version:
Krebit SDK for Verified Credentials
115 lines • 4.58 kB
TypeScript
import { ethers } from 'ethers';
import { CeramicClient } from '@ceramicnetwork/http-client';
import { DIDDataStore } from '@glazed/did-datastore';
import { W3CCredential } from '@krebitdao/eip712-vc';
import { ClaimProps } from '../utils/index.js';
import { IConfigProps } from '../config/index.js';
interface IProps extends IConfigProps {
wallet: ethers.Signer;
ethProvider: ethers.providers.Provider | ethers.providers.ExternalProvider;
address: string;
}
interface IssuerProps {
first?: number;
type: string;
}
interface StampsProps {
first?: number;
type?: string;
claimId?: string;
}
interface EncryptedProps {
encryptedSymmetricKey: string;
encryptedString?: string;
accessControlConditions?: any[];
unifiedAccessControlConditions?: string;
}
export declare class Krebit {
ceramic: CeramicClient;
idx: DIDDataStore;
address: string;
did: string;
krbContract: any;
nftContract: any;
wallet: ethers.Signer;
ethProvider: ethers.providers.Provider | ethers.providers.ExternalProvider;
private currentConfig;
private biconomy;
constructor(props?: IProps);
connect: (currentSession?: string, defaultChainId?: string) => Promise<string>;
isConnected: () => Promise<boolean>;
setTypeSchema: (type: string, schema: any) => Promise<string>;
getTypeSchema: (type?: string, did?: string) => Promise<ModelTypeAliases>;
getCredential: (vcId: string) => Promise<W3CCredential>;
checkCredential: (w3cCredential: W3CCredential) => boolean;
validCredentialSignature: (w3cCredential: W3CCredential) => boolean;
isCredentialExpired: (w3cCredential: W3CCredential) => boolean;
getEncryptedCredentialConditions: (vcId: string) => Promise<any>;
shareEncryptedCredentialWith: (vcId: string, newAccessControlConditions: any[], permanent?: boolean) => Promise<void>;
removeAllEncryptedCredentialShares: (vcId: string) => Promise<void>;
decryptCredential: (w3cCredential: W3CCredential) => any;
encryptClaimValue: (value: any, ethereumAddress: string) => Promise<{
unifiedAccessControlConditions: string;
encryptedString: string;
encryptedSymmetricKey: any;
chain: "mumbai" | "polygon" | "goerli" | "mainnet";
}>;
decryptClaimValue: (encryptedClaimValue: EncryptedProps) => Promise<any>;
getClaimValue: (w3cCredential: W3CCredential) => any;
compareClaimValueHash: (claimValue: any, w3cCredential: W3CCredential) => boolean;
getIssuers: (props: IssuerProps) => Promise<any>;
issue: (claim: ClaimProps) => Promise<{
proof: import("@krebitdao/eip712-vc").Proof;
'@context': string[];
type: string[];
id: string;
issuer: {
id: string;
ethereumAddress: string;
};
credentialSubject: {
id: string;
trust: number;
stake: number;
price: number;
nbf: number;
exp: number;
value: any;
type: string;
typeSchema: string;
ethereumAddress: string;
did: string;
expirationDate: string;
tags?: string[];
encrypt?: "hash" | "lit" | "plain";
shareEncryptedWith?: string;
};
credentialSchema: {
id: string;
type: string;
};
issuanceDate: string;
expirationDate: string;
}>;
stampCredential: (w3cCredential: W3CCredential) => Promise<any>;
mintCredentialNFT: (w3cCredential: W3CCredential) => Promise<any>;
stamp: (w3cCredential: W3CCredential) => Promise<any>;
mintNFT: (w3cCredential: W3CCredential) => Promise<any>;
isMinted: (w3cCredential: W3CCredential) => Promise<any>;
nftBalance: (credentialType: string) => Promise<any>;
stampCost: (w3cCredential: W3CCredential) => Promise<{
estimatedFee: string;
totalCost: string;
}>;
getStamps: (props: StampsProps) => Promise<any>;
checkStamp: (stamp: any) => Promise<any>;
revokeStamp: (stamp: any, reason: string) => Promise<any>;
suspendStamp: (stamp: any, reason: string) => Promise<any>;
expireStamp: (stamp: any) => Promise<any>;
removeStamp: (stamp: any, reason: string) => Promise<any>;
createDocument: (content: any, tags: string[], schema: string, family?: string) => Promise<string>;
getDocument: (streamId: string) => Promise<unknown>;
updateDocument: (content: any, streamId: string) => Promise<void>;
}
export {};
//# sourceMappingURL=Krebit.d.ts.map