2021-04-20 10:28:40 +02:00
|
|
|
import { Injectable } from '@angular/core';
|
2021-05-10 18:15:25 +02:00
|
|
|
import { environment } from '@src/environments/environment';
|
|
|
|
import { CICRegistry, FileGetter } from 'cic-client';
|
|
|
|
import { HttpGetter } from '@app/_helpers';
|
2021-05-26 10:30:38 +02:00
|
|
|
import { Web3Service } from '@app/_services/web3.service';
|
2021-04-20 10:28:40 +02:00
|
|
|
|
|
|
|
@Injectable({
|
2021-05-10 18:15:25 +02:00
|
|
|
providedIn: 'root',
|
2021-04-20 10:28:40 +02:00
|
|
|
})
|
|
|
|
export class RegistryService {
|
2021-05-19 18:57:10 +02:00
|
|
|
static fileGetter: FileGetter = new HttpGetter();
|
|
|
|
private static registry: CICRegistry;
|
2021-04-20 10:28:40 +02:00
|
|
|
|
2021-05-19 18:57:10 +02:00
|
|
|
constructor() {}
|
|
|
|
|
|
|
|
public static async getRegistry(): Promise<CICRegistry> {
|
|
|
|
if (!RegistryService.registry) {
|
|
|
|
RegistryService.registry = new CICRegistry(
|
2021-05-20 20:27:06 +02:00
|
|
|
Web3Service.getInstance(),
|
2021-05-19 18:57:10 +02:00
|
|
|
environment.registryAddress,
|
|
|
|
'Registry',
|
|
|
|
RegistryService.fileGetter,
|
|
|
|
['../../assets/js/block-sync/data']
|
|
|
|
);
|
|
|
|
RegistryService.registry.declaratorHelper.addTrust(environment.trustedDeclaratorAddress);
|
|
|
|
await RegistryService.registry.load();
|
|
|
|
}
|
|
|
|
return RegistryService.registry;
|
2021-04-20 10:28:40 +02:00
|
|
|
}
|
|
|
|
}
|