@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
23 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateUserOperationGas = void 0;
const isSmartAccountClient_js_1 = require("../../client/isSmartAccountClient.js");
const account_js_1 = require("../../errors/account.js");
const client_js_1 = require("../../errors/client.js");
const index_js_1 = require("../../utils/index.js");
const initUserOperation_js_1 = require("./internal/initUserOperation.js");
async function estimateUserOperationGas(client, args) {
const { account = client.account, overrides } = args;
if (!account) {
throw new account_js_1.AccountNotFoundError();
}
if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) {
throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "estimateUserOperationGas", client);
}
return (0, initUserOperation_js_1._initUserOperation)(client, args).then(async (struct) => {
const request = (0, index_js_1.deepHexlify)(await (0, index_js_1.resolveProperties)(struct));
return client.estimateUserOperationGas(request, account.getEntryPoint().address, overrides?.stateOverride);
});
}
exports.estimateUserOperationGas = estimateUserOperationGas;
//# sourceMappingURL=estimateUserOperationGas.js.map