Skip to content

Commit c02e775

Browse files
authored
fix: receipt not found (#123)
* fix: receipt not found * chore: changeset
1 parent e020d1c commit c02e775

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

.changeset/plain-jars-stay.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@gelatonetwork/smartwallet": patch
3+
---
4+
5+
fix: receipt not found

src/adapter/actions/getUserOperationReceipt.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
UserOperationNotFoundError,
1313
entryPoint07Abi
1414
} from "viem/account-abstraction";
15-
import { getTransactionReceipt } from "viem/actions";
15+
import { getTransactionReceipt, waitForTransactionReceipt } from "viem/actions";
1616
import {
1717
TaskState,
1818
type TransactionStatusResponse,
@@ -22,9 +22,12 @@ import { isFinalTaskState } from "../../relay/status/utils.js";
2222

2323
export async function getUserOperationReceiptFromTaskStatus(
2424
client: Client<Transport>,
25-
status: TransactionStatusResponse
25+
status: TransactionStatusResponse,
26+
wait: boolean
2627
): Promise<GetUserOperationReceiptReturnType> {
27-
const receipt = await getTransactionReceipt(client, { hash: status.transactionHash as Hex });
28+
const receipt = wait
29+
? await waitForTransactionReceipt(client, { hash: status.transactionHash as Hex })
30+
: await getTransactionReceipt(client, { hash: status.transactionHash as Hex });
2831

2932
const logs = parseEventLogs({
3033
abi: entryPoint07Abi,
@@ -75,5 +78,5 @@ export async function getUserOperationReceipt(
7578
} as GetUserOperationReceiptReturnType;
7679
}
7780

78-
return getUserOperationReceiptFromTaskStatus(client, status);
81+
return getUserOperationReceiptFromTaskStatus(client, status, false);
7982
}

src/adapter/actions/waitForUserOperationReceipt.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export async function waitForUserOperationReceipt(
1414

1515
return new Promise((resolve, reject) => {
1616
response.on("success", async (status) => {
17-
const receipt = await getUserOperationReceiptFromTaskStatus(client, status);
17+
const receipt = await getUserOperationReceiptFromTaskStatus(client, status, true);
1818
resolve(receipt);
1919
});
2020
response.on("error", (error) => {

0 commit comments

Comments
 (0)