@alchemy/aa-core
Version:
viem based SDK that enables interactions with ERC-4337 Smart Accounts. ABIs are based off the definitions generated in @account-abstraction/contracts
20 lines • 1.07 kB
JavaScript
import {} from "../../account/smartContractAccount.js";
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
import { AccountNotFoundError } from "../../errors/account.js";
import { IncompatibleClientError } from "../../errors/client.js";
import { deepHexlify, resolveProperties } from "../../utils/index.js";
import { _initUserOperation } from "./internal/initUserOperation.js";
export async function estimateUserOperationGas(client, args) {
const { account = client.account, overrides } = args;
if (!account) {
throw new AccountNotFoundError();
}
if (!isBaseSmartAccountClient(client)) {
throw new IncompatibleClientError("BaseSmartAccountClient", "estimateUserOperationGas", client);
}
return _initUserOperation(client, args).then(async (struct) => {
const request = deepHexlify(await resolveProperties(struct));
return client.estimateUserOperationGas(request, account.getEntryPoint().address, overrides?.stateOverride);
});
}
//# sourceMappingURL=estimateUserOperationGas.js.map