@@ -3,68 +3,59 @@ import { Client, createClient, dedupExchange, fetchExchange } from 'urql';
33export type NetworkInfo = {
44 [ chainId : string ] : {
55 chainId : string ;
6- subgraphName : string ;
7- subgraphUrl : string ;
6+ prodSubgraphUrl : string ;
7+ devSubgraphUrl : string ;
88 } ;
99} ;
1010
11+ const GRAPH_API_KEY =
12+ process . env . REACT_APP_GRAPH_API_KEY || process . env . NEXT_PUBLIC_GRAPH_API_KEY || process . env . GRAPH_API_KEY ;
13+
1114export const SUPPORTED_NETWORK_INFO : NetworkInfo = {
12- '0x5' : {
13- chainId : '0x5' ,
14- subgraphName : 'quest-chains/quest-chains-goerli' ,
15- subgraphUrl : 'https://api.thegraph.com/subgraphs/name/quest-chains/quest-chains-goerli' ,
16- } ,
1715 '0xa' : {
1816 chainId : '0xa' ,
19- subgraphName : 'quest-chains/quest-chains-optimism' ,
20- subgraphUrl : 'https://api.thegraph.com/subgraphs/name /quest-chains/quest-chains- optimism' ,
17+ prodSubgraphUrl : `https://gateway-arbitrum.network.thegraph.com/api/ ${ GRAPH_API_KEY } /subgraphs/id/9GTxhTXaiJqgYGuSsMjH3KWdEQfFf8BzrTQKWNKZBMzB` ,
18+ devSubgraphUrl : 'https://api.studio. thegraph.com/query/71457 /quest-chains- optimism/version/latest ' ,
2119 } ,
2220 '0x64' : {
2321 chainId : '0x64' ,
24- subgraphName : 'quest-chains/quest-chains-gnosis' ,
25- subgraphUrl : 'https://api.thegraph.com/subgraphs/name /quest-chains/quest-chains- gnosis' ,
22+ prodSubgraphUrl : `https://gateway-arbitrum.network.thegraph.com/api/ ${ GRAPH_API_KEY } /subgraphs/id/EdGKgTZKUfZnWmG3rPAirBis6xUJpAJ8dgvMts9Aiixb` ,
23+ devSubgraphUrl : 'https://api.studio. thegraph.com/query/71457 /quest-chains- gnosis/version/latest ' ,
2624 } ,
2725 '0x89' : {
2826 chainId : '0x89' ,
29- subgraphName : 'quest-chains/quest-chains-polygon' ,
30- subgraphUrl : 'https://api.thegraph.com/subgraphs/name /quest-chains/quest-chains- polygon' ,
31- } ,
32- '0x13881 ' : {
33- chainId : '0x13881 ' ,
34- subgraphName : 'quest-chains/quest-chains-mumbai ' ,
35- subgraphUrl : 'https://api.thegraph.com/subgraphs/name /quest-chains/quest-chains-mumbai ' ,
36- } ,
37- '0xa4b1 ' : {
38- chainId : '0xa4b1 ' ,
39- subgraphName : 'quest-chains/quest-chains-arbitrum ' ,
40- subgraphUrl : 'https://api.thegraph.com/subgraphs/name /quest-chains/quest-chains-arbitrum ' ,
41- } ,
42- '0x66eed ' : {
43- chainId : '0x66eed ' ,
44- subgraphName : 'quest-chains/quest-chains -arbitrum-goerli' ,
45- subgraphUrl : 'https://api.thegraph.com/subgraphs/name /quest-chains/quest-chains-arbitrum-goerli ' ,
27+ prodSubgraphUrl : `https://gateway-arbitrum.network.thegraph.com/api/ ${ GRAPH_API_KEY } /subgraphs/id/29xgvK1yyJkcq3zM1wqTvFh3riMzpTFjLqu3PYZ1ZSv5` ,
28+ devSubgraphUrl : 'https://api.studio. thegraph.com/query/71457 /quest-chains- polygon/version/latest ' ,
29+ } ,
30+ // '0xa4b1 ': {
31+ // chainId: '0xa4b1 ',
32+ // prodSubgraphUrl : 'https://api.thegraph.com/subgraphs/name/ quest-chains/quest-chains-arbitrum ',
33+ // devSubgraphUrl : 'https://api.studio. thegraph.com/query/71457 /quest-chains-arbitrum/version/latest ',
34+ // },
35+ // '0x4268 ': {
36+ // chainId: '0x4268 ',
37+ // prodSubgraphUrl : 'https://api.thegraph.com/subgraphs/name/ quest-chains/quest-chains-holesky ',
38+ // devSubgraphUrl : 'https://api.studio. thegraph.com/query/71457 /quest-chains-holesky/version/latest ',
39+ // },
40+ '0xaa36a7 ' : {
41+ chainId : '0xaa36a7 ' ,
42+ prodSubgraphUrl : `https://gateway-testnet -arbitrum.network.thegraph.com/api/ ${ GRAPH_API_KEY } /subgraphs/id/5fRc469U46WVkH9WWYQ2wUuS3cdrX14WNmHGyaqg87Fe` ,
43+ devSubgraphUrl : 'https://api.studio. thegraph.com/query/71457 /quest-chains-sepolia/version/latest ' ,
4644 } ,
4745} ;
4846
4947export const SUPPORTED_NETWORKS = Object . keys ( SUPPORTED_NETWORK_INFO ) ;
5048
51- const clients : Record < string , Client > = Object . values ( SUPPORTED_NETWORK_INFO ) . reduce < Record < string , Client > > (
52- ( o , info ) => {
53- o [ info . chainId ] = createClient ( {
54- url : info . subgraphUrl ,
55- exchanges : [ dedupExchange , fetchExchange ] ,
56- } ) ;
57- return o ;
58- } ,
59- { } ,
60- ) ;
61-
6249export const isSupportedNetwork = ( chainId : string | undefined | null ) =>
6350 chainId ? SUPPORTED_NETWORKS . includes ( chainId ) : false ;
6451
6552export const getClient = ( chainId : string | undefined | null ) : Client => {
6653 if ( ! chainId || ! isSupportedNetwork ( chainId ) ) {
6754 throw new Error ( 'Unsupported chainId' ) ;
6855 }
69- return clients [ chainId ] ;
56+ const info = SUPPORTED_NETWORK_INFO [ chainId ] ;
57+ return createClient ( {
58+ url : ! ! GRAPH_API_KEY ? info . prodSubgraphUrl : info . devSubgraphUrl ,
59+ exchanges : [ dedupExchange , fetchExchange ] ,
60+ } ) ;
7061} ;
0 commit comments