@lifi/sdk
Version:
LI.FI Any-to-Any Cross-Chain-Swap SDK
29 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBatchingSupported = isBatchingSupported;
const types_1 = require("@lifi/types");
const actions_1 = require("viem/actions");
const utils_1 = require("viem/utils");
const config_js_1 = require("../../config.js");
const sleep_js_1 = require("../../utils/sleep.js");
async function isBatchingSupported({ client, chainId, skipReady = false, }) {
const _client = client ??
(await config_js_1.config.getProvider(types_1.ChainType.EVM)?.getWalletClient?.());
if (!_client) {
throw new Error('WalletClient is not provided.');
}
try {
const capabilities = await Promise.race([
(0, utils_1.getAction)(_client, actions_1.getCapabilities, 'getCapabilities')({ chainId }),
(0, sleep_js_1.sleep)(2_000),
]);
return (capabilities?.atomicBatch?.supported ||
capabilities?.atomic?.status === 'supported' ||
(!skipReady && capabilities?.atomic?.status === 'ready') ||
false);
}
catch {
return false;
}
}
//# sourceMappingURL=isBatchingSupported.js.map