import { Injectable } from '@angular/core'; import Web3 from 'web3'; import { environment } from '@src/environments/environment'; import { CICRegistry, FileGetter } from 'cic-client'; import { HttpGetter } from '@app/_helpers'; @Injectable({ providedIn: 'root', }) export class RegistryService { static web3: Web3 = new Web3(environment.web3Provider); static fileGetter: FileGetter = new HttpGetter(); private static registry: CICRegistry; constructor() {} public static async getRegistry(): Promise { if (!RegistryService.registry) { RegistryService.registry = new CICRegistry( RegistryService.web3, environment.registryAddress, 'Registry', RegistryService.fileGetter, ['../../assets/js/block-sync/data'] ); RegistryService.registry.declaratorHelper.addTrust(environment.trustedDeclaratorAddress); await RegistryService.registry.load(); } return RegistryService.registry; } }