thirdweb 5.105.0 → 5.105.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,37 +10,31 @@ const hexSchema = v4_mini_1.z
10
10
  const addressSchema = v4_mini_1.z
11
11
  .string()
12
12
  .check(v4_mini_1.z.refine(address_js_1.isAddress, { message: "Invalid address" }));
13
- const webhookSchema = v4_mini_1.z.union([
13
+ const tokenSchema = v4_mini_1.z.object({
14
+ address: addressSchema,
15
+ chainId: v4_mini_1.z.coerce.number(),
16
+ decimals: v4_mini_1.z.coerce.number(),
17
+ iconUri: v4_mini_1.z.optional(v4_mini_1.z.string()),
18
+ name: v4_mini_1.z.string(),
19
+ priceUsd: v4_mini_1.z.coerce.number(),
20
+ symbol: v4_mini_1.z.string(),
21
+ });
22
+ const onchainWebhookSchema = v4_mini_1.z.discriminatedUnion("version", [
14
23
  v4_mini_1.z.object({
15
24
  data: v4_mini_1.z.object({}),
25
+ type: v4_mini_1.z.literal("pay.onchain-transaction"),
16
26
  version: v4_mini_1.z.literal(1),
17
27
  }),
18
28
  v4_mini_1.z.object({
19
29
  data: v4_mini_1.z.object({
20
30
  action: v4_mini_1.z.enum(["TRANSFER", "BUY", "SELL"]),
21
31
  clientId: v4_mini_1.z.string(),
22
- destinationAmount: v4_mini_1.z.string(),
23
- destinationToken: v4_mini_1.z.object({
24
- address: addressSchema,
25
- chainId: v4_mini_1.z.coerce.number(),
26
- decimals: v4_mini_1.z.coerce.number(),
27
- iconUri: v4_mini_1.z.optional(v4_mini_1.z.string()),
28
- name: v4_mini_1.z.string(),
29
- priceUsd: v4_mini_1.z.coerce.number(),
30
- symbol: v4_mini_1.z.string(),
31
- }),
32
+ destinationAmount: v4_mini_1.z.coerce.bigint(),
33
+ destinationToken: tokenSchema,
32
34
  developerFeeBps: v4_mini_1.z.coerce.number(),
33
35
  developerFeeRecipient: addressSchema,
34
- originAmount: v4_mini_1.z.string(),
35
- originToken: v4_mini_1.z.object({
36
- address: addressSchema,
37
- chainId: v4_mini_1.z.coerce.number(),
38
- decimals: v4_mini_1.z.coerce.number(),
39
- iconUri: v4_mini_1.z.optional(v4_mini_1.z.string()),
40
- name: v4_mini_1.z.string(),
41
- priceUsd: v4_mini_1.z.coerce.number(),
42
- symbol: v4_mini_1.z.string(),
43
- }),
36
+ originAmount: v4_mini_1.z.coerce.bigint(),
37
+ originToken: tokenSchema,
44
38
  paymentId: v4_mini_1.z.string(),
45
39
  // only exists when the payment was triggered from a developer specified payment link
46
40
  paymentLinkId: v4_mini_1.z.optional(v4_mini_1.z.string()),
@@ -54,9 +48,39 @@ const webhookSchema = v4_mini_1.z.union([
54
48
  })),
55
49
  type: v4_mini_1.z.string(),
56
50
  }),
51
+ type: v4_mini_1.z.literal("pay.onchain-transaction"),
52
+ version: v4_mini_1.z.literal(2),
53
+ }),
54
+ ]);
55
+ const onrampWebhookSchema = v4_mini_1.z.discriminatedUnion("version", [
56
+ v4_mini_1.z.object({
57
+ data: v4_mini_1.z.object({}),
58
+ type: v4_mini_1.z.literal("pay.onramp-transaction"),
59
+ version: v4_mini_1.z.literal(1),
60
+ }),
61
+ v4_mini_1.z.object({
62
+ data: v4_mini_1.z.object({
63
+ amount: v4_mini_1.z.coerce.bigint(),
64
+ currency: v4_mini_1.z.string(),
65
+ currencyAmount: v4_mini_1.z.number(),
66
+ id: v4_mini_1.z.string(),
67
+ onramp: v4_mini_1.z.string(),
68
+ paymentLinkId: v4_mini_1.z.optional(v4_mini_1.z.string()),
69
+ purchaseData: v4_mini_1.z.unknown(),
70
+ receiver: v4_mini_1.z.optional(addressSchema),
71
+ sender: v4_mini_1.z.optional(addressSchema),
72
+ status: v4_mini_1.z.enum(["PENDING", "COMPLETED", "FAILED"]),
73
+ token: tokenSchema,
74
+ transactionHash: v4_mini_1.z.optional(hexSchema),
75
+ }),
76
+ type: v4_mini_1.z.literal("pay.onramp-transaction"),
57
77
  version: v4_mini_1.z.literal(2),
58
78
  }),
59
79
  ]);
80
+ const webhookSchema = v4_mini_1.z.discriminatedUnion("type", [
81
+ onchainWebhookSchema,
82
+ onrampWebhookSchema,
83
+ ]);
60
84
  /**
61
85
  * Parses an incoming Universal Bridge webhook payload.
62
86
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "5.105.0";
4
+ exports.version = "5.105.1";
5
5
  //# sourceMappingURL=version.js.map
@@ -7,37 +7,31 @@ const hexSchema = z
7
7
  const addressSchema = z
8
8
  .string()
9
9
  .check(z.refine(isAddress, { message: "Invalid address" }));
10
- const webhookSchema = z.union([
10
+ const tokenSchema = z.object({
11
+ address: addressSchema,
12
+ chainId: z.coerce.number(),
13
+ decimals: z.coerce.number(),
14
+ iconUri: z.optional(z.string()),
15
+ name: z.string(),
16
+ priceUsd: z.coerce.number(),
17
+ symbol: z.string(),
18
+ });
19
+ const onchainWebhookSchema = z.discriminatedUnion("version", [
11
20
  z.object({
12
21
  data: z.object({}),
22
+ type: z.literal("pay.onchain-transaction"),
13
23
  version: z.literal(1),
14
24
  }),
15
25
  z.object({
16
26
  data: z.object({
17
27
  action: z.enum(["TRANSFER", "BUY", "SELL"]),
18
28
  clientId: z.string(),
19
- destinationAmount: z.string(),
20
- destinationToken: z.object({
21
- address: addressSchema,
22
- chainId: z.coerce.number(),
23
- decimals: z.coerce.number(),
24
- iconUri: z.optional(z.string()),
25
- name: z.string(),
26
- priceUsd: z.coerce.number(),
27
- symbol: z.string(),
28
- }),
29
+ destinationAmount: z.coerce.bigint(),
30
+ destinationToken: tokenSchema,
29
31
  developerFeeBps: z.coerce.number(),
30
32
  developerFeeRecipient: addressSchema,
31
- originAmount: z.string(),
32
- originToken: z.object({
33
- address: addressSchema,
34
- chainId: z.coerce.number(),
35
- decimals: z.coerce.number(),
36
- iconUri: z.optional(z.string()),
37
- name: z.string(),
38
- priceUsd: z.coerce.number(),
39
- symbol: z.string(),
40
- }),
33
+ originAmount: z.coerce.bigint(),
34
+ originToken: tokenSchema,
41
35
  paymentId: z.string(),
42
36
  // only exists when the payment was triggered from a developer specified payment link
43
37
  paymentLinkId: z.optional(z.string()),
@@ -51,9 +45,39 @@ const webhookSchema = z.union([
51
45
  })),
52
46
  type: z.string(),
53
47
  }),
48
+ type: z.literal("pay.onchain-transaction"),
49
+ version: z.literal(2),
50
+ }),
51
+ ]);
52
+ const onrampWebhookSchema = z.discriminatedUnion("version", [
53
+ z.object({
54
+ data: z.object({}),
55
+ type: z.literal("pay.onramp-transaction"),
56
+ version: z.literal(1),
57
+ }),
58
+ z.object({
59
+ data: z.object({
60
+ amount: z.coerce.bigint(),
61
+ currency: z.string(),
62
+ currencyAmount: z.number(),
63
+ id: z.string(),
64
+ onramp: z.string(),
65
+ paymentLinkId: z.optional(z.string()),
66
+ purchaseData: z.unknown(),
67
+ receiver: z.optional(addressSchema),
68
+ sender: z.optional(addressSchema),
69
+ status: z.enum(["PENDING", "COMPLETED", "FAILED"]),
70
+ token: tokenSchema,
71
+ transactionHash: z.optional(hexSchema),
72
+ }),
73
+ type: z.literal("pay.onramp-transaction"),
54
74
  version: z.literal(2),
55
75
  }),
56
76
  ]);
77
+ const webhookSchema = z.discriminatedUnion("type", [
78
+ onchainWebhookSchema,
79
+ onrampWebhookSchema,
80
+ ]);
57
81
  /**
58
82
  * Parses an incoming Universal Bridge webhook payload.
59
83
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = "5.105.0";
1
+ export const version = "5.105.1";
2
2
  //# sourceMappingURL=version.js.map
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod/v4-mini";
2
- declare const webhookSchema: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
2
+ declare const webhookSchema: z.ZodMiniDiscriminatedUnion<[z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
3
3
  data: z.ZodMiniObject<{}, z.core.$strip>;
4
+ type: z.ZodMiniLiteral<"pay.onchain-transaction">;
4
5
  version: z.ZodMiniLiteral<1>;
5
6
  }, z.core.$strip>, z.ZodMiniObject<{
6
7
  data: z.ZodMiniObject<{
@@ -10,7 +11,7 @@ declare const webhookSchema: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
10
11
  SELL: "SELL";
11
12
  }>;
12
13
  clientId: z.ZodMiniString<string>;
13
- destinationAmount: z.ZodMiniString<string>;
14
+ destinationAmount: z.ZodMiniBigInt<unknown>;
14
15
  destinationToken: z.ZodMiniObject<{
15
16
  address: z.ZodMiniString<string>;
16
17
  chainId: z.ZodMiniNumber<unknown>;
@@ -22,7 +23,7 @@ declare const webhookSchema: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
22
23
  }, z.core.$strip>;
23
24
  developerFeeBps: z.ZodMiniNumber<unknown>;
24
25
  developerFeeRecipient: z.ZodMiniString<string>;
25
- originAmount: z.ZodMiniString<string>;
26
+ originAmount: z.ZodMiniBigInt<unknown>;
26
27
  originToken: z.ZodMiniObject<{
27
28
  address: z.ZodMiniString<string>;
28
29
  chainId: z.ZodMiniNumber<unknown>;
@@ -48,8 +49,42 @@ declare const webhookSchema: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
48
49
  }, z.core.$strip>>;
49
50
  type: z.ZodMiniString<string>;
50
51
  }, z.core.$strip>;
52
+ type: z.ZodMiniLiteral<"pay.onchain-transaction">;
51
53
  version: z.ZodMiniLiteral<2>;
52
- }, z.core.$strip>]>;
54
+ }, z.core.$strip>]>, z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
55
+ data: z.ZodMiniObject<{}, z.core.$strip>;
56
+ type: z.ZodMiniLiteral<"pay.onramp-transaction">;
57
+ version: z.ZodMiniLiteral<1>;
58
+ }, z.core.$strip>, z.ZodMiniObject<{
59
+ data: z.ZodMiniObject<{
60
+ amount: z.ZodMiniBigInt<unknown>;
61
+ currency: z.ZodMiniString<string>;
62
+ currencyAmount: z.ZodMiniNumber<number>;
63
+ id: z.ZodMiniString<string>;
64
+ onramp: z.ZodMiniString<string>;
65
+ paymentLinkId: z.ZodMiniOptional<z.ZodMiniString<string>>;
66
+ purchaseData: z.ZodMiniUnknown;
67
+ receiver: z.ZodMiniOptional<z.ZodMiniString<string>>;
68
+ sender: z.ZodMiniOptional<z.ZodMiniString<string>>;
69
+ status: z.ZodMiniEnum<{
70
+ COMPLETED: "COMPLETED";
71
+ PENDING: "PENDING";
72
+ FAILED: "FAILED";
73
+ }>;
74
+ token: z.ZodMiniObject<{
75
+ address: z.ZodMiniString<string>;
76
+ chainId: z.ZodMiniNumber<unknown>;
77
+ decimals: z.ZodMiniNumber<unknown>;
78
+ iconUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
79
+ name: z.ZodMiniString<string>;
80
+ priceUsd: z.ZodMiniNumber<unknown>;
81
+ symbol: z.ZodMiniString<string>;
82
+ }, z.core.$strip>;
83
+ transactionHash: z.ZodMiniOptional<z.ZodMiniString<string>>;
84
+ }, z.core.$strip>;
85
+ type: z.ZodMiniLiteral<"pay.onramp-transaction">;
86
+ version: z.ZodMiniLiteral<2>;
87
+ }, z.core.$strip>]>]>;
53
88
  export type WebhookPayload = Exclude<z.infer<typeof webhookSchema>, {
54
89
  version: 1;
55
90
  }>;
@@ -78,45 +113,6 @@ secret: string,
78
113
  /**
79
114
  * The tolerance in seconds for the timestamp verification.
80
115
  */
81
- tolerance?: number): Promise<{
82
- data: {
83
- action: "TRANSFER" | "BUY" | "SELL";
84
- clientId: string;
85
- destinationAmount: string;
86
- destinationToken: {
87
- address: string;
88
- chainId: number;
89
- decimals: number;
90
- name: string;
91
- priceUsd: number;
92
- symbol: string;
93
- iconUri?: string | undefined;
94
- };
95
- developerFeeBps: number;
96
- developerFeeRecipient: string;
97
- originAmount: string;
98
- originToken: {
99
- address: string;
100
- chainId: number;
101
- decimals: number;
102
- name: string;
103
- priceUsd: number;
104
- symbol: string;
105
- iconUri?: string | undefined;
106
- };
107
- paymentId: string;
108
- receiver: string;
109
- sender: string;
110
- status: "COMPLETED" | "PENDING" | "FAILED";
111
- transactions: {
112
- chainId: number;
113
- transactionHash: string;
114
- }[];
115
- type: string;
116
- paymentLinkId?: string | undefined;
117
- purchaseData?: Record<string, unknown> | undefined;
118
- };
119
- version: 2;
120
- }>;
116
+ tolerance?: number): Promise<WebhookPayload>;
121
117
  export {};
