cic-staff-client/src/app/_services/registry.service.ts

32 lines
983 B
TypeScript
Raw Normal View History

2021-04-20 10:28:40 +02:00
import { Injectable } from '@angular/core';
import Web3 from 'web3';
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-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 web3: Web3 = new Web3(environment.web3Provider);
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(
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;
2021-04-20 10:28:40 +02:00
}
}