diff --git a/.env b/.env index daabb5224..5ea51be80 100644 --- a/.env +++ b/.env @@ -6,7 +6,7 @@ VITE_TOP_100_INDEXERS=https://leaderboard-api.subquery.network/graphql VITE_CONSUMER_HOST_ENDPOINT=https://kepler-chs.subquery.network VITE_FORUM_DOMAIN=https://forum.subquery.network VITE_TOKEN=kSQT -VITE_STABLE_TOKEN=USDC +VITE_STABLE_TOKEN=USDC.e VITE_STABLE_TOKEN_ADDRESS=0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 VITE_FLEXPLAN_ENABLED=true VITE_STUDIO_ENABLED=false diff --git a/.env.staging b/.env.staging index 940c8b2c9..6a3bc82d7 100644 --- a/.env.staging +++ b/.env.staging @@ -6,7 +6,7 @@ VITE_TOP_100_INDEXERS=https://leaderboard-api.subquery.network/graphql VITE_CONSUMER_HOST_ENDPOINT=https://kepler-chs.subquery.network VITE_FORUM_DOMAIN=https://forum.subquery.network VITE_TOKEN=kSQT -VITE_STABLE_TOKEN=USDC +VITE_STABLE_TOKEN=USDC.e VITE_STABLE_TOKEN_ADDRESS=0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 VITE_FLEXPLAN_ENABLED=true VITE_STUDIO_ENABLED=false diff --git a/.env.testnet b/.env.testnet index 6121433b7..ac2368577 100644 --- a/.env.testnet +++ b/.env.testnet @@ -5,7 +5,7 @@ VITE_QUERY_SWAP_EXCHANGE_PROJECT=https://api.subquery.network/sq/subquery/kepler VITE_TOP_100_INDEXERS=https://leaderboard-api.thechaindata.com/graphql VITE_CONSUMER_HOST_ENDPOINT=https://kepler-consumer-host.thechaindata.com VITE_TOKEN=kSQT -VITE_STABLE_TOKEN=USDC +VITE_STABLE_TOKEN=USDC.e VITE_STABLE_TOKEN_ADDRESS=0x7E65A71046170A5b1AaB5C5cC64242EDF95CaBEA VITE_NETWORK=testnet VITE_FLEXPLAN_ENABLED=true diff --git a/package.json b/package.json index 1e8694871..9f7d91f85 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "@polkadot/util": "^7.8.2", "@rainbow-me/rainbowkit": "^1.2.0", "@sentry/react": "^7.57.0", - "@subql/apollo-links": "1.2.2", + "@subql/apollo-links": "^1.2.3", "@subql/components": "1.0.3-20", "@subql/contract-sdk": "0.16.2", "@subql/network-clients": "^0.3.17", diff --git a/src/components/TabButton/TabButton.module.less b/src/components/TabButton/TabButton.module.less index dc3403538..d87c448dc 100644 --- a/src/components/TabButton/TabButton.module.less +++ b/src/components/TabButton/TabButton.module.less @@ -2,6 +2,10 @@ display: flex; margin: 0.5rem 0; position: relative; + width: 100%; +} + +.withUnderline { &::after { content: ' '; position: absolute; @@ -11,6 +15,7 @@ bottom: 0; } } + .whiteTabContainer { background: white; } diff --git a/src/components/TabButton/TabButton.tsx b/src/components/TabButton/TabButton.tsx index d631889f3..8375e7d76 100644 --- a/src/components/TabButton/TabButton.tsx +++ b/src/components/TabButton/TabButton.tsx @@ -39,11 +39,19 @@ export const TabButton: React.FC = ({ label, link, whiteTab, too interface TabButtonsProps { tabs: Array; whiteTab?: boolean; + withUnderline?: boolean; } -export const TabButtons: React.FC = ({ tabs, whiteTab }) => { +export const TabButtons: React.FC = ({ tabs, whiteTab, withUnderline = false }) => { return ( -
+
{tabs.map((tab) => ( ))} diff --git a/src/containers/QueryApolloProvider.tsx b/src/containers/QueryApolloProvider.tsx index 862fc4837..ab1812ce0 100644 --- a/src/containers/QueryApolloProvider.tsx +++ b/src/containers/QueryApolloProvider.tsx @@ -14,7 +14,7 @@ export const TOP_100_INDEXERS = 'top100Indexers'; const top100IndexersLink = getHttpLink(import.meta.env.VITE_TOP_100_INDEXERS); const getDecentraliseLink = (deploymentId: string, fallbackServiceUrl?: string) => { - const httpOptions = { fetch, fetchOptions: { timeout: 5000 } }; + const httpOptions = { fetchOptions: { timeout: 5000 } }; // this is just a test env varible set in your local env file. if (import.meta.env.VITE_USE_FALLBACKURL) { @@ -27,6 +27,7 @@ const getDecentraliseLink = (deploymentId: string, fallbackServiceUrl?: string) authUrl: import.meta.env.VITE_AUTH_URL, fallbackServiceUrl, useImmediateFallbackOnError: true, + timeout: 5000, }).link; }; diff --git a/src/hooks/useLocalProjects.ts b/src/hooks/useLocalProjects.ts index 9fc392f69..2d56d3c8d 100644 --- a/src/hooks/useLocalProjects.ts +++ b/src/hooks/useLocalProjects.ts @@ -46,9 +46,12 @@ export const useLocalProjects = () => { const res = await getProjects({ variables: { offset: length, - orderBy: [ProjectsOrderBy.ID_DESC], + orderBy: [ProjectsOrderBy.ID_ASC], ids: [], }, + defaultOptions: { + fetchPolicy: 'network-only', + }, }); if (res.data?.projects?.nodes) { @@ -68,7 +71,6 @@ export const useLocalProjects = () => { const mergered = uniqWith([...projects.current, ...projectsWithMetadata], (x, y) => x.id === y.id); projects.current = mergered; await localforage.setItem(cacheKey, mergered); - if (mergered.length >= res.data.projects.totalCount) { loading.current = false; return; diff --git a/src/pages/explorer/Home/Home.module.css b/src/pages/explorer/Home/Home.module.css index 2af9e5b94..fc1d5f09d 100644 --- a/src/pages/explorer/Home/Home.module.css +++ b/src/pages/explorer/Home/Home.module.css @@ -9,6 +9,7 @@ flex-wrap: wrap; row-gap: 32px; column-gap: 24px; + margin: 0 auto; } .header { @@ -31,3 +32,69 @@ width: 48px; height: 10px; } + +@media screen and (max-width: 4825px) { + .list { + width: 4412px; + } +} +@media screen and (max-width: 4565px) { + .list { + width: 4151px; + } +} +@media screen and (max-width: 4305px) { + .list { + width: 3890px; + } +} +@media screen and (max-width: 4045px) { + .list { + width: 3629px; + } +} +@media screen and (max-width: 3785px) { + .list { + width: 3368px; + } +} +@media screen and (max-width: 3525px) { + .list { + width: 3107px; + } +} +@media screen and (max-width: 3265px) { + .list { + width: 2846px; + } +} +@media screen and (max-width: 3005px) { + .list { + width: 2585px; + } +} +@media screen and (max-width: 2745px) { + .list { + width: 2324px; + } +} +@media screen and (max-width: 2485px) { + .list { + width: 2063px; + } +} +@media screen and (max-width: 2225px) { + .list { + width: 1802px; + } +} +@media screen and (max-width: 1965px) { + .list { + width: 1541px; + } +} +@media screen and (max-width: 1705px) { + .list { + width: 1280px; + } +} diff --git a/src/pages/explorer/Home/Home.tsx b/src/pages/explorer/Home/Home.tsx index 52d8628ad..cf51744b6 100644 --- a/src/pages/explorer/Home/Home.tsx +++ b/src/pages/explorer/Home/Home.tsx @@ -61,6 +61,8 @@ const Home: React.FC = () => { const [searchKeywords, setSearchKeywords] = React.useState(''); const [topProject, setTopProject] = React.useState(); const [projects, setProjects] = React.useState([]); + // ref for fetch, state for render. + const fetchedProejcts = React.useRef([]); // Note why don't use Apollo client's loading. // Apollo client's loading seems have some delay. // If use it would not update by project's update. @@ -93,34 +95,36 @@ const Home: React.FC = () => { } else { setInSearchMode(false); } + const api = searchKeywords.length ? getProjectBySearch : getProjects; const params = searchKeywords.length ? { - offset: options?.refresh ? 0 : projects.length, + offset: options?.refresh ? 0 : fetchedProejcts.current.length, keywords: searchKeywords, } : { variables: { - offset: options?.refresh ? 0 : projects.length, + offset: options?.refresh ? 0 : fetchedProejcts.current.length, orderBy: [ProjectsOrderBy.TOTAL_REWARD_DESC, ProjectsOrderBy.UPDATED_TIMESTAMP_DESC], ids: ['0x06'], }, + defaultOptions: { fetchPolicy: 'network-only' }, }; - // The type define at top. // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore const res = await api(params); - let updatedLength = projects.length; + let updatedLength = fetchedProejcts.current.length; // implement a sorting for projects if (res.data?.projects?.nodes) { // it seems have something wrong with TypeScript // filter once or twice is the same. const nonEmptyProjects = res.data.projects?.nodes.filter(notEmpty).filter(notEmpty); - const mergered = options?.refresh ? [...nonEmptyProjects] : [...projects, ...nonEmptyProjects]; + const mergered = options?.refresh ? [...nonEmptyProjects] : [...fetchedProejcts.current, ...nonEmptyProjects]; setProjects(mergered); + fetchedProejcts.current = mergered; updatedLength = mergered.length; setTotal(res.data?.projects?.totalCount); } @@ -137,7 +141,7 @@ const Home: React.FC = () => { const { mutate } = useInfiniteScroll(() => loadMore(), { target: document, isNoMore: (d) => !!d?.isNoMore, - threshold: 300, + threshold: 500, }); useMount(() => { @@ -162,6 +166,7 @@ const Home: React.FC = () => { mutate(res); } }} + disabled={loading} onChange={(e) => { setSearchKeywords(e.target.value); }} @@ -194,7 +199,7 @@ const Home: React.FC = () => { })}
- {inSearchMode && !projects.length && ( + {inSearchMode && !loading && !projects.length && (
No projects match your search
diff --git a/src/pages/explorer/Project/Project.tsx b/src/pages/explorer/Project/Project.tsx index bc23db62a..75dc9cd18 100644 --- a/src/pages/explorer/Project/Project.tsx +++ b/src/pages/explorer/Project/Project.tsx @@ -135,7 +135,7 @@ const ProjectInner: React.FC = () => { isUnsafeDeployment={!!asyncDeploymentMetadata.data?.unsafe} />
- +
{/* TODO: just render the components rather than routes. */} diff --git a/src/pages/swap/Swap.module.css b/src/pages/swap/Swap.module.less similarity index 88% rename from src/pages/swap/Swap.module.css rename to src/pages/swap/Swap.module.less index 09cdb7068..87c7cc7f2 100644 --- a/src/pages/swap/Swap.module.css +++ b/src/pages/swap/Swap.module.less @@ -23,6 +23,12 @@ display: flex; justify-content: center; align-items: center; + + :global { + .tabButtons { + width: auto; + } + } } .dataUpdateText { diff --git a/src/pages/swap/Swap.tsx b/src/pages/swap/Swap.tsx index d5e94f7a1..721530ec1 100644 --- a/src/pages/swap/Swap.tsx +++ b/src/pages/swap/Swap.tsx @@ -39,7 +39,7 @@ import i18next, { TFunction } from 'i18next'; import { useWeb3Store } from 'src/stores'; -import styles from './Swap.module.css'; +import styles from './Swap.module.less'; import { SwapForm } from './SwapForm'; const { SWAP, SELL, BUY } = ROUTES; diff --git a/yarn.lock b/yarn.lock index 82e5f827e..3490b6fd2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2496,11 +2496,29 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@ethereumjs/common@^3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" + integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== + dependencies: + "@ethereumjs/util" "^8.1.0" + crc-32 "^1.2.0" + "@ethereumjs/rlp@^4.0.1": version "4.0.1" resolved "https://registry.npmmirror.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== +"@ethereumjs/tx@^4.2.0": + version "4.2.0" + resolved "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" + integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== + dependencies: + "@ethereumjs/common" "^3.2.0" + "@ethereumjs/rlp" "^4.0.1" + "@ethereumjs/util" "^8.1.0" + ethereum-cryptography "^2.0.0" + "@ethereumjs/util@^8.0.6": version "8.0.6" resolved "https://registry.npmmirror.com/@ethereumjs/util/-/util-8.0.6.tgz#f9716ed34235ea05eff8353bc5d483e5a6455989" @@ -2511,6 +2529,15 @@ ethereum-cryptography "^2.0.0" micro-ftch "^0.3.1" +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" @@ -3132,6 +3159,14 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" +"@metamask/abi-utils@^2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" + integrity sha512-B/A1dY/w4F/t6cDHUscklO6ovb/ztFsrsTXFd8QlqSByk/vyy+QbPE3VVpmmyI/7RX+PA1AJcvBdzCIz+r9dVQ== + dependencies: + "@metamask/utils" "^8.0.0" + superstruct "^1.0.3" + "@metamask/eth-sig-util@5.1.0": version "5.1.0" resolved "https://registry.npmmirror.com/@metamask/eth-sig-util/-/eth-sig-util-5.1.0.tgz#a47f62800ee1917fef976ba67544a0ccd7d1bd6b" @@ -3144,6 +3179,18 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" +"@metamask/eth-sig-util@^7.0.0": + version "7.0.1" + resolved "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-7.0.1.tgz#ad3227d6120f15f9293478de7dd9685a5c329586" + integrity sha512-59GSrMyFH2fPfu7nKeIQdZ150zxXNNhAQIUaFRUW+MGtVA4w/ONbiQobcRBLi+jQProfIyss51G8pfLPcQ0ylg== + dependencies: + "@ethereumjs/util" "^8.1.0" + "@metamask/abi-utils" "^2.0.2" + "@metamask/utils" "^8.1.0" + ethereum-cryptography "^2.1.2" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + "@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" @@ -3159,6 +3206,20 @@ semver "^7.3.8" superstruct "^1.0.3" +"@metamask/utils@^8.0.0", "@metamask/utils@^8.1.0": + version "8.2.1" + resolved "https://registry.npmjs.org/@metamask/utils/-/utils-8.2.1.tgz#2f8b60c3b3c49423ca9d15061bb797464440e385" + integrity sha512-dlnpow8r0YHDDL1xKCEwUoTGOAo9icdv+gaJG0EbgDnkD/BDqW2eH1XMtm9i7rPaiHWo/aLtcrh9WBhkCq/viw== + dependencies: + "@ethereumjs/tx" "^4.2.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + superstruct "^1.0.3" + "@motionone/animation@^10.12.0": version "10.15.1" resolved "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" @@ -3300,6 +3361,13 @@ dependencies: "@noble/hashes" "1.3.0" +"@noble/curves@1.1.0", "@noble/curves@~1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" + integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== + dependencies: + "@noble/hashes" "1.3.1" + "@noble/curves@1.2.0", "@noble/curves@^1.2.0", "@noble/curves@~1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" @@ -3312,16 +3380,16 @@ resolved "https://registry.npmmirror.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== -"@noble/hashes@1.3.2", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - -"@noble/hashes@^1.3.0", "@noble/hashes@~1.3.0": +"@noble/hashes@1.3.1", "@noble/hashes@^1.3.0", "@noble/hashes@~1.3.0": version "1.3.1" resolved "https://registry.npmmirror.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== +"@noble/hashes@1.3.2", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.1", "@noble/hashes@~1.3.2": + version "1.3.2" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -4262,16 +4330,16 @@ dependencies: any-observable "^0.3.0" +"@scure/base@^1.1.3", "@scure/base@~1.1.2": + version "1.1.3" + resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" + integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== + "@scure/base@~1.1.0": version "1.1.1" resolved "https://registry.npmmirror.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== -"@scure/base@~1.1.2": - version "1.1.3" - resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" - integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== - "@scure/bip32@1.3.0": version "1.3.0" resolved "https://registry.npmmirror.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" @@ -4281,6 +4349,15 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" +"@scure/bip32@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10" + integrity sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A== + dependencies: + "@noble/curves" "~1.1.0" + "@noble/hashes" "~1.3.1" + "@scure/base" "~1.1.0" + "@scure/bip32@1.3.2": version "1.3.2" resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" @@ -4537,14 +4614,14 @@ "@stablelib/random" "^1.0.2" "@stablelib/wipe" "^1.0.1" -"@subql/apollo-links@1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@subql/apollo-links/-/apollo-links-1.2.2.tgz#3be385b44fda926216f94ad1616b21c64884769c" - integrity sha512-iXUSfHX4qwVBN6aCa5oPGS0vRX4SZCDFFQk/ZcVEv6fgsBtrhSiwf6UZ9vlG7E12C3fMLeUMIh883WJe1LcMzQ== +"@subql/apollo-links@^1.2.3": + version "1.2.3" + resolved "https://registry.npmjs.org/@subql/apollo-links/-/apollo-links-1.2.3.tgz#4e77659ed32770d91b7c8c3eb43f5a7bcf27f2ff" + integrity sha512-k9y76GErUWoXojCzGHHXAamLsrGyHR7eCjn6J76ZAabzWwZu3fBsLXX7/hud2Xdex2vYvVxm/OxuCxOhHT07fA== dependencies: "@metamask/eth-sig-util" "5.1.0" + "@subql/network-support" "0.1.0" apollo-link-error "^1.1.13" - axios "^0.27.2" buffer "^6.0.3" cross-fetch "^4.0.0" ethers "^5.6.8" @@ -4621,6 +4698,17 @@ dependencies: graphql "^16.5.0" +"@subql/network-support@0.1.0": + version "0.1.0" + resolved "https://registry.npmjs.org/@subql/network-support/-/network-support-0.1.0.tgz#80ce4a9f52878e9b84ba7faa4c0c77edd70eed24" + integrity sha512-51UTa/udOHUwKs/Jjl8h/yl0wEDvm1yeaD2ccUnqg+Ue4JFqiEwZ8HhnMwywxyAhTL72sGH+TKkPNYF/kVNxbA== + dependencies: + "@metamask/eth-sig-util" "^7.0.0" + cross-fetch "^4.0.0" + js-base64 "^3.7.5" + jwt-decode "^3.1.2" + lru-cache "^10.0.1" + "@subql/react-hooks@0.3.16-26": version "0.3.16-26" resolved "https://registry.npmjs.org/@subql/react-hooks/-/react-hooks-0.3.16-26.tgz#1b0c5a34de4d72f6b5cc9ae43eb5a027e81d7a5e" @@ -7540,6 +7628,11 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -8675,6 +8768,16 @@ ethereum-cryptography@^2.0.0: "@scure/bip32" "1.3.0" "@scure/bip39" "1.2.0" +ethereum-cryptography@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" + integrity sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug== + dependencies: + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.1" + "@scure/bip32" "1.3.1" + "@scure/bip39" "1.2.1" + ethers@^5.4.7, ethers@^5.6.8: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" @@ -12310,6 +12413,11 @@ pngjs@^5.0.0: resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== +pony-cause@^2.1.10: + version "2.1.10" + resolved "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz#828457ad6f13be401a075dbf14107a9057945174" + integrity sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw== + popmotion@11.0.3: version "11.0.3" resolved "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9" @@ -14084,7 +14192,7 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.7: dependencies: lru-cache "^6.0.0" -semver@^7.3.4, semver@^7.3.5, semver@^7.3.8: +semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==