@b3dotfun/leaderboards
Version:
SDK to interact with leaderboards smart contract
37 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getConfig = void 0;
const chains_1 = require("viem/chains");
const constants_1 = require("./constants");
// Configuration object for B3 Mainnet
const b3MainnetConfig = {
chain: chains_1.b3,
rpcUrl: constants_1.B3MainnetRpcUrl,
leaderboardFactoryContractAddress: constants_1.B3LeaderboardFactoryContractAddress,
};
// Configuration object for B3 Sepolia (Testnet)
const b3SepoliaConfig = {
chain: chains_1.b3Sepolia,
rpcUrl: constants_1.B3SepoliaRpcUrl,
leaderboardFactoryContractAddress: constants_1.B3SepoliaLeaderboardFactoryContractAddress,
};
// Configuration object for Base Mainnet
const baseMainnetConfig = {
chain: { ...chains_1.base, rpcUrls: { default: { http: [constants_1.BaseMainnetRpcUrl] } } },
rpcUrl: constants_1.BaseMainnetRpcUrl,
leaderboardFactoryContractAddress: constants_1.BaseLeaderboardFactoryContractAddress,
};
const getConfig = (chainId) => {
switch (chainId) {
case chains_1.b3.id:
return b3MainnetConfig;
case chains_1.b3Sepolia.id:
return b3SepoliaConfig;
case chains_1.base.id:
return baseMainnetConfig;
default:
throw new Error(`Unsupported chainId: ${chainId}`);
}
};
exports.getConfig = getConfig;
//# sourceMappingURL=config.js.map