@authereum/resolution
Version:
Domain Resolution for blockchain domains
28 lines (27 loc) • 1.34 kB
TypeScript
import NamingService from './NamingService';
import { BlockhanNetworkUrlMap, NetworkIdMap, nodeHash } from './types';
import Contract from './utils/contract';
import { NamingServiceName, SourceDefinition, ResolutionMethod } from './publicTypes';
export declare abstract class EthereumNamingService extends NamingService {
readonly name: NamingServiceName;
protected readerContract: Contract;
static readonly UrlMap: BlockhanNetworkUrlMap;
static readonly NetworkNameMap: {
mainnet: number;
ropsten: number;
rinkeby: number;
goerli: number;
kovan: number;
};
static readonly NetworkIdMap: NetworkIdMap;
constructor(source: SourceDefinition | undefined, name: ResolutionMethod);
protected abstract defaultRegistry(network: number): string | undefined;
protected abstract readerAbi(): any;
private networkFromUrl;
protected normalizeSource(source: SourceDefinition): SourceDefinition;
isSupportedNetwork(): boolean;
childhash(parent: nodeHash, label: string): nodeHash;
protected callMethod(contract: Contract, method: string, params: (string | string[])[]): Promise<any>;
protected buildContract(abi: any, address: string): Contract;
protected throwOwnershipError(domain: string, ownerPromise?: Promise<string | null>): Promise<void>;
}