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.
- package/dist/cjs/bridge/Webhook.js +45 -21
- package/dist/cjs/bridge/Webhook.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/TransactionWidget.js +27 -1
- package/dist/cjs/react/web/ui/Bridge/TransactionWidget.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/bridge/Webhook.js +45 -21
- package/dist/esm/bridge/Webhook.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/TransactionWidget.js +28 -2
- package/dist/esm/react/web/ui/Bridge/TransactionWidget.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/bridge/Webhook.d.ts +40 -44
- package/dist/types/bridge/Webhook.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/TransactionWidget.d.ts +1 -1
- package/dist/types/react/web/ui/Bridge/TransactionWidget.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bridge/Status.test.ts +3 -3
- package/src/bridge/Webhook.test.ts +17 -6
- package/src/bridge/Webhook.ts +49 -24
- package/src/react/web/ui/Bridge/TransactionWidget.tsx +36 -2
- package/src/version.ts +1 -1
@@ -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
|
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.
|
23
|
-
destinationToken:
|
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.
|
35
|
-
originToken:
|
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":";;
|
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;;
|
1
|
+
{"version":3,"file":"TransactionWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAmRb,8CAkJC;;AAnaD,uDAAiD;AACjD,+DAAmE;AAInE,qEAA0E;AAC1E,uEAAgE;AAChE,2FAGwD;AACxD,6DAA6E;AAC7E,uDAAsD;AACtD,yDAAqD;AAKrD,+FAAyF;AACzF,mEAA4E;AAI5E,gFAA0E;AAC1E,qFAA+E;AAC/E,4EAAwE;AACxE,qEAA+D;AAC/D,uDAAiD;AACjD,yDAAmD;AACnD,mDAA6C;AAE7C,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,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACZ,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC9D,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;wBACL,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK;wBAC9B,YAAY,EAAE,IAAA,4BAAe,EAAC,YAAY,CAAC;wBAC3C,IAAI,EAAE,mBAAmB;qBAC1B,CAAC;gBACJ,CAAC;gBAED,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;QAC1C,KAAK,EAAE,CAAC;KACT,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,KAAK,EAAE,CAAC;QACjC,OAAO,GAAG,CACR,iCACE,KAAK,EAAE;gBACL,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,QAAQ;gBACvB,cAAc,EAAE,QAAQ;gBACxB,SAAS,EAAE,OAAO;aACnB,aAED,uBAAC,kCAAc,IAAC,IAAI,EAAE,mBAAQ,CAAC,KAAK,CAAC,GAAI,EACzC,uBAAC,kBAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EACjB,uBAAC,cAAI,IAAC,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,YAClC,eAAe,CAAC,KAAK,CAAC,OAAO,GACzB,IACH,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"}
|
package/dist/cjs/version.js
CHANGED
@@ -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.
|
4
|
+
exports.version = "5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/dist/cjs/version.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,
|
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
|
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.
|
20
|
-
destinationToken:
|
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.
|
32
|
-
originToken:
|
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":"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;
|
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 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":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAInE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAEL,kBAAkB,GACnB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAgB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAKrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;
|
1
|
+
{"version":3,"file":"TransactionWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = "5.105.
|
1
|
+
export const version = "5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/esm/version.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
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.
|
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.
|
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.
|
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;
|
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
|
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,
|
1
|
+
{"version":3,"file":"TransactionWidget.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/TransactionWidget.tsx"],"names":[],"mappings":"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"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.105.
|
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,
|
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.
|
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:
|
10
|
+
chainId: 8453,
|
11
11
|
client: TEST_CLIENT,
|
12
12
|
transactionHash:
|
13
|
-
"
|
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
|
-
"
|
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
|
24
|
+
const validWebhook: WebhookPayload = {
|
25
25
|
data: {
|
26
26
|
action: "TRANSFER",
|
27
27
|
clientId: "client123",
|
28
|
-
destinationAmount:
|
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:
|
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(
|
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(
|
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(
|
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;
|
package/src/bridge/Webhook.ts
CHANGED
@@ -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
|
-
|
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.
|
22
|
-
destinationToken:
|
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.
|
34
|
-
originToken:
|
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
|
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.
|
1
|
+
export const version = "5.105.2-nightly-277c2e2ed96ff38194a2d5c33916d25a8f1e9a6f-20250627000434";
|