122
118
  //# sourceMappingURL=Webhook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Webhook.d.ts","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAWhC,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAgDjB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EAC7B;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CACf,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,KAAK;AACzB;;GAEG;AACH,OAAO,EAAE,MAAM;AAEf;;GAEG;AACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,EAAE,MAAM;AAEd;;GAEG;AACH,SAAS,SAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEhB"}
1
+ {"version":3,"file":"Webhook.d.ts","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAkFhC,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGjB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EAC7B;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CACf,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,KAAK;AACzB;;GAEG;AACH,OAAO,EAAE,MAAM;AAEf;;GAEG;AACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,EAAE,MAAM;AAEd;;GAEG;AACH,SAAS,SAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAkEzB"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.105.0";
1
+ export declare const version = "5.105.1";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -375,7 +375,7 @@
375
375
  }
376
376
  },
377
377
  "typings": "./dist/types/exports/thirdweb.d.ts",
378
- "version": "5.105.0",
378
+ "version": "5.105.1",
379
379
  "scripts": {
380
380
  "bench": "vitest -c ./test/vitest.config.ts bench",
381
381
  "bench:compare": "bun run ./benchmarks/run.ts",
@@ -7,10 +7,10 @@ describe.runIf(process.env.TW_SECRET_KEY)("Bridge.status", () => {
7
7
  // TODO: flaky test
8
8
  it.skip("should handle successful status", async () => {
9
9
  const result = await status({
10
- chainId: 137,
10
+ chainId: 8453,
11
11
  client: TEST_CLIENT,
12
12
  transactionHash:
13
- "0x5959b9321ec581640db531b80bac53cbd968f3d34fc6cb1d5f4ea75f26df2ad7",
13
+ "0x8e8ab7c998bdfef6e10951c801a862373ce87af62c21fb870e62fca57683bf10",
14
14
  });
15
15
 
16
16
  expect(result).toBeDefined();
@@ -46,7 +46,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("Bridge.status", () => {
46
46
  chain: defineChain(8453),
47
47
  client: TEST_CLIENT,
48
48
  transactionHash:
49
- "0x06ac91479b3ea4c6507f9b7bff1f2d5f553253fa79af9a7db3755563b60f7dfb",
49
+ "0x8e8ab7c998bdfef6e10951c801a862373ce87af62c21fb870e62fca57683bf10",
50
50
  });
51
51
 
52
52
  expect(result).toBeDefined();
@@ -21,11 +21,11 @@ const generateSignature = async (
21
21
 
22
22
  describe("parseIncomingWebhook", () => {
23
23
  const testTimestamp = Math.floor(Date.now() / 1000).toString();
24
- const validPayload: WebhookPayload = {
24
+ const validWebhook: WebhookPayload = {
25
25
  data: {
26
26
  action: "TRANSFER",
27
27
  clientId: "client123",
28
- destinationAmount: "1.0",
28
+ destinationAmount: 10n,
29
29
  destinationToken: {
30
30
  address: "0x1234567890123456789012345678901234567890" as const,
31
31
  chainId: 1,
@@ -37,7 +37,7 @@ describe("parseIncomingWebhook", () => {
37
37
  },
38
38
  developerFeeBps: 100,
39
39
  developerFeeRecipient: "0x1234567890123456789012345678901234567890",
40
- originAmount: "1.0",
40
+ originAmount: 10n,
41
41
  originToken: {
42
42
  address: "0x1234567890123456789012345678901234567890" as const,
43
43
  chainId: 1,
@@ -64,8 +64,17 @@ describe("parseIncomingWebhook", () => {
64
64
  ],
65
65
  type: "transfer",
66
66
  },
67
+ type: "pay.onchain-transaction",
67
68
  version: 2,
68
69
  };
70
+ const validPayload = {
71
+ ...validWebhook,
72
+ data: {
73
+ ...validWebhook.data,
74
+ destinationAmount: validWebhook.data.destinationAmount.toString(),
75
+ originAmount: validWebhook.data.originAmount.toString(),
76
+ },
77
+ };
69
78
 
70
79
  it("should successfully verify a valid webhook", async () => {
71
80
  const signature = await generateSignature(
@@ -78,7 +87,7 @@ describe("parseIncomingWebhook", () => {
78
87
  };
79
88
 
80
89
  const result = await parse(JSON.stringify(validPayload), headers, secret);
81
- expect(result).toEqual(validPayload);
90
+ expect(result).toEqual(validWebhook);
82
91
  });
83
92
 
84
93
  it("should accept alternative header names", async () => {
@@ -92,7 +101,7 @@ describe("parseIncomingWebhook", () => {
92
101
  };
93
102
 
94
103
  const result = await parse(JSON.stringify(validPayload), headers, secret);
95
- expect(result).toEqual(validPayload);
104
+ expect(result).toEqual(validWebhook);
96
105
  });
97
106
 
98
107
  it("should throw error for missing headers", async () => {
@@ -149,6 +158,7 @@ describe("parseIncomingWebhook", () => {
149
158
  data: {
150
159
  someField: "value",
151
160
  },
161
+ type: "pay.onchain-transaction",
152
162
  version: 1,
153
163
  };
154
164
  const v1PayloadString = JSON.stringify(v1Payload);
@@ -180,7 +190,7 @@ describe("parseIncomingWebhook", () => {
180
190
  secret,
181
191
  300,
182
192
  );
183
- expect(result).toEqual(validPayload);
193
+ expect(result).toEqual(validWebhook);
184
194
  });
185
195
 
186
196
  describe("payload validation", () => {
@@ -575,6 +585,7 @@ describe("parseIncomingWebhook", () => {
575
585
 
576
586
  it("should throw error for version 1 payload missing data object", async () => {
577
587
  const invalidPayload = {
588
+ type: "pay.onchain-transaction",
578
589
  version: 1,
579
590
  // no data field
580
591
  } as unknown as WebhookPayload;
@@ -8,38 +8,32 @@ const hexSchema = z
8
8
  const addressSchema = z
9
9
  .string()
10
10
  .check(z.refine(isAddress, { message: "Invalid address" }));
11
-
12
- const webhookSchema = z.union([
11
+ const tokenSchema = z.object({
12
+ address: addressSchema,
13
+ chainId: z.coerce.number(),
14
+ decimals: z.coerce.number(),
15
+ iconUri: z.optional(z.string()),
16
+ name: z.string(),
17
+ priceUsd: z.coerce.number(),
18
+ symbol: z.string(),
19
+ });
20
+
21
+ const onchainWebhookSchema = z.discriminatedUnion("version", [
13
22
  z.object({
14
23
  data: z.object({}),
24
+ type: z.literal("pay.onchain-transaction"),
15
25
  version: z.literal(1),
16
26
  }),
17
27
  z.object({
18
28
  data: z.object({
19
29
  action: z.enum(["TRANSFER", "BUY", "SELL"]),
20
30
  clientId: z.string(),
21
- destinationAmount: z.string(),
22
- destinationToken: z.object({
23
- address: addressSchema,
24
- chainId: z.coerce.number(),
25
- decimals: z.coerce.number(),
26
- iconUri: z.optional(z.string()),
27
- name: z.string(),
28
- priceUsd: z.coerce.number(),
29
- symbol: z.string(),
30
- }),
31
+ destinationAmount: z.coerce.bigint(),
32
+ destinationToken: tokenSchema,
31
33
  developerFeeBps: z.coerce.number(),
32
34
  developerFeeRecipient: addressSchema,
33
- originAmount: z.string(),
34
- originToken: z.object({
35
- address: addressSchema,
36
- chainId: z.coerce.number(),
37
- decimals: z.coerce.number(),
38
- iconUri: z.optional(z.string()),
39
- name: z.string(),
40
- priceUsd: z.coerce.number(),
41
- symbol: z.string(),
42
- }),
35
+ originAmount: z.coerce.bigint(),
36
+ originToken: tokenSchema,
43
37
  paymentId: z.string(),
44
38
  // only exists when the payment was triggered from a developer specified payment link
45
39
  paymentLinkId: z.optional(z.string()),
@@ -55,10 +49,41 @@ const webhookSchema = z.union([
55
49
  ),
56
50
  type: z.string(),
57
51
  }),
52
+ type: z.literal("pay.onchain-transaction"),
53
+ version: z.literal(2),
54
+ }),
55
+ ]);
56
+
57
+ const onrampWebhookSchema = z.discriminatedUnion("version", [
58
+ z.object({
59
+ data: z.object({}),
60
+ type: z.literal("pay.onramp-transaction"),
61
+ version: z.literal(1),
62
+ }),
63
+ z.object({
64
+ data: z.object({
65
+ amount: z.coerce.bigint(),
66
+ currency: z.string(),
67
+ currencyAmount: z.number(),
68
+ id: z.string(),
69
+ onramp: z.string(),
70
+ paymentLinkId: z.optional(z.string()),
71
+ purchaseData: z.unknown(),
72
+ receiver: z.optional(addressSchema),
73
+ sender: z.optional(addressSchema),
74
+ status: z.enum(["PENDING", "COMPLETED", "FAILED"]),
75
+ token: tokenSchema,
76
+ transactionHash: z.optional(hexSchema),
77
+ }),
78
+ type: z.literal("pay.onramp-transaction"),
58
79
  version: z.literal(2),
59
80
  }),
60
81
  ]);
61
82
 
83
+ const webhookSchema = z.discriminatedUnion("type", [
84
+ onchainWebhookSchema,
85
+ onrampWebhookSchema,
86
+ ]);
62
87
  export type WebhookPayload = Exclude<
63
88
  z.infer<typeof webhookSchema>,
64
89
  { version: 1 }
@@ -93,7 +118,7 @@ export async function parse(
93
118
  * The tolerance in seconds for the timestamp verification.
94
119
  */
95
120
  tolerance = 300, // Default to 5 minutes if not specified
96
- ) {
121
+ ): Promise<WebhookPayload> {
97
122
  // Get the signature and timestamp from headers
98
123
  const receivedSignature =
99
124
  headers["x-payload-signature"] || headers["x-pay-signature"];
@@ -158,5 +183,5 @@ export async function parse(
158
183
  );
159
184
  }
160
185
 
161
- return parsedPayload;
186
+ return parsedPayload satisfies WebhookPayload;
162
187
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.105.0";
1
+ export const version = "5.105.1";