import { EventComponent } from '@affinidi/affinity-metrics-lib' import { Affinity } from '@affinidi/common' import { SimpleThing, VCV1, VCV1Subject } from '@affinidi/vc-common' import { SdkOptions } from '../dto' import { getOptionsFromEnvironment } from '../shared/getOptionsFromEnvironment' import { IPlatformCryptographyTools } from '../shared/interfaces' export class PublicTools { private readonly affinidi constructor( platformCryptographyTools: IPlatformCryptographyTools, inputOptions: SdkOptions, component: EventComponent, ) { const { accessApiKey, basicOptions: { metricsUrl, registryUrl }, } = getOptionsFromEnvironment(inputOptions) this.affinidi = new Affinity( { apiKey: accessApiKey, component, metricsUrl, registryUrl, }, platformCryptographyTools, ) } deriveSegmentProof>( credential: VCV1>, fields: string[], didDocument?: any, ) { return this.affinidi.deriveSegmentProof(credential, fields, didDocument) } }