Last active
October 28, 2024 21:51
-
-
Save aaccioly/e8f88d6425a3757954545401967c5435 to your computer and use it in GitHub Desktop.
Script to delete outdate kind 10002 events (NIP-65 Relay List Metadata)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Remove all outdated kind 10002 events | |
| // SPDX-License-Identifier: Unlicense | |
| // SPDX-FileCopyrightText: 2024 Anthony Accioly <anthony@accioly.social> | |
| import WebSocket from 'ws' | |
| import { SimplePool, useWebSocketImplementation } from 'nostr-tools/pool' | |
| import { finalizeEvent, getPublicKey, sortEvents } from 'nostr-tools/pure' | |
| import * as nip19 from 'nostr-tools/nip19' | |
| const relays = [ | |
| 'wss://my-relay.example.com', | |
| 'ws://192.168.1.1:4869' | |
| ] | |
| const sk = nip19.decode('nsec1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa').data | |
| const pk = getPublicKey(sk) | |
| async function removeAllOutdatedKind10002Events() { | |
| if (kind10002Events.length === 0) { | |
| console.log('No kind 10002 events to remove') | |
| return | |
| } | |
| const [firstEvent, ...outdatedEvents] = sortEvents(kind10002Events); | |
| console.log('Most recent kind 10002 event:', firstEvent); | |
| if (outdatedEvents.length === 0) { | |
| console.log('No outdated kind 10002 events to remove') | |
| return | |
| } | |
| const deleteEvent = finalizeEvent({ | |
| kind: 5, | |
| created_at: Math.floor(Date.now() / 1000), | |
| // Event tags with id and kind | |
| tags: outdatedEvents.flatMap(e => [['e', e.id], ['k', '10002']]), | |
| content: 'Deleting outdated kind 10002 events', | |
| }, sk) | |
| console.log('Delete event:', deleteEvent) | |
| await Promise.all(pool.publish(relays, deleteEvent)) | |
| console.log('Deleted', outdatedEvents.length, 'kind 10002 events'); | |
| } | |
| useWebSocketImplementation(WebSocket); | |
| const pool = new SimplePool() | |
| const kind10002Events = await pool.querySync(relays, | |
| { | |
| kinds: [10002], | |
| authors: [pk], | |
| } | |
| ) | |
| console.log('Got', kind10002Events.length, 'kind 10002 events') | |
| await removeAllOutdatedKind10002Events() | |
| pool.destroy() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "name": "nostr-tools-scripts", | |
| "version": "1.0.0", | |
| "main": "main.js", | |
| "license": "Unlicense", | |
| "type": "module", | |
| "scripts": { | |
| "start": "node main.js" | |
| }, | |
| "dependencies": { | |
| "nostr-tools": "^2.9.4", | |
| "ws": "^8.18.0" | |
| }, | |
| "devDependencies": { | |
| "@eslint/js": "^9.13.0", | |
| "eslint": "^9.13.0", | |
| "globals": "^15.11.0" | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| lockfileVersion: '9.0' | |
| settings: | |
| autoInstallPeers: true | |
| excludeLinksFromLockfile: false | |
| importers: | |
| .: | |
| dependencies: | |
| nostr-tools: | |
| specifier: ^2.9.4 | |
| version: 2.9.4 | |
| ws: | |
| specifier: ^8.18.0 | |
| version: 8.18.0 | |
| devDependencies: | |
| '@eslint/js': | |
| specifier: ^9.13.0 | |
| version: 9.13.0 | |
| eslint: | |
| specifier: ^9.13.0 | |
| version: 9.13.0 | |
| globals: | |
| specifier: ^15.11.0 | |
| version: 15.11.0 | |
| packages: | |
| '@eslint-community/eslint-utils@4.4.1': | |
| resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} | |
| engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} | |
| peerDependencies: | |
| eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 | |
| '@eslint-community/regexpp@4.11.2': | |
| resolution: {integrity: sha512-2WwyTYNVaMNUWPZTOJdkax9iqTdirrApgTbk+Qoq5EPX6myqZvG8QGFRgdKmkjKVG6/G/a565vpPauHk0+hpBA==} | |
| engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} | |
| '@eslint/config-array@0.18.0': | |
| resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| '@eslint/core@0.7.0': | |
| resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| '@eslint/eslintrc@3.1.0': | |
| resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| '@eslint/js@9.13.0': | |
| resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| '@eslint/object-schema@2.1.4': | |
| resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| '@eslint/plugin-kit@0.2.1': | |
| resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| '@humanfs/core@0.19.0': | |
| resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} | |
| engines: {node: '>=18.18.0'} | |
| '@humanfs/node@0.16.5': | |
| resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} | |
| engines: {node: '>=18.18.0'} | |
| '@humanwhocodes/module-importer@1.0.1': | |
| resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} | |
| engines: {node: '>=12.22'} | |
| '@humanwhocodes/retry@0.3.1': | |
| resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} | |
| engines: {node: '>=18.18'} | |
| '@noble/ciphers@0.5.3': | |
| resolution: {integrity: sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w==} | |
| '@noble/curves@1.1.0': | |
| resolution: {integrity: sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==} | |
| '@noble/curves@1.2.0': | |
| resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} | |
| '@noble/hashes@1.3.1': | |
| resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==} | |
| engines: {node: '>= 16'} | |
| '@noble/hashes@1.3.2': | |
| resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} | |
| engines: {node: '>= 16'} | |
| '@scure/base@1.1.1': | |
| resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} | |
| '@scure/bip32@1.3.1': | |
| resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==} | |
| '@scure/bip39@1.2.1': | |
| resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} | |
| '@types/estree@1.0.6': | |
| resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} | |
| '@types/json-schema@7.0.15': | |
| resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} | |
| acorn-jsx@5.3.2: | |
| resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} | |
| peerDependencies: | |
| acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 | |
| acorn@8.13.0: | |
| resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} | |
| engines: {node: '>=0.4.0'} | |
| hasBin: true | |
| ajv@6.12.6: | |
| resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} | |
| ansi-styles@4.3.0: | |
| resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} | |
| engines: {node: '>=8'} | |
| argparse@2.0.1: | |
| resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} | |
| balanced-match@1.0.2: | |
| resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} | |
| brace-expansion@1.1.11: | |
| resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} | |
| callsites@3.1.0: | |
| resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} | |
| engines: {node: '>=6'} | |
| chalk@4.1.2: | |
| resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} | |
| engines: {node: '>=10'} | |
| color-convert@2.0.1: | |
| resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} | |
| engines: {node: '>=7.0.0'} | |
| color-name@1.1.4: | |
| resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} | |
| concat-map@0.0.1: | |
| resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} | |
| cross-spawn@7.0.3: | |
| resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} | |
| engines: {node: '>= 8'} | |
| debug@4.3.7: | |
| resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} | |
| engines: {node: '>=6.0'} | |
| peerDependencies: | |
| supports-color: '*' | |
| peerDependenciesMeta: | |
| supports-color: | |
| optional: true | |
| deep-is@0.1.4: | |
| resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} | |
| escape-string-regexp@4.0.0: | |
| resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} | |
| engines: {node: '>=10'} | |
| eslint-scope@8.1.0: | |
| resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| eslint-visitor-keys@3.4.3: | |
| resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} | |
| engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} | |
| eslint-visitor-keys@4.1.0: | |
| resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| eslint@9.13.0: | |
| resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| hasBin: true | |
| peerDependencies: | |
| jiti: '*' | |
| peerDependenciesMeta: | |
| jiti: | |
| optional: true | |
| espree@10.2.0: | |
| resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} | |
| engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} | |
| esquery@1.6.0: | |
| resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} | |
| engines: {node: '>=0.10'} | |
| esrecurse@4.3.0: | |
| resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} | |
| engines: {node: '>=4.0'} | |
| estraverse@5.3.0: | |
| resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} | |
| engines: {node: '>=4.0'} | |
| esutils@2.0.3: | |
| resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} | |
| engines: {node: '>=0.10.0'} | |
| fast-deep-equal@3.1.3: | |
| resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} | |
| fast-json-stable-stringify@2.1.0: | |
| resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} | |
| fast-levenshtein@2.0.6: | |
| resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} | |
| file-entry-cache@8.0.0: | |
| resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} | |
| engines: {node: '>=16.0.0'} | |
| find-up@5.0.0: | |
| resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} | |
| engines: {node: '>=10'} | |
| flat-cache@4.0.1: | |
| resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} | |
| engines: {node: '>=16'} | |
| flatted@3.3.1: | |
| resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} | |
| glob-parent@6.0.2: | |
| resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} | |
| engines: {node: '>=10.13.0'} | |
| globals@14.0.0: | |
| resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} | |
| engines: {node: '>=18'} | |
| globals@15.11.0: | |
| resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==} | |
| engines: {node: '>=18'} | |
| has-flag@4.0.0: | |
| resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} | |
| engines: {node: '>=8'} | |
| ignore@5.3.2: | |
| resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} | |
| engines: {node: '>= 4'} | |
| import-fresh@3.3.0: | |
| resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} | |
| engines: {node: '>=6'} | |
| imurmurhash@0.1.4: | |
| resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} | |
| engines: {node: '>=0.8.19'} | |
| is-extglob@2.1.1: | |
| resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} | |
| engines: {node: '>=0.10.0'} | |
| is-glob@4.0.3: | |
| resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} | |
| engines: {node: '>=0.10.0'} | |
| isexe@2.0.0: | |
| resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} | |
| js-yaml@4.1.0: | |
| resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} | |
| hasBin: true | |
| json-buffer@3.0.1: | |
| resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} | |
| json-schema-traverse@0.4.1: | |
| resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} | |
| json-stable-stringify-without-jsonify@1.0.1: | |
| resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} | |
| keyv@4.5.4: | |
| resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} | |
| levn@0.4.1: | |
| resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} | |
| engines: {node: '>= 0.8.0'} | |
| locate-path@6.0.0: | |
| resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} | |
| engines: {node: '>=10'} | |
| lodash.merge@4.6.2: | |
| resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} | |
| minimatch@3.1.2: | |
| resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} | |
| ms@2.1.3: | |
| resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} | |
| natural-compare@1.4.0: | |
| resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} | |
| nostr-tools@2.9.4: | |
| resolution: {integrity: sha512-Powumwkp+EWbdK1T8IsEX4daTLQhtWJvitfZ6OP2BdU1jJZvNlUp3SQB541UYw4uc9jgLbxZW6EZSdZoSfIygQ==} | |
| peerDependencies: | |
| typescript: '>=5.0.0' | |
| peerDependenciesMeta: | |
| typescript: | |
| optional: true | |
| nostr-wasm@0.1.0: | |
| resolution: {integrity: sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA==} | |
| optionator@0.9.4: | |
| resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} | |
| engines: {node: '>= 0.8.0'} | |
| p-limit@3.1.0: | |
| resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} | |
| engines: {node: '>=10'} | |
| p-locate@5.0.0: | |
| resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} | |
| engines: {node: '>=10'} | |
| parent-module@1.0.1: | |
| resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} | |
| engines: {node: '>=6'} | |
| path-exists@4.0.0: | |
| resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} | |
| engines: {node: '>=8'} | |
| path-key@3.1.1: | |
| resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} | |
| engines: {node: '>=8'} | |
| prelude-ls@1.2.1: | |
| resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} | |
| engines: {node: '>= 0.8.0'} | |
| punycode@2.3.1: | |
| resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} | |
| engines: {node: '>=6'} | |
| resolve-from@4.0.0: | |
| resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} | |
| engines: {node: '>=4'} | |
| shebang-command@2.0.0: | |
| resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} | |
| engines: {node: '>=8'} | |
| shebang-regex@3.0.0: | |
| resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} | |
| engines: {node: '>=8'} | |
| strip-json-comments@3.1.1: | |
| resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} | |
| engines: {node: '>=8'} | |
| supports-color@7.2.0: | |
| resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} | |
| engines: {node: '>=8'} | |
| text-table@0.2.0: | |
| resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} | |
| type-check@0.4.0: | |
| resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} | |
| engines: {node: '>= 0.8.0'} | |
| uri-js@4.4.1: | |
| resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} | |
| which@2.0.2: | |
| resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} | |
| engines: {node: '>= 8'} | |
| hasBin: true | |
| word-wrap@1.2.5: | |
| resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} | |
| engines: {node: '>=0.10.0'} | |
| ws@8.18.0: | |
| resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} | |
| engines: {node: '>=10.0.0'} | |
| peerDependencies: | |
| bufferutil: ^4.0.1 | |
| utf-8-validate: '>=5.0.2' | |
| peerDependenciesMeta: | |
| bufferutil: | |
| optional: true | |
| utf-8-validate: | |
| optional: true | |
| yocto-queue@0.1.0: | |
| resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} | |
| engines: {node: '>=10'} | |
| snapshots: | |
| '@eslint-community/eslint-utils@4.4.1(eslint@9.13.0)': | |
| dependencies: | |
| eslint: 9.13.0 | |
| eslint-visitor-keys: 3.4.3 | |
| '@eslint-community/regexpp@4.11.2': {} | |
| '@eslint/config-array@0.18.0': | |
| dependencies: | |
| '@eslint/object-schema': 2.1.4 | |
| debug: 4.3.7 | |
| minimatch: 3.1.2 | |
| transitivePeerDependencies: | |
| - supports-color | |
| '@eslint/core@0.7.0': {} | |
| '@eslint/eslintrc@3.1.0': | |
| dependencies: | |
| ajv: 6.12.6 | |
| debug: 4.3.7 | |
| espree: 10.2.0 | |
| globals: 14.0.0 | |
| ignore: 5.3.2 | |
| import-fresh: 3.3.0 | |
| js-yaml: 4.1.0 | |
| minimatch: 3.1.2 | |
| strip-json-comments: 3.1.1 | |
| transitivePeerDependencies: | |
| - supports-color | |
| '@eslint/js@9.13.0': {} | |
| '@eslint/object-schema@2.1.4': {} | |
| '@eslint/plugin-kit@0.2.1': | |
| dependencies: | |
| levn: 0.4.1 | |
| '@humanfs/core@0.19.0': {} | |
| '@humanfs/node@0.16.5': | |
| dependencies: | |
| '@humanfs/core': 0.19.0 | |
| '@humanwhocodes/retry': 0.3.1 | |
| '@humanwhocodes/module-importer@1.0.1': {} | |
| '@humanwhocodes/retry@0.3.1': {} | |
| '@noble/ciphers@0.5.3': {} | |
| '@noble/curves@1.1.0': | |
| dependencies: | |
| '@noble/hashes': 1.3.1 | |
| '@noble/curves@1.2.0': | |
| dependencies: | |
| '@noble/hashes': 1.3.2 | |
| '@noble/hashes@1.3.1': {} | |
| '@noble/hashes@1.3.2': {} | |
| '@scure/base@1.1.1': {} | |
| '@scure/bip32@1.3.1': | |
| dependencies: | |
| '@noble/curves': 1.1.0 | |
| '@noble/hashes': 1.3.1 | |
| '@scure/base': 1.1.1 | |
| '@scure/bip39@1.2.1': | |
| dependencies: | |
| '@noble/hashes': 1.3.1 | |
| '@scure/base': 1.1.1 | |
| '@types/estree@1.0.6': {} | |
| '@types/json-schema@7.0.15': {} | |
| acorn-jsx@5.3.2(acorn@8.13.0): | |
| dependencies: | |
| acorn: 8.13.0 | |
| acorn@8.13.0: {} | |
| ajv@6.12.6: | |
| dependencies: | |
| fast-deep-equal: 3.1.3 | |
| fast-json-stable-stringify: 2.1.0 | |
| json-schema-traverse: 0.4.1 | |
| uri-js: 4.4.1 | |
| ansi-styles@4.3.0: | |
| dependencies: | |
| color-convert: 2.0.1 | |
| argparse@2.0.1: {} | |
| balanced-match@1.0.2: {} | |
| brace-expansion@1.1.11: | |
| dependencies: | |
| balanced-match: 1.0.2 | |
| concat-map: 0.0.1 | |
| callsites@3.1.0: {} | |
| chalk@4.1.2: | |
| dependencies: | |
| ansi-styles: 4.3.0 | |
| supports-color: 7.2.0 | |
| color-convert@2.0.1: | |
| dependencies: | |
| color-name: 1.1.4 | |
| color-name@1.1.4: {} | |
| concat-map@0.0.1: {} | |
| cross-spawn@7.0.3: | |
| dependencies: | |
| path-key: 3.1.1 | |
| shebang-command: 2.0.0 | |
| which: 2.0.2 | |
| debug@4.3.7: | |
| dependencies: | |
| ms: 2.1.3 | |
| deep-is@0.1.4: {} | |
| escape-string-regexp@4.0.0: {} | |
| eslint-scope@8.1.0: | |
| dependencies: | |
| esrecurse: 4.3.0 | |
| estraverse: 5.3.0 | |
| eslint-visitor-keys@3.4.3: {} | |
| eslint-visitor-keys@4.1.0: {} | |
| eslint@9.13.0: | |
| dependencies: | |
| '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0) | |
| '@eslint-community/regexpp': 4.11.2 | |
| '@eslint/config-array': 0.18.0 | |
| '@eslint/core': 0.7.0 | |
| '@eslint/eslintrc': 3.1.0 | |
| '@eslint/js': 9.13.0 | |
| '@eslint/plugin-kit': 0.2.1 | |
| '@humanfs/node': 0.16.5 | |
| '@humanwhocodes/module-importer': 1.0.1 | |
| '@humanwhocodes/retry': 0.3.1 | |
| '@types/estree': 1.0.6 | |
| '@types/json-schema': 7.0.15 | |
| ajv: 6.12.6 | |
| chalk: 4.1.2 | |
| cross-spawn: 7.0.3 | |
| debug: 4.3.7 | |
| escape-string-regexp: 4.0.0 | |
| eslint-scope: 8.1.0 | |
| eslint-visitor-keys: 4.1.0 | |
| espree: 10.2.0 | |
| esquery: 1.6.0 | |
| esutils: 2.0.3 | |
| fast-deep-equal: 3.1.3 | |
| file-entry-cache: 8.0.0 | |
| find-up: 5.0.0 | |
| glob-parent: 6.0.2 | |
| ignore: 5.3.2 | |
| imurmurhash: 0.1.4 | |
| is-glob: 4.0.3 | |
| json-stable-stringify-without-jsonify: 1.0.1 | |
| lodash.merge: 4.6.2 | |
| minimatch: 3.1.2 | |
| natural-compare: 1.4.0 | |
| optionator: 0.9.4 | |
| text-table: 0.2.0 | |
| transitivePeerDependencies: | |
| - supports-color | |
| espree@10.2.0: | |
| dependencies: | |
| acorn: 8.13.0 | |
| acorn-jsx: 5.3.2(acorn@8.13.0) | |
| eslint-visitor-keys: 4.1.0 | |
| esquery@1.6.0: | |
| dependencies: | |
| estraverse: 5.3.0 | |
| esrecurse@4.3.0: | |
| dependencies: | |
| estraverse: 5.3.0 | |
| estraverse@5.3.0: {} | |
| esutils@2.0.3: {} | |
| fast-deep-equal@3.1.3: {} | |
| fast-json-stable-stringify@2.1.0: {} | |
| fast-levenshtein@2.0.6: {} | |
| file-entry-cache@8.0.0: | |
| dependencies: | |
| flat-cache: 4.0.1 | |
| find-up@5.0.0: | |
| dependencies: | |
| locate-path: 6.0.0 | |
| path-exists: 4.0.0 | |
| flat-cache@4.0.1: | |
| dependencies: | |
| flatted: 3.3.1 | |
| keyv: 4.5.4 | |
| flatted@3.3.1: {} | |
| glob-parent@6.0.2: | |
| dependencies: | |
| is-glob: 4.0.3 | |
| globals@14.0.0: {} | |
| globals@15.11.0: {} | |
| has-flag@4.0.0: {} | |
| ignore@5.3.2: {} | |
| import-fresh@3.3.0: | |
| dependencies: | |
| parent-module: 1.0.1 | |
| resolve-from: 4.0.0 | |
| imurmurhash@0.1.4: {} | |
| is-extglob@2.1.1: {} | |
| is-glob@4.0.3: | |
| dependencies: | |
| is-extglob: 2.1.1 | |
| isexe@2.0.0: {} | |
| js-yaml@4.1.0: | |
| dependencies: | |
| argparse: 2.0.1 | |
| json-buffer@3.0.1: {} | |
| json-schema-traverse@0.4.1: {} | |
| json-stable-stringify-without-jsonify@1.0.1: {} | |
| keyv@4.5.4: | |
| dependencies: | |
| json-buffer: 3.0.1 | |
| levn@0.4.1: | |
| dependencies: | |
| prelude-ls: 1.2.1 | |
| type-check: 0.4.0 | |
| locate-path@6.0.0: | |
| dependencies: | |
| p-locate: 5.0.0 | |
| lodash.merge@4.6.2: {} | |
| minimatch@3.1.2: | |
| dependencies: | |
| brace-expansion: 1.1.11 | |
| ms@2.1.3: {} | |
| natural-compare@1.4.0: {} | |
| nostr-tools@2.9.4: | |
| dependencies: | |
| '@noble/ciphers': 0.5.3 | |
| '@noble/curves': 1.2.0 | |
| '@noble/hashes': 1.3.1 | |
| '@scure/base': 1.1.1 | |
| '@scure/bip32': 1.3.1 | |
| '@scure/bip39': 1.2.1 | |
| optionalDependencies: | |
| nostr-wasm: 0.1.0 | |
| nostr-wasm@0.1.0: | |
| optional: true | |
| optionator@0.9.4: | |
| dependencies: | |
| deep-is: 0.1.4 | |
| fast-levenshtein: 2.0.6 | |
| levn: 0.4.1 | |
| prelude-ls: 1.2.1 | |
| type-check: 0.4.0 | |
| word-wrap: 1.2.5 | |
| p-limit@3.1.0: | |
| dependencies: | |
| yocto-queue: 0.1.0 | |
| p-locate@5.0.0: | |
| dependencies: | |
| p-limit: 3.1.0 | |
| parent-module@1.0.1: | |
| dependencies: | |
| callsites: 3.1.0 | |
| path-exists@4.0.0: {} | |
| path-key@3.1.1: {} | |
| prelude-ls@1.2.1: {} | |
| punycode@2.3.1: {} | |
| resolve-from@4.0.0: {} | |
| shebang-command@2.0.0: | |
| dependencies: | |
| shebang-regex: 3.0.0 | |
| shebang-regex@3.0.0: {} | |
| strip-json-comments@3.1.1: {} | |
| supports-color@7.2.0: | |
| dependencies: | |
| has-flag: 4.0.0 | |
| text-table@0.2.0: {} | |
| type-check@0.4.0: | |
| dependencies: | |
| prelude-ls: 1.2.1 | |
| uri-js@4.4.1: | |
| dependencies: | |
| punycode: 2.3.1 | |
| which@2.0.2: | |
| dependencies: | |
| isexe: 2.0.0 | |
| word-wrap@1.2.5: {} | |
| ws@8.18.0: {} | |
| yocto-queue@0.1.0: {} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment