@moonwell-fi/moonwell-sdk
Version:
TypeScript Interface for Moonwell
64 lines • 3.07 kB
JavaScript
import { GovernanceTokensConfig, } from "./definitions/governance.js";
import { base, createEnvironment as createBaseEnvironment, } from "./definitions/base/environment.js";
import { createEnvironment as createMoonbeamEnvironment, } from "./definitions/moonbeam/environment.js";
import { createEnvironment as createMoonriverEnvironment, } from "./definitions/moonriver/environment.js";
import { createEnvironment as createOptimismEnvironment, } from "./definitions/optimism/environment.js";
import { createEnvironment as createEthereumEnvironment, ethereum, } from "./definitions/ethereum/environment.js";
import { avalanche, createEnvironment as createAvalancheEnvironment, } from "./definitions/avalanche/environment.js";
import { arbitrum, createEnvironment as createArbitrumEnvironment, } from "./definitions/arbitrum/environment.js";
import { createEnvironment as createPolygonEnvironment, polygon, } from "./definitions/polygon/environment.js";
import { moonbeam, moonriver, optimism } from "viem/chains";
export { arbitrum, avalanche, base, ethereum, GovernanceTokensConfig, moonbeam, moonriver, optimism, polygon, supportedChains, supportedChainsIds, };
const supportedChainsIds = {
[]: "base",
[]: "optimism",
[]: "moonriver",
[]: "moonbeam",
[]: "ethereum",
[]: "avalanche",
[]: "arbitrum",
[]: "polygon",
};
const supportedChains = {
base: base,
optimism: optimism,
moonriver: moonriver,
moonbeam: moonbeam,
ethereum: ethereum,
avalanche: avalanche,
arbitrum: arbitrum,
polygon: polygon,
};
export const createEnvironment = (config) => {
switch (config.chain.id) {
case base.id:
return createBaseEnvironment(config.rpcUrls, config.indexerUrl);
case moonbeam.id:
return createMoonbeamEnvironment(config.rpcUrls, config.indexerUrl);
case moonriver.id:
return createMoonriverEnvironment(config.rpcUrls, config.indexerUrl);
case optimism.id:
return createOptimismEnvironment(config.rpcUrls, config.indexerUrl);
case ethereum.id:
return createEthereumEnvironment(config.rpcUrls, config.indexerUrl);
case avalanche.id:
return createAvalancheEnvironment(config.rpcUrls, config.indexerUrl);
case arbitrum.id:
return createArbitrumEnvironment(config.rpcUrls, config.indexerUrl);
case polygon.id:
return createPolygonEnvironment(config.rpcUrls, config.indexerUrl);
default:
throw new Error("Unsupported chainId");
}
};
export const publicEnvironments = {
base: createBaseEnvironment(),
moonbeam: createMoonbeamEnvironment(),
moonriver: createMoonriverEnvironment(),
optimism: createOptimismEnvironment(),
ethereum: createEthereumEnvironment(),
avalanche: createAvalancheEnvironment(),
arbitrum: createArbitrumEnvironment(),
polygon: createPolygonEnvironment(),
};
//# sourceMappingURL=index.js.map