thirdweb 5.105.0 → 5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434

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"),
57
52
  version: v4_mini_1.z.literal(2),
58
53
  }),
59
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: 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"),
77
+ version: v4_mini_1.z.literal(2),
78
+ }),
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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"}
@@ -12,10 +12,14 @@ const address_js_1 = require("../../../../utils/address.js");
12
12
  const json_js_1 = require("../../../../utils/json.js");
13
13
  const units_js_1 = require("../../../../utils/units.js");
14
14
  const CustomThemeProvider_js_1 = require("../../../core/design-system/CustomThemeProvider.js");
15
+ const index_js_1 = require("../../../core/design-system/index.js");
16
+ const AccentFailIcon_js_1 = require("../ConnectWallet/icons/AccentFailIcon.js");
15
17
  const getConnectLocale_js_1 = require("../ConnectWallet/locale/getConnectLocale.js");
16
18
  const ConnectEmbed_js_1 = require("../ConnectWallet/Modal/ConnectEmbed.js");
17
19
  const DynamicHeight_js_1 = require("../components/DynamicHeight.js");
20
+ const Spacer_js_1 = require("../components/Spacer.js");
18
21
  const Spinner_js_1 = require("../components/Spinner.js");
22
+ const text_js_1 = require("../components/text.js");
19
23
  const BridgeOrchestrator_js_1 = require("./BridgeOrchestrator.js");
20
24
  const UnsupportedTokenScreen_js_1 = require("./UnsupportedTokenScreen.js");
