UNPKG

@biconomy/abstractjs

Version:

SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.

26 lines 1.31 kB
import { readContract } from "viem/actions"; import { GLOBAL_COMPOSABLE_READS } from "../utils/composableReads.js"; /** * Executes a read operation across all deployments in a BaseMultichainSmartAccount. * * @param account - The multichain smart account containing deployments to read from. * @param parameters - {@link MultichainReadParameters} specifying the read type and its parameters. * @returns Promise resolving to an array of read payloads, one for each deployment. */ export const multichainRead = async (account, parameters) => { const { type, parameters: parametersForType } = parameters; // Cast GLOBAL_COMPOSABLE_READS to ReadDictionary to ensure all read functions have a consistent type const readFunctions = GLOBAL_COMPOSABLE_READS; const results = await Promise.all(account.deployments.map(async (account) => { const chainId = account.client.chain?.id; if (!chainId) { throw new Error("Chain ID is not set"); } // The read function now expects the updated parameters structure. const [readData] = await readFunctions[type](account, parametersForType); return (await readContract(account.client, readData)); })); return results; }; export default multichainRead; //# sourceMappingURL=multichainRead.js.map