UNPKG

@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

42 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._initUserOperation = void 0; const account_js_1 = require("../../../errors/account.js"); const client_js_1 = require("../../../errors/client.js"); const index_js_1 = require("../../../utils/index.js"); async function _initUserOperation(client, args) { const { account = client.account, uo, overrides } = args; if (!account) { throw new account_js_1.AccountNotFoundError(); } if (!client.chain) { throw new client_js_1.ChainNotFoundError(); } const entryPoint = account.getEntryPoint(); const callData = Array.isArray(uo) ? account.encodeBatchExecute(uo) : typeof uo === "string" ? uo : account.encodeExecute(uo); const signature = account.getDummySignature(); const nonce = account.getNonce(overrides?.nonceKey); const struct = entryPoint.version === "0.6.0" ? { initCode: account.getInitCode(), sender: account.address, nonce, callData, signature, } : { factory: (0, index_js_1.conditionalReturn)(account.isAccountDeployed().then((deployed) => !deployed), account.getFactoryAddress), factoryData: (0, index_js_1.conditionalReturn)(account.isAccountDeployed().then((deployed) => !deployed), account.getFactoryData), sender: account.address, nonce, callData, signature, }; return struct; } exports._initUserOperation = _initUserOperation; //# sourceMappingURL=initUserOperation.js.map