{"_rev":"2-0a5be386bb88dbacbdea1e90df69da26","time":{"created":"2024-08-22T09:22:03.010Z","modified":"2024-08-22T09:22:03.634Z","0.0.1":"2024-08-22T08:46:00.607Z","0.0.2":"2024-08-22T09:22:03.358Z"},"_id":"@dgcgovkh/digitalstamp-dnsprove","name":"@dgcgovkh/digitalstamp-dnsprove","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.2":{"name":"@dgcgovkh/digitalstamp-dnsprove","version":"0.0.2","description":"Helper utility for retrieving OpenAttestations document store address records from DNS","license":"Apache-2.0","repository":{"type":"git","url":""},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.js","author":"","scripts":{"type-check":"tsc --noEmit","test":"jest","coverage":"npm test -- --coverage","postcoverage":"open-cli coverage/lcov-report/index.html","commit":"git-cz","commit:retry":"git-cz --retry","lint":"eslint . --ext js,ts,tsx","lint:fix":"npm run lint -- --fix","docs":"documentation readme src/index.ts --section=API --document-exported --babel=./.babelrc --parse-extension=ts","postdocs":"git add README.md","clean":"rimraf dist","prebuild":"npm run docs && npm run clean","build":"npm run build:esm && npm run build:cjs && npm run build:type","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:type":"tsc -d --emitDeclarationOnly --outDir dist/types","preversion":"npm run lint && npm test && npm run build","semantic-release":"semantic-release"},"lint-staged":{"*.{js,ts,tsx}":["eslint --fix --ext js,ts,tsx","git add"]},"keywords":["generator-nod"],"dependencies":{"axios":"^1.6.3","debug":"^4.3.1","runtypes":"^6.7.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@commitlint/prompt":"^18.4.3","@types/debug":"^4.1.5","@types/jest":"^26.0.23","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-eslint":"^10.1.0","babel-jest":"^26.6.3","commitizen":"^4.3.0","documentation":"^14.0.2","eslint":"^7.25.0","eslint-config-airbnb-base":"^14.2.1","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.4.0","git-cz":"^4.9.0","husky":"^8.0.3","jest":"^26.6.3","lint-staged":"^10.5.4","msw":"0.35.0","open-cli":"^7.2.0","prettier":"^2.2.1","rimraf":"^3.0.2","semantic-release":"^22.0.8","ts-jest":"^26.5.5","typescript":"^4.7.4"},"publishConfig":{"access":"public"},"config":{"commitizen":{"path":"node_modules/@commitlint/prompt"}},"_id":"@dgcgovkh/digitalstamp-dnsprove@0.0.2","gitHead":"07c8ca6732a6c6b3470a3bc945e0d7bb016d35b8","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-zZBy6s8kIKYi22MRrNIC6yOnO8GmGtrAYLOLs+8o/j3kWn9/Amc6+ewGxvw2MauWRTIXuavpwLBsnZfFBJYQAw==","shasum":"45f4a4f99be8d4d17d972f9688a6abda0c2fe02c","tarball":"https://registry.npmjs.org/@dgcgovkh/digitalstamp-dnsprove/-/digitalstamp-dnsprove-0.0.2.tgz","fileCount":43,"unpackedSize":78025,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYyjRbfgvr/As4gK75WShOEHiJKXq+16JligeypiksfAiEAv8iqjawhRpksUkpcvkhcAorWoH7Onrlnpn36FFbLHbA="}]},"_npmUser":{"name":"krisnadev","email":"trykrisnapcu@gmail.com"},"directories":{},"maintainers":[{"name":"krisnadev","email":"trykrisnapcu@gmail.com"},{"name":"seanghay","email":"seanghay.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/digitalstamp-dnsprove_0.0.2_1724318523090_0.22634135132578836"},"_hasShrinkwrap":false}},"maintainers":[{"name":"krisnadev","email":"trykrisnapcu@gmail.com"},{"name":"seanghay","email":"seanghay.dev@gmail.com"}],"description":"Helper utility for retrieving OpenAttestations document store address records from DNS","keywords":["generator-nod"],"repository":{"type":"git","url":""},"license":"Apache-2.0","readme":"# Open Attestation (dnsprove)\r\n\r\nA helper library to retrieve OpenAttestation DNS-TXT records from domains using Google's public DNS service.\r\n\r\nA valid OpenAttestation DNS-TXT record looks like:\r\n\r\n```js\r\n[\r\n  {\r\n    name: \"example.openattestation.com.\",\r\n    type: 16,\r\n    TTL: 110,\r\n    data: '\"openatts net=ethereum netId=3 addr=0x2f60375e8144e16Adf1979936301D8341D58C36C\"',\r\n  },\r\n];\r\n```\r\n\r\nValidation is run on all retrieved records to ensure they conform to the expected format, and records that fail validation will simply be omitted from the returned results.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm i @dgcgovkh/digitalstamp-dnsprove\r\n```\r\n\r\n***\r\n\r\n## Debug\r\n\r\nTo see validation failures run the library with the debug flag turned on, either\r\n\r\nIn Browser:\r\n\r\n`localStorage.debug=\"dnsprove*\"`\r\n\r\nIn NodeJS:\r\n\r\n```sh\r\nDEBUG=\"dnsprove*\" npm run test\r\n```\r\n\r\n## Types\r\n\r\nThis library uses [runtypes](https://github.com/pelotom/runtypes) for compile time static type checking as well as run time input validation. The generated documentation below is inaccurate for any Runtypes generated types due to documentation generator limitations.\r\n\r\n## API\r\n\r\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\r\n\r\n#### Table of Contents\r\n\r\n*   [OpenAttestationDNSTextRecord](#openattestationdnstextrecord)\r\n*   [OpenAttestationDnsDidRecord](#openattestationdnsdidrecord)\r\n*   [IDNSRecord](#idnsrecord)\r\n*   [IDNSQueryResponse](#idnsqueryresponse)\r\n*   [CustomDnsResolver](#customdnsresolver)\r\n*   [defaultDnsResolvers](#defaultdnsresolvers)\r\n*   [queryDns](#querydns)\r\n    *   [Parameters](#parameters)\r\n*   [parseOpenAttestationRecord](#parseopenattestationrecord)\r\n    *   [Parameters](#parameters-1)\r\n*   [parseDocumentStoreResults](#parsedocumentstoreresults)\r\n    *   [Parameters](#parameters-2)\r\n*   [parseDnsDidResults](#parsednsdidresults)\r\n    *   [Parameters](#parameters-3)\r\n*   [getDocumentStoreRecords](#getdocumentstorerecords)\r\n    *   [Parameters](#parameters-4)\r\n    *   [Examples](#examples)\r\n*   [getDnsDidRecords](#getdnsdidrecords)\r\n    *   [Parameters](#parameters-5)\r\n\r\n### OpenAttestationDNSTextRecord\r\n\r\n### OpenAttestationDnsDidRecord\r\n\r\n### IDNSRecord\r\n\r\n### IDNSQueryResponse\r\n\r\n### CustomDnsResolver\r\n\r\nType: function (domain: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): [Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[IDNSQueryResponse](#idnsqueryresponse)>\r\n\r\n### defaultDnsResolvers\r\n\r\nType: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[CustomDnsResolver](#customdnsresolver)>\r\n\r\n### queryDns\r\n\r\n#### Parameters\r\n\r\n*   `domain` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** \r\n*   `customDnsResolvers` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[CustomDnsResolver](#customdnsresolver)>** \r\n\r\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[IDNSQueryResponse](#idnsqueryresponse)>** \r\n\r\n### parseOpenAttestationRecord\r\n\r\nParses one openattestation DNS-TXT record and turns it into an OpenAttestationsDNSTextRecord object\r\n\r\n#### Parameters\r\n\r\n*   `record` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** e.g: '\"openatts net=ethereum netId=3 addr=0x0c9d5E6C766030cc6f0f49951D275Ad0701F81EC\"'\r\n\r\nReturns **GenericObject** \r\n\r\n### parseDocumentStoreResults\r\n\r\nTakes a DNS-TXT Record set and returns openattestation document store records if any\r\n\r\n#### Parameters\r\n\r\n*   `recordSet` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[IDNSRecord](#idnsrecord)>** Refer to tests for examples (optional, default `[]`)\r\n*   `dnssec` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** \r\n\r\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDNSTextRecord](#openattestationdnstextrecord)>** \r\n\r\n### parseDnsDidResults\r\n\r\n#### Parameters\r\n\r\n*   `recordSet` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[IDNSRecord](#idnsrecord)>**  (optional, default `[]`)\r\n*   `dnssec` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** \r\n\r\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDnsDidRecord](#openattestationdnsdidrecord)>** \r\n\r\n### getDocumentStoreRecords\r\n\r\nQueries a given domain and parses the results to retrieve openattestation document store records if any\r\n\r\n#### Parameters\r\n\r\n*   `domain` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** e.g: \"example.openattestation.com\"\r\n*   `customDnsResolvers` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[CustomDnsResolver](#customdnsresolver)>?** \r\n\r\n#### Examples\r\n\r\n```javascript\r\n> getDocumentStoreRecords(\"example.openattestation.com\")\r\n> [ { type: 'openatts',\r\nnet: 'ethereum',\r\nnetId: '3',\r\naddr: '0x2f60375e8144e16Adf1979936301D8341D58C36C',\r\ndnssec: true } ]\r\n```\r\n\r\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDNSTextRecord](#openattestationdnstextrecord)>>** \r\n\r\n### getDnsDidRecords\r\n\r\n#### Parameters\r\n\r\n*   `domain` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** \r\n*   `customDnsResolvers` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[CustomDnsResolver](#customdnsresolver)>?** \r\n\r\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDnsDidRecord](#openattestationdnsdidrecord)>>** \r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}