thirdweb 5.108.1 → 5.108.2-nightly-a83104efff49a2fd40ad4b87cfbcf3ff103ea7da-20250925000342

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.
Files changed (175) hide show
  1. package/dist/cjs/bridge/Buy.js +2 -2
  2. package/dist/cjs/bridge/Chains.js +1 -1
  3. package/dist/cjs/bridge/Routes.js +1 -1
  4. package/dist/cjs/bridge/Sell.js +2 -2
  5. package/dist/cjs/bridge/Status.js +1 -1
  6. package/dist/cjs/bridge/Token.js +3 -3
  7. package/dist/cjs/bridge/Transfer.js +1 -1
  8. package/dist/cjs/bridge/Webhook.js +1 -1
  9. package/dist/cjs/exports/react.js +3 -1
  10. package/dist/cjs/exports/react.js.map +1 -1
  11. package/dist/cjs/exports/thirdweb.js +1 -1
  12. package/dist/cjs/react/core/hooks/useStepExecutor.js +1 -21
  13. package/dist/cjs/react/core/hooks/useStepExecutor.js.map +1 -1
  14. package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js +5 -6
  15. package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
  16. package/dist/cjs/react/web/ui/Bridge/StepRunner.js +2 -2
  17. package/dist/cjs/react/web/ui/Bridge/StepRunner.js.map +1 -1
  18. package/dist/cjs/react/web/ui/Bridge/TransactionPayment.js +1 -0
  19. package/dist/cjs/react/web/ui/Bridge/TransactionPayment.js.map +1 -1
  20. package/dist/cjs/react/web/ui/Bridge/bridge-widget/bridge-widget.js +95 -0
  21. package/dist/cjs/react/web/ui/Bridge/bridge-widget/bridge-widget.js.map +1 -0
  22. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentOverview.js +1 -0
  23. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentOverview.js.map +1 -1
  24. package/dist/cjs/react/web/ui/Bridge/swap-widget/SwapWidget.js +13 -1
  25. package/dist/cjs/react/web/ui/Bridge/swap-widget/SwapWidget.js.map +1 -1
  26. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-chain.js +12 -1
  27. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-chain.js.map +1 -1
  28. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-token-ui.js +13 -4
  29. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-token-ui.js.map +1 -1
  30. package/dist/cjs/react/web/ui/Bridge/swap-widget/swap-ui.js +6 -10
  31. package/dist/cjs/react/web/ui/Bridge/swap-widget/swap-ui.js.map +1 -1
  32. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +2 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  34. package/dist/cjs/script-exports/bridge-widget-script.js +17 -0
  35. package/dist/cjs/script-exports/bridge-widget-script.js.map +1 -0
  36. package/dist/cjs/script-exports/bridge-widget.js +13 -0
  37. package/dist/cjs/script-exports/bridge-widget.js.map +1 -0
  38. package/dist/cjs/stories/Bridge/BridgeOrchestrator.stories.js +30 -1
  39. package/dist/cjs/stories/Bridge/BridgeOrchestrator.stories.js.map +1 -1
  40. package/dist/cjs/stories/Bridge/BridgeWidget/bridge-widget-script.stories.js +47 -0
  41. package/dist/cjs/stories/Bridge/BridgeWidget/bridge-widget-script.stories.js.map +1 -0
  42. package/dist/cjs/stories/Bridge/StepRunner.stories.js +1 -21
  43. package/dist/cjs/stories/Bridge/StepRunner.stories.js.map +1 -1
  44. package/dist/cjs/stories/Bridge/UnsupportedTokenScreen.stories.js +4 -4
  45. package/dist/cjs/stories/Bridge/UnsupportedTokenScreen.stories.js.map +1 -1
  46. package/dist/cjs/version.js +1 -1
  47. package/dist/cjs/version.js.map +1 -1
  48. package/dist/esm/bridge/Buy.js +2 -2
  49. package/dist/esm/bridge/Chains.js +1 -1
  50. package/dist/esm/bridge/Routes.js +1 -1
  51. package/dist/esm/bridge/Sell.js +2 -2
  52. package/dist/esm/bridge/Status.js +1 -1
  53. package/dist/esm/bridge/Token.js +3 -3
  54. package/dist/esm/bridge/Transfer.js +1 -1
  55. package/dist/esm/bridge/Webhook.js +1 -1
  56. package/dist/esm/exports/react.js +1 -0
  57. package/dist/esm/exports/react.js.map +1 -1
  58. package/dist/esm/exports/thirdweb.js +1 -1
  59. package/dist/esm/react/core/hooks/useStepExecutor.js +1 -21
  60. package/dist/esm/react/core/hooks/useStepExecutor.js.map +1 -1
  61. package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js +5 -6
  62. package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
  63. package/dist/esm/react/web/ui/Bridge/StepRunner.js +2 -2
  64. package/dist/esm/react/web/ui/Bridge/StepRunner.js.map +1 -1
  65. package/dist/esm/react/web/ui/Bridge/TransactionPayment.js +1 -0
  66. package/dist/esm/react/web/ui/Bridge/TransactionPayment.js.map +1 -1
  67. package/dist/esm/react/web/ui/Bridge/bridge-widget/bridge-widget.js +92 -0
  68. package/dist/esm/react/web/ui/Bridge/bridge-widget/bridge-widget.js.map +1 -0
  69. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentOverview.js +1 -0
  70. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentOverview.js.map +1 -1
  71. package/dist/esm/react/web/ui/Bridge/swap-widget/SwapWidget.js +13 -1
  72. package/dist/esm/react/web/ui/Bridge/swap-widget/SwapWidget.js.map +1 -1
  73. package/dist/esm/react/web/ui/Bridge/swap-widget/select-chain.js +13 -2
  74. package/dist/esm/react/web/ui/Bridge/swap-widget/select-chain.js.map +1 -1
  75. package/dist/esm/react/web/ui/Bridge/swap-widget/select-token-ui.js +13 -4
  76. package/dist/esm/react/web/ui/Bridge/swap-widget/select-token-ui.js.map +1 -1
  77. package/dist/esm/react/web/ui/Bridge/swap-widget/swap-ui.js +6 -10
  78. package/dist/esm/react/web/ui/Bridge/swap-widget/swap-ui.js.map +1 -1
  79. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +2 -1
  80. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  81. package/dist/esm/script-exports/bridge-widget-script.js +14 -0
  82. package/dist/esm/script-exports/bridge-widget-script.js.map +1 -0
  83. package/dist/esm/script-exports/bridge-widget.js +10 -0
  84. package/dist/esm/script-exports/bridge-widget.js.map +1 -0
  85. package/dist/esm/stories/Bridge/BridgeOrchestrator.stories.js +29 -0
  86. package/dist/esm/stories/Bridge/BridgeOrchestrator.stories.js.map +1 -1
  87. package/dist/esm/stories/Bridge/BridgeWidget/bridge-widget-script.stories.js +40 -0
  88. package/dist/esm/stories/Bridge/BridgeWidget/bridge-widget-script.stories.js.map +1 -0
  89. package/dist/esm/stories/Bridge/StepRunner.stories.js +2 -22
  90. package/dist/esm/stories/Bridge/StepRunner.stories.js.map +1 -1
  91. package/dist/esm/stories/Bridge/UnsupportedTokenScreen.stories.js +4 -4
  92. package/dist/esm/stories/Bridge/UnsupportedTokenScreen.stories.js.map +1 -1
  93. package/dist/esm/version.js +1 -1
  94. package/dist/esm/version.js.map +1 -1
  95. package/dist/scripts/bridge-widget.d.ts +1118 -0
  96. package/dist/scripts/bridge-widget.js +532 -0
  97. package/dist/types/bridge/Buy.d.ts +2 -2
  98. package/dist/types/bridge/Chains.d.ts +1 -1
  99. package/dist/types/bridge/Routes.d.ts +1 -1
  100. package/dist/types/bridge/Sell.d.ts +2 -2
  101. package/dist/types/bridge/Status.d.ts +1 -1
  102. package/dist/types/bridge/Token.d.ts +3 -3
  103. package/dist/types/bridge/Transfer.d.ts +1 -1
  104. package/dist/types/bridge/Webhook.d.ts +1 -1
  105. package/dist/types/bridge/types/Chain.d.ts +1 -1
  106. package/dist/types/exports/react.d.ts +1 -0
  107. package/dist/types/exports/react.d.ts.map +1 -1
  108. package/dist/types/exports/thirdweb.d.ts +1 -1
  109. package/dist/types/react/core/hooks/useStepExecutor.d.ts +3 -4
  110. package/dist/types/react/core/hooks/useStepExecutor.d.ts.map +1 -1
  111. package/dist/types/react/core/hooks/useTransactionDetails.d.ts +1 -1
  112. package/dist/types/react/core/hooks/useTransactionDetails.d.ts.map +1 -1
  113. package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts.map +1 -1
  114. package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts +1 -1
  115. package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts.map +1 -1
  116. package/dist/types/react/web/ui/Bridge/StepRunner.d.ts +6 -2
  117. package/dist/types/react/web/ui/Bridge/StepRunner.d.ts.map +1 -1
  118. package/dist/types/react/web/ui/Bridge/TransactionPayment.d.ts.map +1 -1
  119. package/dist/types/react/web/ui/Bridge/bridge-widget/bridge-widget.d.ts +218 -0
  120. package/dist/types/react/web/ui/Bridge/bridge-widget/bridge-widget.d.ts.map +1 -0
  121. package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts.map +1 -1
  122. package/dist/types/react/web/ui/Bridge/swap-widget/select-chain.d.ts.map +1 -1
  123. package/dist/types/react/web/ui/Bridge/swap-widget/select-token-ui.d.ts +1 -1
  124. package/dist/types/react/web/ui/Bridge/swap-widget/select-token-ui.d.ts.map +1 -1
  125. package/dist/types/react/web/ui/Bridge/swap-widget/swap-ui.d.ts.map +1 -1
  126. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  127. package/dist/types/script-exports/bridge-widget-script.d.ts +49 -0
  128. package/dist/types/script-exports/bridge-widget-script.d.ts.map +1 -0
  129. package/dist/types/script-exports/bridge-widget.d.ts +4 -0
  130. package/dist/types/script-exports/bridge-widget.d.ts.map +1 -0
  131. package/dist/types/stories/Bridge/BridgeOrchestrator.stories.d.ts +4 -0
  132. package/dist/types/stories/Bridge/BridgeOrchestrator.stories.d.ts.map +1 -1
  133. package/dist/types/stories/Bridge/BridgeWidget/bridge-widget-script.stories.d.ts +10 -0
  134. package/dist/types/stories/Bridge/BridgeWidget/bridge-widget-script.stories.d.ts.map +1 -0
  135. package/dist/types/stories/Bridge/StepRunner.stories.d.ts +0 -6
  136. package/dist/types/stories/Bridge/StepRunner.stories.d.ts.map +1 -1
  137. package/dist/types/utils/domains.d.ts +1 -1
  138. package/dist/types/version.d.ts +1 -1
  139. package/dist/types/version.d.ts.map +1 -1
  140. package/package.json +5 -2
  141. package/src/bridge/Buy.ts +2 -2
  142. package/src/bridge/Chains.ts +1 -1
  143. package/src/bridge/Routes.ts +1 -1
  144. package/src/bridge/Sell.ts +2 -2
  145. package/src/bridge/Status.ts +1 -1
  146. package/src/bridge/Token.ts +3 -3
  147. package/src/bridge/Transfer.ts +1 -1
  148. package/src/bridge/Webhook.ts +1 -1
  149. package/src/bridge/types/Chain.ts +1 -1
  150. package/src/exports/react.ts +4 -0
  151. package/src/exports/thirdweb.ts +1 -1
  152. package/src/react/core/hooks/useStepExecutor.ts +5 -30
  153. package/src/react/core/hooks/useTransactionDetails.ts +1 -1
  154. package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +6 -9
  155. package/src/react/web/ui/Bridge/BuyWidget.tsx +1 -1
  156. package/src/react/web/ui/Bridge/StepRunner.tsx +11 -2
  157. package/src/react/web/ui/Bridge/TransactionPayment.tsx +1 -0
  158. package/src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx +344 -0
  159. package/src/react/web/ui/Bridge/payment-details/PaymentOverview.tsx +1 -0
  160. package/src/react/web/ui/Bridge/swap-widget/SwapWidget.tsx +14 -0
  161. package/src/react/web/ui/Bridge/swap-widget/select-chain.tsx +17 -2
  162. package/src/react/web/ui/Bridge/swap-widget/select-token-ui.tsx +14 -5
  163. package/src/react/web/ui/Bridge/swap-widget/swap-ui.tsx +6 -14
  164. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +3 -1
  165. package/src/script-exports/bridge-widget-script.tsx +72 -0
  166. package/src/script-exports/bridge-widget.tsx +17 -0
  167. package/src/script-exports/readme.md +72 -0
  168. package/src/stories/Bridge/BridgeOrchestrator.stories.tsx +31 -0
  169. package/src/stories/Bridge/BridgeWidget/bridge-widget-script.stories.tsx +79 -0
  170. package/src/stories/Bridge/StepRunner.stories.tsx +6 -23
  171. package/src/stories/Bridge/UnsupportedTokenScreen.stories.tsx +4 -4
  172. package/src/utils/domains.ts +1 -1
  173. package/src/version.ts +1 -1
  174. package/src/wallets/eip5792/send-calls.ts +1 -1
  175. package/src/wallets/smart/smart-wallet-modular.test.ts +1 -1
