Skip to content

Commit 3015e63

Browse files
authored
fix: stringify error objects (#703)
1 parent 2770527 commit 3015e63

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

src/server/routes/contract/write/write.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Type, type Static } from "@sinclair/typebox";
22
import type { FastifyInstance } from "fastify";
33
import { StatusCodes } from "http-status-codes";
44
import { prepareContractCall, resolveMethod } from "thirdweb";
5-
import type { AbiFunction } from "thirdweb/utils";
5+
import { stringify, type AbiFunction } from "thirdweb/utils";
66
import { getContractV5 } from "../../../../utils/cache/getContractv5";
77
import { queueTransaction } from "../../../../utils/transaction/queueTransation";
88
import { createCustomError } from "../../../middleware/error";
@@ -83,7 +83,11 @@ export async function writeToContract(fastify: FastifyInstance) {
8383
try {
8484
method = await resolveMethod(functionName)(contract);
8585
} catch (e: any) {
86-
throw createCustomError(`${e}`, StatusCodes.BAD_REQUEST, "BAD_REQUEST");
86+
throw createCustomError(
87+
stringify(e),
88+
StatusCodes.BAD_REQUEST,
89+
"BAD_REQUEST",
90+
);
8791
}
8892
const transaction = prepareContractCall({
8993
contract,

src/utils/transaction/queueTransation.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
type Hex,
77
type PreparedTransaction,
88
} from "thirdweb";
9+
import { stringify } from "thirdweb/utils";
910
import { createCustomError } from "../../server/middleware/error";
1011
import type { txOverridesWithValueSchema } from "../../server/schemas/txOverrides";
1112
import { parseTransactionOverrides } from "../../server/utils/transactionOverrides";
@@ -41,7 +42,11 @@ export async function queueTransaction(args: QueuedTransactionParams) {
4142
try {
4243
data = await encode(transaction);
4344
} catch (e) {
44-
throw createCustomError(`${e}`, StatusCodes.BAD_REQUEST, "BAD_REQUEST");
45+
throw createCustomError(
46+
stringify(e),
47+
StatusCodes.BAD_REQUEST,
48+
"BAD_REQUEST",
49+
);
4550
}
4651

4752
const insertedTransaction: InsertedTransaction = {

src/worker/tasks/sendTransactionWorker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ const _sendUserOp = async (
151151
const erroredTransaction: ErroredTransaction = {
152152
...queuedTransaction,
153153
status: "errored",
154-
errorMessage: `${e}`,
154+
errorMessage: stringify(e),
155155
};
156156
job.log(
157157
`Failed to populate transaction: ${erroredTransaction.errorMessage}`,
@@ -231,7 +231,7 @@ const _sendTransaction = async (
231231
const erroredTransaction: ErroredTransaction = {
232232
...queuedTransaction,
233233
status: "errored",
234-
errorMessage: `${e}`,
234+
errorMessage: stringify(e),
235235
};
236236
job.log(
237237
`Failed to populate transaction: ${erroredTransaction.errorMessage}`,

0 commit comments

Comments
 (0)