{"_id":"@bchdomains/reverse-records","_rev":"3-7c81113400a731f7090467c44aaf78fb","name":"@bchdomains/reverse-records","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@bchdomains/reverse-records","version":"1.0.0","description":"Returns multiple LNS reverse records with forward lookup check","main":"index.js","scripts":{"test":"hardhat test","deploy:ropsten":"npx hardhat run --network ropsten scripts/deploy.js","verify:ropsten":"npx hardhat verify --network ropsten 0x5bBFe410e18DCcaebbf5fD7A00844d4255615258 '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:ropsten":"npx hardhat names --network ropsten --addresses","deploy:rinkeby":"npx hardhat run --network rinkeby scripts/deploy.js","verify:rinkeby":"npx hardhat verify --network rinkeby 0x196eC7109e127A353B709a20da25052617295F6f '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:rinkeby":"npx hardhat names --network rinkeby --addresses","deploy:goerli":"npx hardhat run --network goerli scripts/deploy.js","verify:goerli":"npx hardhat verify --network goerli 0x333Fc8f550043f239a2CF79aEd5e9cF4A20Eb41e '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:goerli":"npx hardhat names --network goerli --addresses","deploy:mainnet":"npx hardhat run --network mainnet scripts/deploy.js","verify:mainnet":"npx hardhat verify --network mainnet 0x3671aE578E63FdF66ad4F3E12CC0c0d71Ac7510C '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:mainnet":"npx hardhat names --network mainnet --addresses","test:mainnet":"npx hardhat run --network mainnet scripts/real_data_test.js","build":"npx hardhat compile","prepublishOnly":"yarn build","pub":"yarn publish --access public"},"keywords":[],"author":{"name":"Makoto Inoue"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.1","@nomiclabs/hardhat-etherscan":"^2.1.1","@nomiclabs/hardhat-waffle":"^2.0.1","chai":"^4.3.0","ethereum-waffle":"^3.3.0","ethers":"^5.0.31","graphql":"^15.5.0","hardhat":"^2.0.11","hardhat-dependency-compiler":"^1.1.2","hardhat-deploy":"^0.11.0"},"dependencies":{"@bchdomains/lns-contracts":"^0.0.10","@ensdomains/buffer":"^0.0.10","@ensdomains/dnssec-oracle":"^0.2.0","@ensdomains/ens":"^0.5.0","@ensdomains/resolver":"^0.3.0","dotenv":"^8.2.0","eth-ens-namehash":"^2.0.8"},"_id":"@bchdomains/reverse-records@1.0.0","dist":{"shasum":"ce8bc786ddc5f44a1219880ddcdf71fa8f13b4f0","integrity":"sha512-c6hoqpEzwGDYMfE9SavXicb3t7TNGot9PJ8Z+5HlQRDrtFgwo+NS7a20oichDoqFzCDP8cA1Naxvaq6msbrwdQ==","tarball":"https://registry.npmjs.org/@bchdomains/reverse-records/-/reverse-records-1.0.0.tgz","fileCount":21,"unpackedSize":147967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOH+fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOIxAAnlecpsHEmSzdXwnEQbLOBvygb5SHxt4vrCxwYOYRRtNUfTWS\r\n2YcrAd6+iLpmbMZ+qih0chqsT8SRERQ/joM/fFLyaTGHlK1oYOHf9lLFS4ym\r\ndkkszs9i/JV1IaS6ptRTEFJoaGACGi53Y6QhJOzoAPGTwMV1pnU6UMogpc24\r\niugKebPPKxSPtyjGSKTiU3eyAb0B0o0EjXE7aaWv38g21PDrcOYht9xukUsO\r\nIo7zRfm7MbO6+mqsXvMbRYSKfnWYbaPojvX2FIxzjqxKKVE/sGZEX2T/Nc5i\r\n6Bn0THK5cv3q5IQV8DRT0K95G7MtFnzGrt/eaC40oMzi4usn1dPPpI8NZ/vE\r\npmlI22bQhVqhscwRABYjK57H0VXShto2hqOn/ySvFBzPTIbFSdL0Dr2Qsgsa\r\nZqag9L2vKqWuYFNh4D/jp1QzUyc3U0OWgvRVDUqg1OVYIDejjkJ8E5p1cUKr\r\nWB0GUYTxvwy2iV+KArsvgi5d5jNHW5PFK7vMUBYvh9JvUJZsc6Eo3PWY94cC\r\nFySH/kxPndr61Gx0XPqqe8ZTfcJtyIcuMd5wh/QNiFefpjNxBMoT7H5h+Igc\r\nBCzZI+MwUIxsdb2wOYeHeVxMgQdkicPdCVGToF26E5AeMKxMlNOTyRcYmyPA\r\nn9qqEMHYX938VVG3LQEEfM3jXukaBnI5jSE=\r\n=iEEu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICt37Nreipf3to1N2bVrI7R/FF8cGlcTJJWvAnWjkFvyAiEA1hbX7/p+D3fVm0Dob2m2YBKypfYrVLVphFGv86nTlMs="}]},"_npmUser":{"name":"mainnet_pat","email":"mainnet_pat@protonmail.com"},"directories":{},"maintainers":[{"name":"mainnet_pat","email":"mainnet_pat@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reverse-records_1.0.0_1647869855096_0.05552849256864634"},"_hasShrinkwrap":false},"1.0.1":{"name":"@bchdomains/reverse-records","version":"1.0.1","description":"Returns multiple LNS reverse records with forward lookup check","main":"index.js","scripts":{"test":"hardhat test","deploy:ropsten":"npx hardhat run --network ropsten scripts/deploy.js","verify:ropsten":"npx hardhat verify --network ropsten 0x5bBFe410e18DCcaebbf5fD7A00844d4255615258 '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:ropsten":"npx hardhat names --network ropsten --addresses","deploy:rinkeby":"npx hardhat run --network rinkeby scripts/deploy.js","verify:rinkeby":"npx hardhat verify --network rinkeby 0x196eC7109e127A353B709a20da25052617295F6f '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:rinkeby":"npx hardhat names --network rinkeby --addresses","deploy:goerli":"npx hardhat run --network goerli scripts/deploy.js","verify:goerli":"npx hardhat verify --network goerli 0x333Fc8f550043f239a2CF79aEd5e9cF4A20Eb41e '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:goerli":"npx hardhat names --network goerli --addresses","deploy:mainnet":"npx hardhat run --network mainnet scripts/deploy.js","verify:mainnet":"npx hardhat verify --network mainnet 0x3671aE578E63FdF66ad4F3E12CC0c0d71Ac7510C '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'","query:mainnet":"npx hardhat names --network mainnet --addresses","test:mainnet":"npx hardhat run --network mainnet scripts/real_data_test.js","build":"npx hardhat compile","prepublishOnly":"yarn build","pub":"yarn publish --access public"},"keywords":[],"author":{"name":"Makoto Inoue"},"license":"ISC","devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.1","@nomiclabs/hardhat-etherscan":"^2.1.1","@nomiclabs/hardhat-waffle":"^2.0.1","chai":"^4.3.0","ethereum-waffle":"^3.3.0","ethers":"^5.0.31","graphql":"^15.5.0","hardhat":"^2.0.11","hardhat-dependency-compiler":"^1.1.2","hardhat-deploy":"^0.11.0"},"dependencies":{"@bchdomains/address-encoder":"^0.2.16","@bchdomains/lns-contracts":"^0.0.10","@ensdomains/buffer":"^0.0.10","@ensdomains/dnssec-oracle":"^0.2.0","@ensdomains/ens":"^0.5.0","@ensdomains/resolver":"^0.3.0","dotenv":"^8.2.0","eth-ens-namehash":"^2.0.8"},"_id":"@bchdomains/reverse-records@1.0.1","dist":{"shasum":"be9f24f78fa04944df2c9b6d865385d1039ccb0e","integrity":"sha512-YHdcmNT5zdbYkS8TB/pHHElZbx09O9IUxeMVPL0x/AM4nLdqU8vqOHxPwxd7HNj/6nHLYWSL1fC5rWXKAmI1vA==","tarball":"https://registry.npmjs.org/@bchdomains/reverse-records/-/reverse-records-1.0.1.tgz","fileCount":21,"unpackedSize":173810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOxXZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9OBAAhRmd/I5wjiJRAstZ2llIW/MAVf+Pd1g7ZuJI/CWfUJkpprO3\r\n2x0YLLPiC75Pb383gaT4GinVKhSZvH66isK7tb9BTyZ/e2xFQbaP4pBXrwS+\r\ncprShpo0CWsNHI7rP1z+33kwFKa+0at7LJ0gRA9L2omaIjOhFQwfvDFCPSB+\r\n+9x+vSRgmm/YaCv5awWfwfKufRW/vFn7zykaKDV9zE8T1X9Qb2AlfJOLdgqz\r\neTCLnQKlfB92FiF05CJgIUnxr6DEFBevU8jAlf6pZgc21YakawNK1CY8ANE6\r\nTttCt9cPsVbhlu5ASwWBw8EkI+STRmGggEzz+TyKO/QB5iTH7lyj2c98bEua\r\n1nJQ9hgODst9ts4SAROz0353Gb3tqhPUzrinOQLosS7LR2dXQsofcGHHkiF9\r\n9BzFWCziBe2DJWIlYwKqel19G/p0geyTLp/u7eqZd6eqyRjb/w11/865Xi/T\r\nis5V6yBhxb1KXOusCAJNPGfHO+T4Od1M56M5XwUA92xyPzV/HDQ4pAZnYO+f\r\nJDVJcl1fm0ghN5cZD2FPWyh6lLEX4FESwuw4ycUhLNmtZP75SmUJfHop7NKm\r\n6fGM6qUQXNxi+QLMBkU03ygkiQ14IgQo3D55tbukTdSfro8MUY1a9f/Z9FL9\r\n9e3wjsuQrjGmO1xv9sYxRtInjQ5i+lxSH1g=\r\n=FADW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDOmZfv3rjR83AcSH8P3FvEPrSrnxJvhfN/wMAHo7Dh8AiEAymAXm6TZY0m5vNqvrtXJHEm5BW64ii2jHILWeWB/Xko="}]},"_npmUser":{"name":"mainnet_pat","email":"mainnet_pat@protonmail.com"},"directories":{},"maintainers":[{"name":"kasumi.null","email":"kasumi.null@yandex.com"},{"name":"mainnet_pat","email":"mainnet_pat@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reverse-records_1.0.1_1648039385359_0.5618758088520579"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-21T13:37:35.047Z","1.0.0":"2022-03-21T13:37:35.293Z","modified":"2022-04-04T18:01:54.932Z","1.0.1":"2022-03-23T12:43:05.573Z"},"maintainers":[{"name":"kasumi.null","email":"kasumi.null@yandex.com"},{"name":"mainnet_pat","email":"mainnet_pat@protonmail.com"}],"description":"Returns multiple LNS reverse records with forward lookup check","keywords":[],"author":{"name":"Makoto Inoue"},"license":"ISC","readme":"# Reverse records\n\n\n## How to setup\n\n```\ngit clone https://github.com/bchdomains/reverse-records\ncd reverse-records\ncp env.example .env // Add your mnemonic, infura project id, and etherscan key\nyarn\n```\n\n## CLI\n\n```\nyarn query:ropsten 0x123...,0x234...\n```\n\n## Smart contract API\n\n### getNames([address])\n\nReturns an array of string. If the given address does not have a reverse record or forward record setup, it returns an empty string.\n\n## Usage note\n\nMake sure to compare that the returned names match with the normalised names to prevent from [homograph attack](https://en.wikipedia.org/wiki/IDN_homograph_attack)\n\nExample\n\n```js\nconst namehash = require('eth-ens-namehash');\nconst allnames = await ReverseRecords.getNames(['0x123','0x124'])\nconst validNames = allnames.filter((n) => namehash.normalize(n) === n )\n```\n\n\n## Deployed contract address\n\n- Ropsten: [0x72c33B247e62d0f1927E8d325d0358b8f9971C68](https://ropsten.etherscan.io/address/0x72c33B247e62d0f1927E8d325d0358b8f9971C68)\n- Rinkeby: [0x196eC7109e127A353B709a20da25052617295F6f](https://rinkeby.etherscan.io/address/0x196eC7109e127A353B709a20da25052617295F6f)\n- Goerli: [0x333Fc8f550043f239a2CF79aEd5e9cF4A20Eb41e](https://goerli.etherscan.io/address/0x333Fc8f550043f239a2CF79aEd5e9cF4A20Eb41e)\n- Mainnet: [0x3671aE578E63FdF66ad4F3E12CC0c0d71Ac7510C](https://etherscan.io/address/0x3671aE578E63FdF66ad4F3E12CC0c0d71Ac7510C)\n- SmartBCH: [0x67F0DD63065675830cba1f3CDb74390f4d5251E1](https://smartscan.cash/address/0x67F0DD63065675830cba1f3CDb74390f4d5251E1)\n- SmartBCH Amber: [0xAA5BFa3011E4857ba6C25e841e01504c79268f54](https://smartscan.cash/address/0xAA5BFa3011E4857ba6C25e841e01504c79268f54\n","readmeFilename":"README.md"}