@@ -241,6 +241,37 @@ export const TransactionLight: Story = {
241
241
  },
242
242
  };
243
243
 
244
+ /**
245
+ * Transaction mode in light theme showing an ERC20 token transfer.
246
+ */
247
+ export const TransactionJPYCurrency: Story = {
248
+ args: {
249
+ connectLocale: undefined,
250
+ connectOptions: undefined,
251
+ onCancel: undefined,
252
+ onComplete: undefined,
253
+ onError: undefined,
254
+ paymentLinkId: undefined,
255
+ presetOptions: undefined,
256
+ purchaseData: undefined,
257
+ receiverAddress: undefined,
258
+ theme: "light",
259
+ uiOptions: {
260
+ ...TRANSACTION_UI_OPTIONS.erc20Transfer,
261
+ currency: "JPY",
262
+ },
263
+ },
264
+ parameters: {
265
+ backgrounds: { default: "light" },
266
+ docs: {
267
+ description: {
268
+ story:
269
+ "Light theme version of transaction mode showing an ERC20 token transfer with proper token amount formatting and USD conversion.",
270
+ },
271
+ },
272
+ },
273
+ };
274
+
244
275
  export const CustompresetOptions: Story = {
245
276
  args: {
246
277
  connectLocale: undefined,
@@ -0,0 +1,79 @@
1
+ import type { Meta } from "@storybook/react";
2
+ import { BridgeWidgetScript } from "../../../script-exports/bridge-widget-script.js";
3
+ import { storyClient } from "../../utils.js";
4
+
5
+ const meta: Meta<typeof BridgeWidgetScript> = {
6
+ title: "Bridge/BridgeWidgetScript",
7
+ parameters: {
8
+ layout: "centered",
9
+ },
10
+ decorators: [
11
+ (Story) => {
12
+ return (
13
+ <div>
14
+ <Story />
15
+ </div>
16
+ );
17
+ },
18
+ ],
19
+ };
20
+ export default meta;
21
+
22
+ export function BasicUsage() {
23
+ return (
24
+ <BridgeWidgetScript
25
+ clientId={storyClient.clientId}
26
+ buy={{ chainId: 8453, amount: "0.1" }}
27
+ />
28
+ );
29
+ }
30
+
31
+ export function LightTheme() {
32
+ return (
33
+ <BridgeWidgetScript
34
+ clientId={storyClient.clientId}
35
+ theme="light"
36
+ buy={{ chainId: 8453, amount: "0.1" }}
37
+ />
38
+ );
39
+ }
40
+
41
+ export function CurrencySet() {
42
+ return (
43
+ <BridgeWidgetScript
44
+ clientId={storyClient.clientId}
45
+ currency="JPY"
46
+ buy={{ chainId: 8453, amount: "0.1" }}
47
+ />
48
+ );
49
+ }
50
+
51
+ export function NoThirdwebBranding() {
52
+ return (
53
+ <BridgeWidgetScript
54
+ clientId={storyClient.clientId}
55
+ theme="light"
56
+ buy={{ chainId: 8453, amount: "0.1" }}
57
+ showThirdwebBranding={false}
58
+ />
59
+ );
60
+ }
61
+
62
+ export function CustomTheme() {
63
+ return (
64
+ <BridgeWidgetScript
65
+ clientId={storyClient.clientId}
66
+ buy={{ chainId: 8453, amount: "0.1" }}
67
+ theme={{
68
+ type: "light",
69
+ colors: {
70
+ modalBg: "#FFFFF0",
71
+ tertiaryBg: "#DBE4C9",
72
+ borderColor: "#8AA624",
73
+ secondaryText: "#3E3F29",
74
+ accentText: "#E43636",
75
+ },
76
+ }}
77
+ />
78
+ );
79
+ }
@@ -7,7 +7,11 @@ import type { CompletedStatusResult } from "../../react/core/hooks/useStepExecut
7
7
  import { StepRunner } from "../../react/web/ui/Bridge/StepRunner.js";
8
8
  import type { Wallet } from "../../wallets/interfaces/wallet.js";
9
9
  import { ModalThemeWrapper, storyClient } from "../utils.js";
10
- import { STORY_MOCK_WALLET, simpleBuyRequest } from "./fixtures.js";
10
+ import {
11
+ STORY_MOCK_WALLET,
12
+ simpleBuyQuote,
13
+ simpleBuyRequest,
14
+ } from "./fixtures.js";
11
15
 
12
16
  // Mock window adapter
13
17
  const mockWindowAdapter: WindowAdapter = {
@@ -32,7 +36,7 @@ const StepRunnerWithTheme = (props: StepRunnerWithThemeProps) => {
32
36
  const { theme, ...componentProps } = props;
33
37
  return (
34
38
  <ModalThemeWrapper theme={theme}>
35
- <StepRunner {...componentProps} />
39
+ <StepRunner {...componentProps} preparedQuote={simpleBuyQuote} />
36
40
  </ModalThemeWrapper>
37
41
  );
38
42
  };
@@ -59,29 +63,8 @@ const meta = {
59
63
  },
60
64
  component: StepRunnerWithTheme,
61
65
  parameters: {
62
- docs: {
63
- description: {
64
- component:
65
- "**StepRunner** executes prepared route steps sequentially, showing real-time progress and transaction status.\n\n" +
66
- "## Features\n" +
67
- "- **Real Execution**: Uses useStepExecutor hook for actual transaction processing\n" +
68
- "- **Progress Tracking**: Visual progress bar and step-by-step status updates\n" +
69
- "- **Error Handling**: Retry functionality for failed transactions\n" +
70
- "- **Transaction Batching**: Optimizes multiple transactions when possible\n" +
71
- "- **Onramp Support**: Handles fiat-to-crypto onramp flows\n\n" +
72
- "## Props\n" +
73
- "- `steps`: Array of RouteStep objects from Bridge.prepare()\n" +
74
- "- `wallet`: Connected wallet for transaction signing\n" +
75
- "- `client`: ThirdwebClient instance\n" +
76
- "- `windowAdapter`: Platform-specific window/URL handler\n" +
77
- "- `onramp`: Optional onramp configuration\n\n" +
78
- "## Integration\n" +
79
- "This component is typically used within the BridgeOrchestrator after route preparation.",
80
- },
81
- },
82
66
  layout: "centered",
83
67
  },
84
- tags: ["autodocs"],
85
68
  title: "Bridge/StepRunner",
86
69
  } satisfies Meta<typeof StepRunnerWithTheme>;
87
70
 
@@ -68,7 +68,7 @@ export const TokenNotSupported: Story = {
68
68
  docs: {
69
69
  description: {
70
70
  story:
71
- "Shows the loading state when a token is being indexed by the Universal Bridge on a mainnet chain.",
71
+ "Shows the loading state when a token is being indexed by the Bridge on a mainnet chain.",
72
72
  },
73
73
  },
74
74
  },
@@ -85,7 +85,7 @@ export const TokenNotSupportedLight: Story = {
85
85
  docs: {
86
86
  description: {
87
87
  story:
88
- "Shows the loading state when a token is being indexed by the Universal Bridge on a mainnet chain (light theme).",
88
+ "Shows the loading state when a token is being indexed by the Bridge on a mainnet chain (light theme).",
89
89
  },
90
90
  },
91
91
  },
@@ -102,7 +102,7 @@ export const TestnetNotSupported: Story = {
102
102
  docs: {
103
103
  description: {
104
104
  story:
105
- "Shows the error state when trying to use the Universal Bridge on a testnet chain (Sepolia in this example).",
105
+ "Shows the error state when trying to use the Bridge on a testnet chain (Sepolia in this example).",
106
106
  },
107
107
  },
108
108
  },
@@ -119,7 +119,7 @@ export const TestnetNotSupportedLight: Story = {
119
119
  docs: {
120
120
  description: {
121
121
  story:
122
- "Shows the error state when trying to use the Universal Bridge on a testnet chain (Sepolia in this example, light theme).",
122
+ "Shows the error state when trying to use the Bridge on a testnet chain (Sepolia in this example, light theme).",
123
123
  },
124
124
  },
125
125
  },
@@ -45,7 +45,7 @@ type DomainOverrides = {
45
45
  */
46
46
  engineCloud?: string;
47
47
  /**
48
- * The base URL for the universal bridge service.
48
+ * The base URL for the bridge service.
49
49
  * @default "bridge.thirdweb.com"
50
50
  */
51
51
  bridge?: string;
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.108.1";
1
+ export const version = "5.108.2-nightly-a83104efff49a2fd40ad4b87cfbcf3ff103ea7da-20250925000342";
@@ -113,7 +113,7 @@ export type SendCallsResult = Prettify<{
113
113
  * });
114
114
  * ```
115
115
  * We recommend proxying any paymaster calls via an API route you setup and control.
116
- *
116
+ *
117
117
  * @extension EIP5792
118
118
  */
119
119
  export async function sendCalls<const ID extends WalletId>(
@@ -108,7 +108,7 @@ describe.runIf(process.env.TW_SECRET_KEY).sequential(
108
108
  });
109
109
  });
110
110
 
111
- it("should send a batch transaction", async () => {
111
+ it.skip("should send a batch transaction", async () => {
112
112
  const tx = prepareTransaction({
113
113
  chain,
114
114
  client,