@biconomy/abstractjs
Version:
SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.
63 lines • 3.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMeeClient = exports.getDefaultMeeGasTank = exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_TOKEN_ADDRESS = exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_CHAIN_ID = exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_PAYMASTER_ACCOUNT = exports.DEFAULT_MEE_SPONSORSHIP_TOKEN_ADDRESS = exports.DEFAULT_MEE_SPONSORSHIP_CHAIN_ID = exports.DEFAULT_MEE_SPONSORSHIP_PAYMASTER_ACCOUNT = exports.DEFAULT_PATHFINDER_API_KEY = exports.DEFAULT_PATHFINDER_URL = exports.getDefaultMEENetworkApiKey = exports.getDefaultMEENetworkUrl = void 0;
const Helpers_1 = require("../account/utils/Helpers.js");
const createHttpClient_1 = require("./createHttpClient.js");
const mee_1 = require("./decorators/mee/index.js");
const isStagingOrTesting = (0, Helpers_1.isStaging)() || (0, Helpers_1.isTesting)();
const getDefaultMEENetworkUrl = (isStaging = false) => {
if (isStaging) {
return "https://staging-network.biconomy.io/v1";
}
return "https://network.biconomy.io/v1";
};
exports.getDefaultMEENetworkUrl = getDefaultMEENetworkUrl;
const getDefaultMEENetworkApiKey = (isStaging = false) => {
if (isStaging) {
return "mee_3ZhZhHx3hmKrBQxacr283dHt";
}
return "mee_3ZZmXCSod4xVXDRCZ5k5LTHg";
};
exports.getDefaultMEENetworkApiKey = getDefaultMEENetworkApiKey;
exports.DEFAULT_PATHFINDER_URL = (0, exports.getDefaultMEENetworkUrl)(isStagingOrTesting);
exports.DEFAULT_PATHFINDER_API_KEY = (0, exports.getDefaultMEENetworkApiKey)(isStagingOrTesting);
exports.DEFAULT_MEE_SPONSORSHIP_PAYMASTER_ACCOUNT = "0x18eAc826f3dD77d065E75E285d3456B751AC80d5";
exports.DEFAULT_MEE_SPONSORSHIP_CHAIN_ID = 8453;
exports.DEFAULT_MEE_SPONSORSHIP_TOKEN_ADDRESS = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_PAYMASTER_ACCOUNT = "0x18eAc826f3dD77d065E75E285d3456B751AC80d5";
exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_CHAIN_ID = 84532;
exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_TOKEN_ADDRESS = "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
const getDefaultMeeGasTank = (isTestnet = false) => {
if (isTestnet) {
return {
address: exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_PAYMASTER_ACCOUNT,
token: exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_TOKEN_ADDRESS,
chainId: exports.DEFAULT_MEE_TESTNET_SPONSORSHIP_CHAIN_ID
};
}
return {
address: exports.DEFAULT_MEE_SPONSORSHIP_PAYMASTER_ACCOUNT,
token: exports.DEFAULT_MEE_SPONSORSHIP_TOKEN_ADDRESS,
chainId: exports.DEFAULT_MEE_SPONSORSHIP_CHAIN_ID
};
};
exports.getDefaultMeeGasTank = getDefaultMeeGasTank;
const createMeeClient = async (params) => {
const { account, pollingInterval = 250, url = exports.DEFAULT_PATHFINDER_URL, apiKey = exports.DEFAULT_PATHFINDER_API_KEY, isDebugMode = !!isStagingOrTesting } = params;
const httpClient = (0, createHttpClient_1.default)(url, apiKey, isDebugMode);
const info = await (0, mee_1.getInfo)(httpClient);
info.isDebugMode = isDebugMode;
const baseMeeClient = Object.assign(httpClient, {
pollingInterval,
account,
info
});
const supportedChains = info.supportedChains.map(({ chainId }) => Number(chainId));
const supported = account.deployments.every(({ chain }) => supportedChains.includes(chain.id));
if (!supported) {
throw new Error(`Some account chains are not supported by the MEE node. Please check the supported chains and try again. ${supportedChains.join(", ")}`);
}
return baseMeeClient.extend(mee_1.meeActions);
};
exports.createMeeClient = createMeeClient;
//# sourceMappingURL=createMeeClient.js.map