solana-program-library/token-lending/js/client/util/url.ts

38 lines
1.1 KiB
TypeScript

// To connect to a public cluster, set `export LIVE=1` in your
// environment. By default, `LIVE=1` will connect to the devnet cluster.
import { clusterApiUrl, Cluster } from "@solana/web3.js";
import dotenv from "dotenv";
function chooseCluster(): Cluster | undefined {
dotenv.config();
if (!process.env.LIVE) return;
switch (process.env.CLUSTER) {
case "devnet":
case "testnet":
case "mainnet-beta": {
return process.env.CLUSTER;
}
}
if (process.env.CLUSTER) {
throw new Error(
`Unknown cluster "${process.env.CLUSTER}", check the .env file`
);
} else {
throw new Error("CLUSTER is not specified, check the .env file");
}
}
export const cluster = chooseCluster();
export const url =
process.env.RPC_URL ||
(process.env.LIVE ? clusterApiUrl(cluster, false) : "http://localhost:8899");
export const urlTls =
process.env.RPC_URL ||
(process.env.LIVE ? clusterApiUrl(cluster, true) : "http://localhost:8899");
export const walletUrl =
process.env.WALLET_URL || "https://solana-example-webwallet.herokuapp.com/";