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

39 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildUserOperationFromTx = 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 transaction_js_1 = require("../../errors/transaction.js"); const buildUserOperation_js_1 = require("./buildUserOperation.js"); async function buildUserOperationFromTx(client, args, overrides, context) { const { account = client.account, ...request } = args; if (!account || typeof account === "string") { throw new account_js_1.AccountNotFoundError(); } if (!request.to) { throw new transaction_js_1.TransactionMissingToParamError(); } if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) { throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "buildUserOperationFromTx", client); } const _overrides = { ...overrides, maxFeePerGas: request.maxFeePerGas ? request.maxFeePerGas : undefined, maxPriorityFeePerGas: request.maxPriorityFeePerGas ? request.maxPriorityFeePerGas : undefined, }; return (0, buildUserOperation_js_1.buildUserOperation)(client, { uo: { target: request.to, data: request.data ?? "0x", value: request.value ? request.value : 0n, }, account: account, context, overrides: _overrides, }); } exports.buildUserOperationFromTx = buildUserOperationFromTx; //# sourceMappingURL=buildUserOperationFromTx.js.map