diff --git a/.changeset/purple-wasps-sort.md b/.changeset/purple-wasps-sort.md new file mode 100644 index 00000000000..6d854cd91e5 --- /dev/null +++ b/.changeset/purple-wasps-sort.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Fix Webhook schema type diff --git a/packages/thirdweb/src/bridge/Webhook.test.ts b/packages/thirdweb/src/bridge/Webhook.test.ts index c5369cc5831..79cfd34b905 100644 --- a/packages/thirdweb/src/bridge/Webhook.test.ts +++ b/packages/thirdweb/src/bridge/Webhook.test.ts @@ -28,9 +28,25 @@ describe("parseIncomingWebhook", () => { clientId: "client123", action: "TRANSFER", status: "COMPLETED", - originToken: "0x1234567890123456789012345678901234567890" as const, + originToken: { + chainId: 1, + address: "0x1234567890123456789012345678901234567890" as const, + name: "Token", + symbol: "TKN", + decimals: 18, + priceUsd: 1.0, + iconUri: "https://example.com/icon.png", + }, originAmount: "1.0", - destinationToken: "0x1234567890123456789012345678901234567890", + destinationToken: { + chainId: 1, + address: "0x1234567890123456789012345678901234567890" as const, + name: "Token", + symbol: "TKN", + decimals: 18, + priceUsd: 1.0, + iconUri: "https://example.com/icon.png", + }, destinationAmount: "1.0", sender: "0x1234567890123456789012345678901234567890", receiver: "0x1234567890123456789012345678901234567890", diff --git a/packages/thirdweb/src/bridge/Webhook.ts b/packages/thirdweb/src/bridge/Webhook.ts index bc9726e912b..a96cdc3642e 100644 --- a/packages/thirdweb/src/bridge/Webhook.ts +++ b/packages/thirdweb/src/bridge/Webhook.ts @@ -23,9 +23,25 @@ const webhookSchema = z.union([ clientId: z.string(), action: z.enum(["TRANSFER", "BUY", "SELL"]), status: z.enum(["PENDING", "FAILED", "COMPLETED"]), - originToken: addressSchema, + originToken: z.object({ + chainId: z.coerce.number(), + address: addressSchema, + name: z.string(), + symbol: z.string(), + decimals: z.coerce.number(), + priceUsd: z.coerce.number(), + iconUri: z.optional(z.string()), + }), originAmount: z.string(), - destinationToken: addressSchema, + destinationToken: z.object({ + chainId: z.coerce.number(), + address: addressSchema, + name: z.string(), + symbol: z.string(), + decimals: z.coerce.number(), + priceUsd: z.coerce.number(), + iconUri: z.optional(z.string()), + }), destinationAmount: z.string(), sender: addressSchema, receiver: addressSchema,