{"_id":"@ansdomain/ens-avatar","_rev":"1-69514f558e1b7dd97d3ac68cc55b9005","name":"@ansdomain/ens-avatar","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.5":{"version":"0.1.5","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=12"},"scripts":{"start":"watch","build":"build","build:demo":"node ./example/build.js","test":" test","lint":" lint","size":"size-limit"},"husky":{"hooks":{"pre-commit":"yarn lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"testTimeout":20000},"name":"@ansdomain/ens-avatar","author":{"name":"Muhammed Tanrıkulu","email":"muhammed@ens.domains"},"module":"dist/ens-avatar.esm.js","size-limit":[{"path":"dist/ens-avatar.cjs.production.min.js","limit":"200 KB","ignore":["jsdom"]},{"path":"dist/ens-avatar.esm.js","limit":"150 KB","ignore":["jsdom"]}],"devDependencies":{"@size-limit/preset-small-lib":"^7.0.5","@types/dompurify":"^2.3.3","@types/jsdom":"^16.2.14","@types/url-join":"^4.0.1","dotenv":"^16.0.0","esbuild":"^0.14.21","husky":"^7.0.4","nock":"^13.2.2","size-limit":"^7.0.5","tsdx":"^0.14.1","tslib":"^2.3.1","typescript":"^4.5.5"},"dependencies":{"@ethersproject/contracts":"^5.5.0","@ethersproject/providers":"^5.5.2","assert":"^2.0.0","axios":"^0.25.0","axios-cache-interceptor":"^0.9.3","buffer":"^6.0.3","dompurify":"^2.3.5","is-svg":"^4.3.2","multiformats":"^9.6.2","url-join":"^4.0.1"},"volta":{"node":"16.14.0"},"description":"Avatar resolver library for both nodejs and browser.","_id":"@ansdomain/ens-avatar@0.1.5","_nodeVersion":"16.13.1","_npmVersion":"8.3.1","dist":{"integrity":"sha512-TyO/QWzB9NZL2GKZMs4ELAJc3ic1X/o6+EpoJLcAQXTF4dk+s6ZLWqzH1gOxAQ/SHu/YiVI+R3ykB9gGyxpsEw==","shasum":"1f6d4876825b5e7a83008cf36dd0d60fbe5e35bc","tarball":"https://registry.npmjs.org/@ansdomain/ens-avatar/-/ens-avatar-0.1.5.tgz","fileCount":20,"unpackedSize":347309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDPHbtetNbcYpAjP7e3hAIbkxdg9yluQeT7/0OCGx2IOAiBo/p/Fs7exkhUXQTJvpDvW373N32oZ/NG7/qS1dwELXg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMkZkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9WRAAj4uoq7x18Kx/BYrkQronOMPnzAJZ+HrKIUK/HcRzH6uw52+G\r\n2HcfTPkvYXFrvTDVZ3KdYFVE1X7UOvLWxwnLtMZp9PIsdOPs+pwn4RduRe60\r\nIEBXI3WAaoOVO4Kk8DVHbl7QLbkb5bdEQNwgOYxSDNJJUDsMiQ746FLuJcdf\r\nsu+YCpVdvbnqlY215Zrasjm/18vfQYip05M17HMWD0ACHlOExcrRuKgMOQ3N\r\nuIOKAFTRwAT3P41XhtFuuPlutsSpcLICNL0MJDhtVp8pxm8jRzSXUCIM1EXO\r\n2r4X69ridYX/yL0PiWjXFVF1NKTuPf3Fp4eW/4uoPT9hL0P/JE/cwSlIU4B/\r\nOtI9f9pfIjFi4IOUEExcQUWCuwCzUaTwS9/BbXCwbDBArqsg7rvDP8f2iNr9\r\nD88cLR6jZ1m++Tk2kuwAMh+TDXc9JQWcJLN6OsvS/T36fLwFMjJQmGKx+GcN\r\nND9m88FDx4ZvT3plkJi70HOS1n+CHTxsQ8YYdzKbYFTf/p/L6ryDsVMREDnD\r\nVEwIPjhsoRWhyASt3dT8pgevWr+7sndjuN8Yxoo/9oA96qwsxW366FMGjRGr\r\nDVxjHuEluJE74Za9xqiPQtUPCUHvvrCejdwxjZ+IpuHyZiuF2PW4atE+qVFN\r\ni7n406Syy7xOUk+o9JxztEouSs/DBFiKwRw=\r\n=+jRL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arbitrumdomains","email":"arbitrumdns@gmail.com"},"directories":{},"maintainers":[{"name":"arbitrumdomains","email":"arbitrumdns@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ens-avatar_0.1.5_1664239203314_0.8713212125843128"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-27T00:40:03.174Z","0.1.5":"2022-09-27T00:40:04.065Z","modified":"2022-10-26T13:32:52.534Z"},"maintainers":[{"email":"dev.koold@gmail.com","name":"devilla"},{"email":"arbitrumdns@gmail.com","name":"arbitrumdomains"}],"description":"Avatar resolver library for both nodejs and browser.","author":{"name":"Muhammed Tanrıkulu","email":"muhammed@ens.domains"},"license":"MIT","readme":"# ens-avatar\n\nAvatar resolver library for both nodejs and browser.\n\n## Getting started\n\n### Prerequisites\n- Have your web3 provider ready (web3.js, ethers.js)\n- [Only for node env] Have jsdom installed.\n\nAnd good to go!\n\n### Installation\n\n```bash\n# npm\nnpm i @ensdomains/ens-avatar\n# yarn\nyarn add @ensdomains/ens-avatar\n```\n\n### Usage\n\n```js\nimport { StaticJsonRpcProvider } from '@ethersproject/providers';\nimport { AvatarResolver, utils: avtUtils } from '@ensdomains/ens-avatar';\n\n// const { JSDOM } = require('jsdom'); on nodejs\n// const jsdom = new JSDOM().window; on nodejs\n\nconst provider = new StaticJsonRpcProvider(\n    ...\n  );\n...\nasync function getAvatar() {\n    const avt = new AvatarResolver(provider);\n    const avatarURI = await avt.getAvatar('tanrikulu.eth', { /* jsdomWindow: jsdom (on nodejs) */ });\n    // avatarURI = https://ipfs.io/ipfs/QmUShgfoZQSHK3TQyuTfUpsc8UfeNfD8KwPUvDBUdZ4nmR\n}\n\nasync function getAvatarMetadata() {\n    const avt = new AvatarResolver(provider);\n    const avatarMetadata = await avt.getMetadata('tanrikulu.eth');\n    // avatarMetadata = { image: ... , uri: ... , name: ... , description: ... }\n    const avatarURI = avtUtils.getImageURI({ metadata /*, jsdomWindow: jsdom (on nodejs) */ });\n    // avatarURI = https://ipfs.io/ipfs/QmUShgfoZQSHK3TQyuTfUpsc8UfeNfD8KwPUvDBUdZ4nmR\n}\n```\n\n## Supported avatar specs\n\n### NFTs\n- ERC721\n- ERC1155\n\n### URIs\n- HTTP\n- Base64\n- IPFS\n\n## Options\n\n### Cache _(Default: Disabled)_\n```js\nconst avt = new AvatarResolver(provider, { cache: 300 }); // 5 min response cache in memory\n```\n\n### Custom IPFS Gateway _(Default: https://ipfs.io)_\n```js\nconst avt = new AvatarResolver(provider, { ipfs: 'https://dweb.link' });\n```\n\n## Demo\n- Create .env file with INFURA_KEY env variable\n- Build the library\n\n- Node example\n```bash\nnode example/node.js ENS_NAME\n```\n\n- Browser example\n```bash\nyarn build:demo\nhttp-server example\n```\n","readmeFilename":"README.md"}