diff --git a/src/modules/quotes/utils/parse-user-op-calldata.ts b/src/modules/quotes/utils/parse-user-op-calldata.ts index 06d28386..cd6a58da 100644 --- a/src/modules/quotes/utils/parse-user-op-calldata.ts +++ b/src/modules/quotes/utils/parse-user-op-calldata.ts @@ -1,5 +1,6 @@ import { NEXUS_120 } from "@/contracts/resources/nexus-120"; import { NEXUS_121 } from "@/contracts/resources/nexus-121"; +import { NEXUS_122 } from "@/contracts/resources/nexus-122"; import { Logger } from "@/core/logger"; import { MeeUserOp } from "@/user-ops"; import Container from "typedi"; @@ -42,10 +43,16 @@ function decodeInstructions( return decodeNexusCallData(meeUserOp.userOp.callData, NEXUS_121 as Abi); } catch (executeError) {} + // attempt to decode with nexus 122 abi + try { + logger.trace({ meeUserOp }, "Decoding instructions. Using NEXUS_122."); + return decodeNexusCallData(meeUserOp.userOp.callData, NEXUS_122 as Abi); + } catch (executeError) {} + // no abi found logger.trace( { meeUserOp }, - "Decoding instructions. Calldata not recognized by NEXUS_120 or NEXUS_121 abis.", + "Decoding instructions. Calldata not recognized by NEXUS_120, NEXUS_121 or NEXUS_122 abis.", ); return undefined; }