simplify networks config
This commit is contained in:
@@ -40,21 +40,8 @@ export function useGraphQL(network: Ref<NetworkConfig>) {
|
|||||||
totalReleases: '0'
|
totalReleases: '0'
|
||||||
});
|
});
|
||||||
|
|
||||||
const getGraphQLUrl = () => {
|
|
||||||
const rskNetworkName = isTestnetEnvironment() ? rootstockTestnet.name : rootstock.name;
|
|
||||||
|
|
||||||
switch (network.value.name) {
|
|
||||||
case sepolia.name:
|
|
||||||
return import.meta.env.VITE_SEPOLIA_SUBGRAPH_URL!;
|
|
||||||
case rskNetworkName:
|
|
||||||
return import.meta.env.VITE_RSK_SUBGRAPH_URL!;
|
|
||||||
default:
|
|
||||||
throw new Error(`Unsupported network: ${network.value.name}`);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const executeQuery = async (query: string, variables: any = {}) => {
|
const executeQuery = async (query: string, variables: any = {}) => {
|
||||||
const url = getGraphQLUrl();
|
const url = network.value.subgraphUrls[0]; // TODO: try all available URLs
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await fetch(url, {
|
const response = await fetch(url, {
|
||||||
|
|||||||
@@ -1,14 +1,27 @@
|
|||||||
import { sepolia, rootstock, rootstockTestnet } from "viem/chains";
|
import { mainnet, sepolia, rootstock, rootstockTestnet } from "viem/chains";
|
||||||
import { NetworkConfig } from "@/model/NetworkEnum"
|
import { NetworkConfig } from "@/model/NetworkEnum"
|
||||||
// TODO: import addresses from p2pix-smart-contracts deployments
|
// TODO: import addresses from p2pix-smart-contracts deployments
|
||||||
|
|
||||||
export const isTestnetEnvironment = () => {
|
export const Networks: {[key:string]: NetworkConfig} = {
|
||||||
return import.meta.env.VITE_ENVIRONMENT === 'testnet' ||
|
mainnet: { ...mainnet,
|
||||||
import.meta.env.NODE_ENV === 'development' ||
|
rpcUrls: { default: { http: [import.meta.env.VITE_MAINNET_API_URL]}},
|
||||||
import.meta.env.MODE === 'development';
|
contracts: { ...mainnet.contracts,
|
||||||
|
p2pix: { address: import.meta.env.VITE_MAINNET_P2PIX_ADDRESS } },
|
||||||
|
tokens: {
|
||||||
|
BRZ: { address: import.meta.env.VITE_MAINNET_TOKEN_ADDRESS } },
|
||||||
|
subgraphUrls: [import.meta.env.VITE_MAINNET_SUBGRAPH_URL]
|
||||||
|
},
|
||||||
|
rootstock: { ...rootstock,
|
||||||
|
rpcUrls: { default: { http: [import.meta.env.VITE_RSK_API_URL]}},
|
||||||
|
contracts: { ...rootstock.contracts,
|
||||||
|
p2pix: { address: import.meta.env.VITE_RSK_P2PIX_ADDRESS } },
|
||||||
|
tokens: {
|
||||||
|
BRZ: { address: import.meta.env.VITE_RSK_TOKEN_ADDRESS } },
|
||||||
|
subgraphUrls: [import.meta.env.VITE_RSK_SUBGRAPH_URL]
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const Networks: {[key:string]: NetworkConfig} = {
|
export const NetworksTestnet: {[key:string]: NetworkConfig} = {
|
||||||
sepolia: { ...sepolia,
|
sepolia: { ...sepolia,
|
||||||
rpcUrls: { default: { http: [import.meta.env.VITE_SEPOLIA_API_URL]}},
|
rpcUrls: { default: { http: [import.meta.env.VITE_SEPOLIA_API_URL]}},
|
||||||
contracts: { ...sepolia.contracts,
|
contracts: { ...sepolia.contracts,
|
||||||
@@ -17,9 +30,9 @@ export const Networks: {[key:string]: NetworkConfig} = {
|
|||||||
BRZ: { address: import.meta.env.VITE_SEPOLIA_TOKEN_ADDRESS } },
|
BRZ: { address: import.meta.env.VITE_SEPOLIA_TOKEN_ADDRESS } },
|
||||||
subgraphUrls: [import.meta.env.VITE_SEPOLIA_SUBGRAPH_URL]
|
subgraphUrls: [import.meta.env.VITE_SEPOLIA_SUBGRAPH_URL]
|
||||||
},
|
},
|
||||||
rootstock: { ...(isTestnetEnvironment() ? rootstockTestnet : rootstock),
|
rootstockTestnet: { ...rootstockTestnet,
|
||||||
rpcUrls: { default: { http: [import.meta.env.VITE_RSK_API_URL]}},
|
rpcUrls: { default: { http: [import.meta.env.VITE_RSK_API_URL]}},
|
||||||
contracts: { ...(isTestnetEnvironment() ? rootstockTestnet.contracts : rootstock.contracts),
|
contracts: { ...rootstockTestnet.contracts,
|
||||||
p2pix: { address: import.meta.env.VITE_RSK_P2PIX_ADDRESS } },
|
p2pix: { address: import.meta.env.VITE_RSK_P2PIX_ADDRESS } },
|
||||||
tokens: {
|
tokens: {
|
||||||
BRZ: { address: import.meta.env.VITE_RSK_TOKEN_ADDRESS } },
|
BRZ: { address: import.meta.env.VITE_RSK_TOKEN_ADDRESS } },
|
||||||
@@ -27,4 +40,4 @@ export const Networks: {[key:string]: NetworkConfig} = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const DEFAULT_NETWORK = Networks.sepolia;
|
export const DEFAULT_NETWORK = Networks.mainnet;
|
||||||
|
|||||||
Reference in New Issue
Block a user