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

36 lines 1.44 kB
import {} from "viem"; import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js"; import { AccountNotFoundError } from "../../errors/account.js"; import { IncompatibleClientError } from "../../errors/client.js"; import { TransactionMissingToParamError } from "../../errors/transaction.js"; import { buildUserOperation } from "./buildUserOperation.js"; export async function buildUserOperationFromTx(client, args, overrides, context) { const { account = client.account, ...request } = args; if (!account || typeof account === "string") { throw new AccountNotFoundError(); } if (!request.to) { throw new TransactionMissingToParamError(); } if (!isBaseSmartAccountClient(client)) { throw new IncompatibleClientError("BaseSmartAccountClient", "buildUserOperationFromTx", client); } const _overrides = { ...overrides, maxFeePerGas: request.maxFeePerGas ? request.maxFeePerGas : undefined, maxPriorityFeePerGas: request.maxPriorityFeePerGas ? request.maxPriorityFeePerGas : undefined, }; return buildUserOperation(client, { uo: { target: request.to, data: request.data ?? "0x", value: request.value ? request.value : 0n, }, account: account, context, overrides: _overrides, }); } //# sourceMappingURL=buildUserOperationFromTx.js.map