@b3dotfun/leaderboards
Version:
SDK to interact with leaderboards smart contract
67 lines • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getConfig = void 0;
const chains_1 = require("viem/chains");
const constants_1 = require("./constants");
const xrplt = {
id: 1448000,
name: "XRPLT",
nativeCurrency: {
name: "XRP",
symbol: "XRP",
decimals: 6,
},
rpcUrls: {
default: {
http: ["https://xrplt.rpc.caldera.xyz/http"],
webSocket: ["wss://xrplt.rpc.caldera.xyz/ws"],
},
},
blockExplorers: {
default: {
name: "XRPLT Explorer",
url: "https://xrplt.explorer.caldera.xyz",
},
},
testnet: true,
};
// 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,
};
// Configuration object for XRPLT Testnet
const xrpltConfig = {
chain: xrplt,
rpcUrl: constants_1.XRPLTRpcUrl,
leaderboardFactoryContractAddress: constants_1.XRPLTLeaderboardFactoryContractAddress,
};
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;
case xrplt.id:
return xrpltConfig;
default:
throw new Error(`Unsupported chainId: ${chainId}`);
}
};
exports.getConfig = getConfig;
//# sourceMappingURL=config.js.map