@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
JavaScript
;
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