From 10d3f263d7ec3b7267feec028bfc94cc50b0c25a Mon Sep 17 00:00:00 2001 From: Jamie Hewitt Date: Mon, 22 Aug 2022 15:54:07 +0300 Subject: [PATCH] Removing urql dependancy --- api/_utils.ts | 27 --------- api/text.ts | 42 ++++---------- package-lock.json | 139 +--------------------------------------------- package.json | 4 +- 4 files changed, 12 insertions(+), 200 deletions(-) diff --git a/api/_utils.ts b/api/_utils.ts index 855a6e6..7995732 100644 --- a/api/_utils.ts +++ b/api/_utils.ts @@ -1,11 +1,4 @@ import { ethers } from 'ethers' -import { - createClient, - dedupExchange, - TypedDocumentNode, - OperationContext, - fetchExchange -} from 'urql' export async function getProvider(): Promise { const provider = new ethers.providers.InfuraProvider( @@ -14,23 +7,3 @@ export async function getProvider(): Promise { ) return provider } - -export async function fetchData( - query: TypedDocumentNode, - variables: any, - context: OperationContext -): Promise { - try { - const client = createClient({ - url: 'https://v4.subgraph.mainnet.oceanprotocol.com/subgraphs/name/oceanprotocol/ocean-subgraph', - exchanges: [dedupExchange, fetchExchange] - }) - - const response = await client.query(query, variables, context).toPromise() - console.log('response', response) - return response - } catch (error) { - console.error('Error fetchData: ', error) - } - return null -} diff --git a/api/text.ts b/api/text.ts index aa88373..6514468 100644 --- a/api/text.ts +++ b/api/text.ts @@ -1,39 +1,17 @@ import type { VercelRequest, VercelResponse } from '@vercel/node' -import { gql, OperationResult } from 'urql' -import { fetchData, getProvider } from './_utils' - -const ProfileTextRecordsQuery = gql<{ - domains: [{ resolver: { texts: string[] } }] -}>` - query ProfileTextRecords($name: String!) { - domains(where: { name: $name }) { - resolver { - texts - } - } - } -` +import { getProvider } from './_utils' export async function getEnsTextRecords( ensName: string ): Promise<{ key: string; value: string }[]> { - // 1. Check which text records are set for the domain with ENS subgraph, - // to prevent unnecessary contract calls. - const result: OperationResult<{ - domains: [{ resolver: { texts: string[] } }] - }> = await fetchData( - ProfileTextRecordsQuery, - { name: ensName }, - { - url: `https://api.thegraph.com/subgraphs/name/ensdomains/ens`, - requestPolicy: 'cache-and-network' - } - ) - console.log('result?.data?.domains[0]?.resolver', result) - if (!result?.data?.domains[0]?.resolver) throw 'No ENS text records found' - - // 2. Retrieve the text records. - const { texts } = result.data.domains[0].resolver + const texts = [ + 'url', + 'com.twitter', + 'com.github', + 'org.telegram', + 'com.discord', + 'com.reddit' + ] const records = [] const provider = await getProvider() @@ -42,7 +20,7 @@ export async function getEnsTextRecords( for (let index = 0; index < texts?.length; index++) { const key = texts[index] const value = await resolver.getText(key) - records.push({ key, value }) + value && records.push({ key, value }) } return records diff --git a/package-lock.json b/package-lock.json index 1d1d1a2..610cdc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "ethers": "^5.7.0", - "urql": "^2.2.3" + "ethers": "^5.7.0" }, "devDependencies": { "@types/react": "^18.0.17", @@ -763,14 +762,6 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz", - "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==", - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.10.4", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", @@ -1112,18 +1103,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@urql/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-2.6.1.tgz", - "integrity": "sha512-gYrEHy3tViJhwIhauK6MIf2Qp09QTsgNHZRd0n71rS+hF6gdwjspf1oKljl4m25+272cJF7fPjBUGmjaiEr7Kg==", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "wonka": "^4.0.14" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, "node_modules/@vercel/build-utils": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-5.3.1.tgz", @@ -2513,15 +2492,6 @@ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, - "node_modules/graphql": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", - "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -2676,12 +2646,6 @@ "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "peer": true - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2750,18 +2714,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "peer": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3337,18 +3289,6 @@ } ] }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -3642,19 +3582,6 @@ "punycode": "^2.1.0" } }, - "node_modules/urql": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/urql/-/urql-2.2.3.tgz", - "integrity": "sha512-XMkSYJKW9s4ZlbSuxcUz3fTBIykOn0sGileRXQeyZpaRBXJPVz5saSY05k7jdefNxShZtTI+/nr7PYUWQertfg==", - "dependencies": { - "@urql/core": "^2.6.1", - "wonka": "^4.0.14" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", - "react": ">= 16.8.0" - } - }, "node_modules/utf-8-validate": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", @@ -3706,11 +3633,6 @@ "node": ">= 8" } }, - "node_modules/wonka": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz", - "integrity": "sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==" - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -4209,12 +4131,6 @@ "@ethersproject/strings": "^5.7.0" } }, - "@graphql-typed-document-node/core": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz", - "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==", - "requires": {} - }, "@humanwhocodes/config-array": { "version": "0.10.4", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", @@ -4442,15 +4358,6 @@ } } }, - "@urql/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-2.6.1.tgz", - "integrity": "sha512-gYrEHy3tViJhwIhauK6MIf2Qp09QTsgNHZRd0n71rS+hF6gdwjspf1oKljl4m25+272cJF7fPjBUGmjaiEr7Kg==", - "requires": { - "@graphql-typed-document-node/core": "^3.1.1", - "wonka": "^4.0.14" - } - }, "@vercel/build-utils": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-5.3.1.tgz", @@ -5410,12 +5317,6 @@ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, - "graphql": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", - "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", - "peer": true - }, "hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -5528,12 +5429,6 @@ "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "peer": true - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -5590,15 +5485,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "peer": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -5996,15 +5882,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "peer": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -6207,15 +6084,6 @@ "punycode": "^2.1.0" } }, - "urql": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/urql/-/urql-2.2.3.tgz", - "integrity": "sha512-XMkSYJKW9s4ZlbSuxcUz3fTBIykOn0sGileRXQeyZpaRBXJPVz5saSY05k7jdefNxShZtTI+/nr7PYUWQertfg==", - "requires": { - "@urql/core": "^2.6.1", - "wonka": "^4.0.14" - } - }, "utf-8-validate": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", @@ -6257,11 +6125,6 @@ "isexe": "^2.0.0" } }, - "wonka": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz", - "integrity": "sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==" - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/package.json b/package.json index fbb3eab..e9099cb 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,6 @@ "version": "0.0.0", "author": "Ocean Protocol ", "license": "Apache-2.0", - "main": "./dist/app.js", "scripts": { "lint": "eslint --ignore-path .gitignore --ext .js --ext .ts --ext .tsx . && npm run type-check", "clean": "rm -rf ./dist", @@ -15,8 +14,7 @@ "test": "npm run test:format && npm run test:integration" }, "dependencies": { - "ethers": "^5.7.0", - "urql": "^2.2.3" + "ethers": "^5.7.0" }, "devDependencies": { "@types/react": "^18.0.17",