21
25
  /**
@@ -126,7 +130,19 @@ function TransactionWidget(props) {
126
130
  if (props.amount) {
127
131
  // Get token decimals for conversion
128
132
  const tokenAddress = props.tokenAddress || addresses_js_1.NATIVE_TOKEN_ADDRESS;
129
- const token = await (0, get_token_js_1.getToken)(props.client, (0, address_js_1.checksumAddress)(tokenAddress), props.transaction.chain.id);
133
+ const token = await (0, get_token_js_1.getToken)(props.client, (0, address_js_1.checksumAddress)(tokenAddress), props.transaction.chain.id).catch((e) => {
134
+ if (e instanceof Error && e.message.includes("not supported")) {
135
+ return null;
136
+ }
137
+ throw e;
138
+ });
139
+ if (!token) {
140
+ return {
141
+ chain: props.transaction.chain,
142
+ tokenAddress: (0, address_js_1.checksumAddress)(tokenAddress),
143
+ type: "unsupported_token",
144
+ };
145
+ }
130
146
  erc20Value = {
131
147
  amountWei: (0, units_js_1.toUnits)(props.amount, token.decimals),
132
148
  tokenAddress: (0, address_js_1.checksumAddress)(tokenAddress),
@@ -150,6 +166,7 @@ function TransactionWidget(props) {
150
166
  };
151
167
  },
152
168
  queryKey: ["bridgeData", (0, json_js_1.stringify)(props)],
169
+ retry: 1,
153
170
  });
154
171
  let content = null;
155
172
  if (!localeQuery.data || bridgeDataQuery.isLoading) {
@@ -160,6 +177,15 @@ function TransactionWidget(props) {
160
177
  minHeight: "350px",
161
178
  }, children: (0, jsx_runtime_1.jsx)(Spinner_js_1.Spinner, { color: "secondaryText", size: "xl" }) }));
162
179
  }
180
+ else if (bridgeDataQuery.error) {
181
+ content = ((0, jsx_runtime_1.jsxs)("div", { style: {
182
+ alignItems: "center",
183
+ display: "flex",
184
+ flexDirection: "column",
185
+ justifyContent: "center",
186
+ minHeight: "350px",
187
+ }, children: [(0, jsx_runtime_1.jsx)(AccentFailIcon_js_1.AccentFailIcon, { size: index_js_1.iconSize["3xl"] }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "lg" }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { color: "secondaryText", size: "md", children: bridgeDataQuery.error.message })] }));
188
+ }
163
189
  else if (bridgeDataQuery.data?.type === "unsupported_token") {
164
190
  // Show unsupported token screen
165
191
  content = ((0, jsx_runtime_1.jsx)(UnsupportedTokenScreen_js_1.UnsupportedTokenScreen, { chain: bridgeDataQuery.data.chain, client: props.client, tokenAddress: props.tokenAddress }));
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgRb,8CAmHC;;AAjYD,uDAAiD;AACjD,+DAAmE;AAInE,qEAA0E;AAC1E,uEAAgE;AAChE,2FAGwD;AACxD,6DAA6E;AAC7E,uDAAsD;AACtD,yDAAqD;AAKrD,+FAAyF;AAKzF,qFAA+E;AAC/E,4EAAwE;AACxE,qEAA+D;AAC/D,yDAAmD;AAEnD,mEAA6E;AAC7E,2EAAqE;AAyJrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,SAAgB,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,WAAW,GAAG,IAAA,sCAAgB,EAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;IAEpC,IAAA,sBAAQ,EAAC;QACP,OAAO,EAAE,GAAG,EAAE;YACZ,IAAA,sBAAa,EAAC;gBACZ,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,iCAAiC;gBACxC,OAAO,EAAE,KAAK,CAAC,YAAY;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,CAAC,2BAA2B,CAAC;KACxC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,sBAAQ,EAAC;QAC/B,OAAO,EAAE,KAAK,IAA8B,EAAE;YAC5C,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;YAE9C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,oCAAoC;gBACpC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,mCAAoB,CAAC;gBAChE,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAQ,EAC1B,KAAK,CAAC,MAAM,EACZ,IAAA,4BAAe,EAAC,YAAY,CAAC,EAC7B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAC3B,CAAC;gBAEF,UAAU,GAAG;oBACX,SAAS,EAAE,IAAA,kBAAO,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;oBAChD,YAAY,EAAE,IAAA,4BAAe,EAAC,YAAY,CAAC;iBAC5C,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAA,2CAAkB,EAAC;gBACrC,GAAG,KAAK,CAAC,WAAW;gBACpB,UAAU;aACX,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE;oBACJ,QAAQ,EAAE;wBACR,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB;oBACD,IAAI,EAAE,aAAa;oBACnB,WAAW;iBACZ;gBACD,IAAI,EAAE,SAAS;aAChB,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC;KAC3C,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;QACnD,OAAO,GAAG,CACR,gCACE,KAAK,EAAE;gBACL,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,SAAS,EAAE,OAAO;aACnB,YAED,uBAAC,oBAAO,IAAC,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,GAAG,GACvC,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC9D,gCAAgC;QAChC,OAAO,GAAG,CACR,uBAAC,kDAAsB,IACrB,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,EACjC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,KAAK,CAAC,YAAY,GAChC,CACH,CAAC;IACJ,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACpD,kCAAkC;QAClC,OAAO,GAAG,CACR,uBAAC,0CAAkB,IACjB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,WAAW,CAAC,IAAI,EAC/B,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,CAAC,EACD,UAAU,EAAE,GAAG,EAAE;gBACf,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,CAAC,EACD,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACtB,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,eAAe,EAAE,SAAS,EAC1B,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,GACpC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,uBAAC,4CAAmB,IAAC,KAAK,EAAE,KAAK,YAC/B,uBAAC,gCAAc,IACb,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,YAElB,uBAAC,gCAAa,cAAE,OAAO,GAAiB,GACzB,GACG,CACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TransactionWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"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.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,yEAAyE,CAAC"}
@@ -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"),
54
49
  version: z.literal(2),
55
50
  }),
56
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: 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"),
74
+ version: z.literal(2),
75
+ }),
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAC7D,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,EAAE;KACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAC9D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAC3D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACtB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACpC,gBAAgB,EAAE,WAAW;YAC7B,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YAClC,qBAAqB,EAAE,aAAa;YACpC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YAC/B,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,qFAAqF;YACrF,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACrC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAClD,YAAY,EAAE,CAAC,CAAC,KAAK,CACnB,CAAC,CAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1B,eAAe,EAAE,SAAS;aAC3B,CAAC,CACH;YACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACtB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAC1D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACzC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACtB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;YAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACrC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;YACzB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAClD,KAAK,EAAE,WAAW;YAClB,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;SACvC,CAAC;QACF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACzC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACtB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjD,oBAAoB;IACpB,mBAAmB;CACpB,CAAC,CAAC;AAMH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;AACzB;;GAEG;AACH,OAAe;AAEf;;GAEG;AACH,OAA+B;AAE/B;;GAEG;AACH,MAAc;AAEd;;GAEG;AACH,SAAS,GAAG,GAAG;IAEf,+CAA+C;IAC/C,MAAM,iBAAiB,GACrB,OAAO,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GACrB,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEvD,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,mBAAmB;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,iBAAiB,SAAS,GAAG,CAC/E,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACxC,MAAM,EACN,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,GAAG,iBAAiB,IAAI,OAAO,EAAE,CAAC,CAClD,CAAC;IAEF,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,qBAAqB;IACrB,IAAI,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,4BAA4B;IAC5B,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEzD,4BAA4B;IAC5B,IAAI,aAAa,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;IACJ,CAAC;IAED,OAAO,aAAsC,CAAC;AAChD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useQuery } from "@tanstack/react-query";
4
4
  import { trackPayEvent } from "../../../../analytics/track/pay.js";
5
5
  import { NATIVE_TOKEN_ADDRESS } from "../../../../constants/addresses.js";
@@ -9,10 +9,14 @@ import { checksumAddress } from "../../../../utils/address.js";
9
9
  import { stringify } from "../../../../utils/json.js";
10
10
  import { toUnits } from "../../../../utils/units.js";
11
11
  import { CustomThemeProvider } from "../../../core/design-system/CustomThemeProvider.js";
12
+ import { iconSize } from "../../../core/design-system/index.js";
13
+ import { AccentFailIcon } from "../ConnectWallet/icons/AccentFailIcon.js";
12
14
  import { useConnectLocale } from "../ConnectWallet/locale/getConnectLocale.js";
13
15
  import { EmbedContainer } from "../ConnectWallet/Modal/ConnectEmbed.js";
14
16
  import { DynamicHeight } from "../components/DynamicHeight.js";
17
+ import { Spacer } from "../components/Spacer.js";
15
18
  import { Spinner } from "../components/Spinner.js";
19
+ import { Text } from "../components/text.js";
16
20
  import { BridgeOrchestrator } from "./BridgeOrchestrator.js";
17
21
  import { UnsupportedTokenScreen } from "./UnsupportedTokenScreen.js";
18
22
  /**
@@ -123,7 +127,19 @@ export function TransactionWidget(props) {
123
127
  if (props.amount) {
124
128
  // Get token decimals for conversion
125
129
  const tokenAddress = props.tokenAddress || NATIVE_TOKEN_ADDRESS;
126
- const token = await getToken(props.client, checksumAddress(tokenAddress), props.transaction.chain.id);
130
+ const token = await getToken(props.client, checksumAddress(tokenAddress), props.transaction.chain.id).catch((e) => {
131
+ if (e instanceof Error && e.message.includes("not supported")) {
132
+ return null;
133
+ }
134
+ throw e;
135
+ });
136
+ if (!token) {
137
+ return {
138
+ chain: props.transaction.chain,
139
+ tokenAddress: checksumAddress(tokenAddress),
140
+ type: "unsupported_token",
141
+ };
142
+ }
127
143
  erc20Value = {
128
144
  amountWei: toUnits(props.amount, token.decimals),
129
145
  tokenAddress: checksumAddress(tokenAddress),
@@ -147,6 +163,7 @@ export function TransactionWidget(props) {
147
163
  };
148
164
  },
149
165
  queryKey: ["bridgeData", stringify(props)],
166
+ retry: 1,
150
167
  });
151
168
  let content = null;
152
169
  if (!localeQuery.data || bridgeDataQuery.isLoading) {
@@ -157,6 +174,15 @@ export function TransactionWidget(props) {
157
174
  minHeight: "350px",
158
175
  }, children: _jsx(Spinner, { color: "secondaryText", size: "xl" }) }));
159
176
  }
177
+ else if (bridgeDataQuery.error) {
178
+ content = (_jsxs("div", { style: {
179
+ alignItems: "center",
180
+ display: "flex",
181
+ flexDirection: "column",
182
+ justifyContent: "center",
183
+ minHeight: "350px",
184
+ }, children: [_jsx(AccentFailIcon, { size: iconSize["3xl"] }), _jsx(Spacer, { y: "lg" }), _jsx(Text, { color: "secondaryText", size: "md", children: bridgeDataQuery.error.message })] }));
185
+ }
160
186
  else if (bridgeDataQuery.data?.type === "unsupported_token") {
161
187
  // Show unsupported token screen
162
188
  content = (_jsx(UnsupportedTokenScreen, { chain: bridgeDataQuery.data.chain, client: props.client, tokenAddress: props.tokenAddress }));
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = "5.105.0";
1
+ export const version = "5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,yEAAyE,CAAC"}
@@ -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.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"}
@@ -6,7 +6,7 @@ import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
6
6
  import type { SmartWalletOptions } from "../../../../wallets/smart/types.js";
7
7
  import type { AppMetadata } from "../../../../wallets/types.js";
8
8
  import type { WalletId } from "../../../../wallets/wallet-types.js";
9
- import type { Theme } from "../../../core/design-system/index.js";
9
+ import { type Theme } from "../../../core/design-system/index.js";
10
10
  import type { SiweAuthOptions } from "../../../core/hooks/auth/useSiweAuth.js";
11
11
  import type { ConnectButton_connectModalOptions } from "../../../core/hooks/connection/ConnectButtonProps.js";
12
12
  import type { SupportedTokens } from "../../../core/utils/defaultTokens.js";
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionWidget.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAmB,MAAM,8BAA8B,CAAC;AAG7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AAC9G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAK5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE,cAAc,CAAC;IACvB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAEjC;;;;OAIG;IACH,cAAc,CAAC,EAAE,+BAA+B,CAAC;IAEjD;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE7B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,WAAW,EAAE,mBAAmB,CAAC;IAEjC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAmH9D;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,+BAA+B,GAAG;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,iCAAiC,CAAC;IAEjD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EACR;QACE,OAAO,EAAE,MAAM,CAAC;KACjB,GACD,OAAO,CAAC;IAEZ;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IAEjB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"TransactionWidget.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.105.0";
1
+ export declare const version = "5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,4EAA4E,CAAC"}
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.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434",
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"),
58
53
  version: z.literal(2),
59
54
  }),
60
55
  ]);
61
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: 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"),
79
+ version: z.literal(2),
80
+ }),
81
+ ]);
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
  }
@@ -19,14 +19,17 @@ import type { SmartWalletOptions } from "../../../../wallets/smart/types.js";
19
19
  import type { AppMetadata } from "../../../../wallets/types.js";
20
20
  import type { WalletId } from "../../../../wallets/wallet-types.js";
21
21
  import { CustomThemeProvider } from "../../../core/design-system/CustomThemeProvider.js";
22
- import type { Theme } from "../../../core/design-system/index.js";
22
+ import { iconSize, type Theme } from "../../../core/design-system/index.js";
23
23
  import type { SiweAuthOptions } from "../../../core/hooks/auth/useSiweAuth.js";
24
24
  import type { ConnectButton_connectModalOptions } from "../../../core/hooks/connection/ConnectButtonProps.js";
25
25
  import type { SupportedTokens } from "../../../core/utils/defaultTokens.js";
26
+ import { AccentFailIcon } from "../ConnectWallet/icons/AccentFailIcon.js";
26
27
  import { useConnectLocale } from "../ConnectWallet/locale/getConnectLocale.js";
27
28
  import { EmbedContainer } from "../ConnectWallet/Modal/ConnectEmbed.js";
28
29
  import { DynamicHeight } from "../components/DynamicHeight.js";
30
+ import { Spacer } from "../components/Spacer.js";
29
31
  import { Spinner } from "../components/Spinner.js";
32
+ import { Text } from "../components/text.js";
30
33
  import type { LocaleId } from "../types.js";
31
34
  import { BridgeOrchestrator, type UIOptions } from "./BridgeOrchestrator.js";
32
35
  import { UnsupportedTokenScreen } from "./UnsupportedTokenScreen.js";
@@ -297,7 +300,19 @@ export function TransactionWidget(props: TransactionWidgetProps) {
297
300
  props.client,
298
301
  checksumAddress(tokenAddress),
299
302
  props.transaction.chain.id,
300
- );
303
+ ).catch((e) => {
304
+ if (e instanceof Error && e.message.includes("not supported")) {
305
+ return null;
306
+ }
307
+ throw e;
308
+ });
309
+ if (!token) {
310
+ return {
311
+ chain: props.transaction.chain,
312
+ tokenAddress: checksumAddress(tokenAddress),
313
+ type: "unsupported_token",
314
+ };
315
+ }
301
316
 
302
317
  erc20Value = {
303
318
  amountWei: toUnits(props.amount, token.decimals),
@@ -324,6 +339,7 @@ export function TransactionWidget(props: TransactionWidgetProps) {
324
339
  };
325
340
  },
326
341
  queryKey: ["bridgeData", stringify(props)],
342
+ retry: 1,
327
343
  });
328
344
 
329
345
  let content = null;
@@ -340,6 +356,24 @@ export function TransactionWidget(props: TransactionWidgetProps) {
340
356
  <Spinner color="secondaryText" size="xl" />
341
357
  </div>
342
358
  );
359
+ } else if (bridgeDataQuery.error) {
360
+ content = (
361
+ <div
362
+ style={{
363
+ alignItems: "center",
364
+ display: "flex",
365
+ flexDirection: "column",
366
+ justifyContent: "center",
367
+ minHeight: "350px",
368
+ }}
369
+ >
370
+ <AccentFailIcon size={iconSize["3xl"]} />
371
+ <Spacer y="lg" />
372
+ <Text color="secondaryText" size="md">
373
+ {bridgeDataQuery.error.message}
374
+ </Text>
375
+ </div>
376
+ );
343
377
  } else if (bridgeDataQuery.data?.type === "unsupported_token") {
344
378
  // Show unsupported token screen
345
379
  content = (
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.105.0";
1
+ export const version = "5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";