diff --git a/packages/alchemy/e2e-tests/light-account.e2e.test.ts b/packages/alchemy/e2e-tests/light-account.e2e.test.ts index 595d3ad3e..eb3f6d483 100644 --- a/packages/alchemy/e2e-tests/light-account.e2e.test.ts +++ b/packages/alchemy/e2e-tests/light-account.e2e.test.ts @@ -1,6 +1,8 @@ import { LocalAccountSigner, sepolia, + type UserOperationCallData, + type UserOperationOverrides, type UserOperationStruct, } from "@alchemy/aa-core"; import { Alchemy, Network } from "alchemy-sdk"; @@ -98,17 +100,24 @@ describe("Light Account Client Tests", () => { }, }); - const uoStruct = (await provider.buildUserOperation({ + const toSend = { uo: { target: provider.getAddress(), data: "0x", - }, + } as UserOperationCallData, overrides: { paymasterAndData: "0x", // bypass paymaster - }, - })) as UserOperationStruct<"0.6.0">; + } as UserOperationOverrides<"0.6.0">, + }; + const uoStruct = (await provider.buildUserOperation( + toSend + )) as UserOperationStruct<"0.6.0">; expect(uoStruct.paymasterAndData).toBe("0x"); + + await expect( + provider.sendUserOperation(toSend) + ).resolves.not.toThrowError(); }, 100000); it("should successfully override fees and gas when using paymaster", async () => { diff --git a/packages/alchemy/src/middleware/gasManager.ts b/packages/alchemy/src/middleware/gasManager.ts index 41bc3af8b..093cdd173 100644 --- a/packages/alchemy/src/middleware/gasManager.ts +++ b/packages/alchemy/src/middleware/gasManager.ts @@ -200,12 +200,12 @@ export function alchemyGasManagerMiddleware( if (bypassPaymasterAndData(overrides)) { return { ...struct, - ...fallbackGasEstimator(struct, { + ...(await fallbackGasEstimator(struct, { overrides, account, feeOptions, client, - }), + })), }; }