Skip to content

Commit 3edbe28

Browse files
[Dashboard] Fix: Purchase Data (#7225)
Signed-off-by: greg <gregfromstl@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent 926dad4 commit 3edbe28

File tree

7 files changed

+26
-5
lines changed

7 files changed

+26
-5
lines changed

.changeset/dirty-cougars-teach.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Fix use of purchaseData in payment links

apps/dashboard/src/@/api/universal-bridge/links.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ type PaymentLink = {
1515
chainId: number;
1616
};
1717
amount: bigint | undefined;
18-
purchaseData: unknown;
18+
purchaseData: Record<string, unknown> | undefined;
1919
};
2020

2121
export async function getPaymentLink(props: {

apps/dashboard/src/app/pay/[id]/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export default async function PayPage({
6565
name={paymentLink.title}
6666
image={paymentLink.imageUrl}
6767
theme={theme}
68+
purchaseData={paymentLink.purchaseData}
6869
/>
6970
);
7071
}

apps/dashboard/src/app/pay/components/client/PayPageEmbed.client.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export function PayPageEmbed({
1616
image,
1717
redirectUri,
1818
theme,
19+
purchaseData,
1920
}: {
2021
chainId: number;
2122
recipientAddress: string;
@@ -27,6 +28,7 @@ export function PayPageEmbed({
2728
redirectUri?: string;
2829
clientId: string;
2930
theme?: "light" | "dark";
31+
purchaseData: Record<string, unknown> | undefined;
3032
}) {
3133
const { theme: browserTheme, setTheme } = useTheme();
3234

@@ -51,6 +53,7 @@ export function PayPageEmbed({
5153
image,
5254
},
5355
mode: "direct_payment",
56+
purchaseData,
5457
paymentInfo: {
5558
chain,
5659
sellerAddress: recipientAddress,

apps/dashboard/src/app/pay/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ export default async function PayPage({
9292
name={params.name}
9393
image={params.image}
9494
theme={params.theme}
95+
purchaseData={undefined}
9596
/>
9697
);
9798
}

packages/thirdweb/src/bridge/Webhook.test.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,14 @@ describe("parseIncomingWebhook", () => {
5252
receiver: "0x1234567890123456789012345678901234567890",
5353
type: "transfer",
5454
transactions: [
55-
"0x1234567890123456789012345678901234567890",
56-
"0x1234567890123456789012345678901234567890",
55+
{
56+
chainId: 1,
57+
transactionHash: "0x1234567890123456789012345678901234567890",
58+
},
59+
{
60+
chainId: 1,
61+
transactionHash: "0x1234567890123456789012345678901234567890",
62+
},
5763
],
5864
developerFeeBps: 100,
5965
developerFeeRecipient: "0x1234567890123456789012345678901234567890",

packages/thirdweb/src/bridge/Webhook.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,15 @@ const webhookSchema = z.union([
4646
sender: addressSchema,
4747
receiver: addressSchema,
4848
type: z.string(),
49-
transactions: z.array(hexSchema),
49+
transactions: z.array(
50+
z.object({
51+
chainId: z.coerce.number(),
52+
transactionHash: hexSchema,
53+
}),
54+
),
5055
developerFeeBps: z.coerce.number(),
5156
developerFeeRecipient: addressSchema,
52-
purchaseData: z.record(z.string(), z.unknown()),
57+
purchaseData: z.optional(z.record(z.string(), z.unknown())),
5358
}),
5459
}),
5560
]);

0 commit comments

Comments
 (0)