@ayanworks/polygon-did-resolver
Version:
The polygon resolver library is used for resolving DID’s in Polygon Method Space. The module is supposed to be used as an integeration to polygon library.
29 lines (27 loc) • 994 B
JavaScript
import { networkConfig } from "../config.mjs";
//#region src/utils/did.ts
const POLYGON_DID_REGEX = /* @__PURE__ */ new RegExp(/^did:polygon(:testnet)?:0x[0-9a-fA-F]{40}$/);
function getNetworkFromDid(did) {
if (did.split(":")[2] === "testnet") return "testnet";
return "mainnet";
}
function parseDid(did, options = {}) {
const network = getNetworkFromDid(did);
const didAddress = network === "testnet" ? did.split(":")[3] : did.split(":")[2];
return {
network,
contractAddress: options?.contractAddress ?? networkConfig[network].CONTRACT_ADDRESS,
networkUrl: options?.rpcUrl ?? networkConfig[network].URL,
didAddress
};
}
function validateDid(did) {
return POLYGON_DID_REGEX.test(did);
}
function getDidFromAddress(address, network) {
if (network === "testnet") return `did:polygon:testnet:${address}`;
return `did:polygon:${address}`;
}
//#endregion
export { POLYGON_DID_REGEX, getDidFromAddress, getNetworkFromDid, parseDid, validateDid };
//# sourceMappingURL=did.mjs.map