Initial commit with 🏗️ Scaffold-ETH 2 @ 1.0.2

This commit is contained in:
han
2026-01-21 20:45:23 +07:00
commit e7b2a69f2a
156 changed files with 29196 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
import { BaseError as BaseViemError, ContractFunctionRevertedError } from "viem";
/**
* Parses an viem/wagmi error to get a displayable string
* @param e - error object
* @returns parsed error string
*/
export const getParsedError = (error: any): string => {
const parsedError = error?.walk ? error.walk() : error;
if (parsedError instanceof BaseViemError) {
if (parsedError.details) {
return parsedError.details;
}
if (parsedError.shortMessage) {
if (
parsedError instanceof ContractFunctionRevertedError &&
parsedError.data &&
parsedError.data.errorName !== "Error"
) {
const customErrorArgs = parsedError.data.args?.toString() ?? "";
return `${parsedError.shortMessage.replace(/reverted\.$/, "reverted with the following reason:")}\n${
parsedError.data.errorName
}(${customErrorArgs})`;
}
return parsedError.shortMessage;
}
return parsedError.message ?? parsedError.name ?? "An unknown error occurred";
}
return parsedError?.message ?? "An unknown error occurred";
};