@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
37 lines • 2.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.middlewareActions = void 0;
const viem_1 = require("viem");
const userop_js_1 = require("../utils/userop.js");
const feeEstimator_js_1 = require("./defaults/feeEstimator.js");
const gasEstimator_js_1 = require("./defaults/gasEstimator.js");
const paymasterAndData_js_1 = require("./defaults/paymasterAndData.js");
const userOpSigner_js_1 = require("./defaults/userOpSigner.js");
const noopMiddleware_js_1 = require("./noopMiddleware.js");
const middlewareActions = (overrides) => (client) => ({
middleware: {
customMiddleware: overrides.customMiddleware ?? noopMiddleware_js_1.noopMiddleware,
dummyPaymasterAndData: overrides.paymasterAndData?.dummyPaymasterAndData
? async (struct, { account }) => {
const data = overrides.paymasterAndData.dummyPaymasterAndData();
const paymasterOverrides = account.getEntryPoint().version === "0.7.0"
? (0, viem_1.isHex)(data)
? (0, userop_js_1.parsePaymasterAndData)(data)
: data
: {
paymasterAndData: (0, viem_1.isHex)(data)
? data
: (0, userop_js_1.concatPaymasterAndData)(data),
};
return { ...struct, ...paymasterOverrides };
}
: paymasterAndData_js_1.defaultPaymasterAndData,
feeEstimator: overrides.feeEstimator ?? (0, feeEstimator_js_1.defaultFeeEstimator)(client),
gasEstimator: overrides.gasEstimator ?? (0, gasEstimator_js_1.defaultGasEstimator)(client),
paymasterAndData: overrides.paymasterAndData?.paymasterAndData ?? paymasterAndData_js_1.defaultPaymasterAndData,
userOperationSimulator: overrides.userOperationSimulator ?? noopMiddleware_js_1.noopMiddleware,
signUserOperation: overrides.signUserOperation ?? userOpSigner_js_1.defaultUserOpSigner,
},
});
exports.middlewareActions = middlewareActions;
//# sourceMappingURL=actions.js.map