web3-domain-resolver
Version:
Web3 Library that enable with just one function to resolve domains on multiple web3 providers such as ENS, UnstoppableDomains and Freename
56 lines (55 loc) • 4.59 kB
TypeScript
import { Contract, ethers } from "ethers";
import { ConnectionLibrary } from "../../networks/connections/connection-library";
import { ContractConnection } from "../../networks/connections/contract-connection";
import { NetworkName } from "../../networks/connections/network-connection.types";
import { IResolvedResource } from "../../resolvers/resolved-resource/resolved-resource.interface";
import { ProviderName } from "../../resolvers/types/resolver-name";
import { MappedName } from "../../tools/name-tools.types";
import { IResolverProvider } from "../resolver-provider.interface";
export declare abstract class BaseResolverProvider implements IResolverProvider {
constructor(name: ProviderName | string, supportedTlds: string[], readContractConnections: ContractConnection[], writeContractConnections: ContractConnection[]);
get supportedNetworks(): (NetworkName | string)[];
private _writeContractConnections;
get writeContractConnections(): ContractConnection[];
set writeContractConnections(value: ContractConnection[]);
private _readContractConnections;
protected get readContractConnections(): ContractConnection[];
protected set readContractConnections(value: ContractConnection[]);
protected _connectionLibrary?: ConnectionLibrary | undefined;
get connectionLibrary(): ConnectionLibrary | undefined;
set connectionLibrary(value: ConnectionLibrary | undefined);
protected _name: ProviderName | string;
get name(): ProviderName | string;
set name(value: ProviderName | string);
protected _supportedTlds: string[];
get supportedTlds(): string[];
set supportedTlds(value: string[]);
protected getReadContractConnection(networkName: NetworkName | string): ContractConnection | undefined;
protected getWriteContractConnection(networkName: NetworkName | string): ContractConnection | undefined;
protected getWriteContractWithSigner(networkName: NetworkName | string, signer: ethers.Signer): Contract | undefined;
resolve(domainOrTld: string): Promise<IResolvedResource | undefined>;
resolveFromTokenId(tokenId: string, network?: NetworkName | string | undefined): Promise<IResolvedResource | undefined>;
reverseResolve(address: string, network?: NetworkName | string | undefined): Promise<string | undefined>;
getTokenUri(tokenId: string, network?: NetworkName | string | undefined): Promise<string | undefined>;
getMetadata(tokenId: string, network?: NetworkName | string | undefined): Promise<any | undefined>;
getImageUrl(tokenId: string, network?: NetworkName | string | undefined): Promise<string | undefined>;
exists(tokenId: string, network?: NetworkName | string | undefined): Promise<boolean>;
getOwnerAddress(tokenId: string, network?: NetworkName | string | undefined): Promise<string | undefined>;
isApprovedOrOwner(tokenId: string, addressToCheck: string, network?: NetworkName | string | undefined): Promise<boolean>;
getRecord(tokenId: string, key: string, network?: NetworkName | string | undefined): Promise<string | undefined>;
getManyRecords(tokenId: string, keys: string[], network?: NetworkName | string | undefined): Promise<string[] | undefined>;
transfer(resource: IResolvedResource, addressTo: string, signer: ethers.Signer): Promise<boolean>;
setApproved(resource: IResolvedResource, addessToApprove: string, signer: ethers.Signer): Promise<boolean>;
setRecord(resource: IResolvedResource, key: string, value: string, signer: ethers.Signer): Promise<boolean>;
setRecords(resource: IResolvedResource, keys: string[], values: string[], signer: ethers.Signer): Promise<boolean>;
setReverse(resource: IResolvedResource, signer: ethers.Signer): Promise<boolean>;
protected generateResolvedResource(mappedName: MappedName, tokenId: string, network?: NetworkName | string): Promise<IResolvedResource | undefined>;
protected getTokenIdNetwork(tokenId: string): Promise<NetworkName | string | undefined>;
protected getReadContractConnectionFromToken(tokenId: string, network?: NetworkName | string | undefined): Promise<ContractConnection | undefined>;
abstract generateTokenId(mappedName: MappedName): Promise<string | undefined>;
abstract getNetworkFromName(mappedName: MappedName): Promise<NetworkName | string | undefined>;
abstract getRecords(tokenId: string, network?: NetworkName | string | undefined): Promise<{
[key: string]: string;
} | undefined>;
abstract getNameFromTokenId(tokenId: string, network?: NetworkName | string | undefined): Promise<string | undefined>;
}