thirdweb 5.100.1 → 5.100.2-nightly-5ab59ff400cc32caa414354855fa07831ed90f3a-20250523000413

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 (215) hide show
  1. package/dist/cjs/bridge/Buy.js +15 -3
  2. package/dist/cjs/bridge/Buy.js.map +1 -1
  3. package/dist/cjs/bridge/Chains.js +7 -1
  4. package/dist/cjs/bridge/Chains.js.map +1 -1
  5. package/dist/cjs/bridge/Onramp.js +11 -2
  6. package/dist/cjs/bridge/Onramp.js.map +1 -1
  7. package/dist/cjs/bridge/OnrampStatus.js +7 -1
  8. package/dist/cjs/bridge/OnrampStatus.js.map +1 -1
  9. package/dist/cjs/bridge/Routes.js +7 -1
  10. package/dist/cjs/bridge/Routes.js.map +1 -1
  11. package/dist/cjs/bridge/Sell.js +15 -3
  12. package/dist/cjs/bridge/Sell.js.map +1 -1
  13. package/dist/cjs/bridge/Status.js +7 -1
  14. package/dist/cjs/bridge/Status.js.map +1 -1
  15. package/dist/cjs/bridge/Transfer.js +9 -2
  16. package/dist/cjs/bridge/Transfer.js.map +1 -1
  17. package/dist/cjs/bridge/types/Errors.js +31 -0
  18. package/dist/cjs/bridge/types/Errors.js.map +1 -0
  19. package/dist/cjs/exports/react.js +6 -4
  20. package/dist/cjs/exports/react.js.map +1 -1
  21. package/dist/cjs/exports/react.native.js +6 -4
  22. package/dist/cjs/exports/react.native.js.map +1 -1
  23. package/dist/cjs/pay/buyWithCrypto/getQuote.js +2 -0
  24. package/dist/cjs/pay/buyWithCrypto/getQuote.js.map +1 -1
  25. package/dist/cjs/pay/buyWithCrypto/getTransfer.js +1 -0
  26. package/dist/cjs/pay/buyWithCrypto/getTransfer.js.map +1 -1
  27. package/dist/cjs/pay/buyWithFiat/getPostOnRampQuote.js +2 -1
  28. package/dist/cjs/pay/buyWithFiat/getPostOnRampQuote.js.map +1 -1
  29. package/dist/cjs/pay/buyWithFiat/getQuote.js +1 -0
  30. package/dist/cjs/pay/buyWithFiat/getQuote.js.map +1 -1
  31. package/dist/cjs/react/core/hooks/wallets/useAuthToken.js +42 -0
  32. package/dist/cjs/react/core/hooks/wallets/useAuthToken.js.map +1 -0
  33. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +4 -4
  34. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +1 -1
  36. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js +4 -8
  37. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js.map +1 -1
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js +3 -0
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js.map +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js +3 -6
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js.map +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +2 -1
  43. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
  44. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js.map +1 -1
  45. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -1
  46. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  47. package/dist/cjs/react/web/ui/PayEmbed.js +1 -1
  48. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  49. package/dist/cjs/react/web/utils/errors.js +20 -1
  50. package/dist/cjs/react/web/utils/errors.js.map +1 -1
  51. package/dist/cjs/utils/ens/avatar.js +1 -1
  52. package/dist/cjs/utils/ens/avatar.js.map +1 -1
  53. package/dist/cjs/version.js +1 -1
  54. package/dist/cjs/version.js.map +1 -1
  55. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +17 -0
  56. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  57. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  58. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  59. package/dist/esm/bridge/Buy.js +15 -3
  60. package/dist/esm/bridge/Buy.js.map +1 -1
  61. package/dist/esm/bridge/Chains.js +7 -1
  62. package/dist/esm/bridge/Chains.js.map +1 -1
  63. package/dist/esm/bridge/Onramp.js +11 -2
  64. package/dist/esm/bridge/Onramp.js.map +1 -1
  65. package/dist/esm/bridge/OnrampStatus.js +7 -1
  66. package/dist/esm/bridge/OnrampStatus.js.map +1 -1
  67. package/dist/esm/bridge/Routes.js +7 -1
  68. package/dist/esm/bridge/Routes.js.map +1 -1
  69. package/dist/esm/bridge/Sell.js +15 -3
  70. package/dist/esm/bridge/Sell.js.map +1 -1
  71. package/dist/esm/bridge/Status.js +7 -1
  72. package/dist/esm/bridge/Status.js.map +1 -1
  73. package/dist/esm/bridge/Transfer.js +9 -2
  74. package/dist/esm/bridge/Transfer.js.map +1 -1
  75. package/dist/esm/bridge/types/Errors.js +27 -0
  76. package/dist/esm/bridge/types/Errors.js.map +1 -0
  77. package/dist/esm/exports/react.js +2 -1
  78. package/dist/esm/exports/react.js.map +1 -1
  79. package/dist/esm/exports/react.native.js +2 -1
  80. package/dist/esm/exports/react.native.js.map +1 -1
  81. package/dist/esm/pay/buyWithCrypto/getQuote.js +2 -0
  82. package/dist/esm/pay/buyWithCrypto/getQuote.js.map +1 -1
  83. package/dist/esm/pay/buyWithCrypto/getTransfer.js +1 -0
  84. package/dist/esm/pay/buyWithCrypto/getTransfer.js.map +1 -1
  85. package/dist/esm/pay/buyWithFiat/getPostOnRampQuote.js +2 -1
  86. package/dist/esm/pay/buyWithFiat/getPostOnRampQuote.js.map +1 -1
  87. package/dist/esm/pay/buyWithFiat/getQuote.js +1 -0
  88. package/dist/esm/pay/buyWithFiat/getQuote.js.map +1 -1
  89. package/dist/esm/react/core/hooks/wallets/useAuthToken.js +39 -0
  90. package/dist/esm/react/core/hooks/wallets/useAuthToken.js.map +1 -0
  91. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +4 -4
  92. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  93. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +1 -1
  94. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js +4 -8
  95. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js.map +1 -1
  96. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js +3 -0
  97. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js.map +1 -1
  98. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js +3 -6
  99. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js.map +1 -1
  100. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +2 -1
  101. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
  102. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js.map +1 -1
  103. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -1
  104. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  105. package/dist/esm/react/web/ui/PayEmbed.js +1 -1
  106. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  107. package/dist/esm/react/web/utils/errors.js +20 -1
  108. package/dist/esm/react/web/utils/errors.js.map +1 -1
  109. package/dist/esm/utils/ens/avatar.js +1 -1
  110. package/dist/esm/utils/ens/avatar.js.map +1 -1
  111. package/dist/esm/version.js +1 -1
  112. package/dist/esm/version.js.map +1 -1
  113. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +17 -0
  114. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  115. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  116. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  117. package/dist/types/bridge/Buy.d.ts +4 -0
  118. package/dist/types/bridge/Buy.d.ts.map +1 -1
  119. package/dist/types/bridge/Chains.d.ts.map +1 -1
  120. package/dist/types/bridge/Onramp.d.ts +4 -0
  121. package/dist/types/bridge/Onramp.d.ts.map +1 -1
  122. package/dist/types/bridge/OnrampStatus.d.ts.map +1 -1
  123. package/dist/types/bridge/Routes.d.ts.map +1 -1
  124. package/dist/types/bridge/Sell.d.ts +4 -0
  125. package/dist/types/bridge/Sell.d.ts.map +1 -1
  126. package/dist/types/bridge/Status.d.ts.map +1 -1
  127. package/dist/types/bridge/Transfer.d.ts +4 -0
  128. package/dist/types/bridge/Transfer.d.ts.map +1 -1
  129. package/dist/types/bridge/index.d.ts +2 -1
  130. package/dist/types/bridge/index.d.ts.map +1 -1
  131. package/dist/types/bridge/types/BridgeAction.d.ts +1 -1
  132. package/dist/types/bridge/types/BridgeAction.d.ts.map +1 -1
  133. package/dist/types/bridge/types/Errors.d.ts +14 -0
  134. package/dist/types/bridge/types/Errors.d.ts.map +1 -0
  135. package/dist/types/bridge/types/Route.d.ts +2 -2
  136. package/dist/types/bridge/types/Route.d.ts.map +1 -1
  137. package/dist/types/exports/react.d.ts +2 -1
  138. package/dist/types/exports/react.d.ts.map +1 -1
  139. package/dist/types/exports/react.native.d.ts +2 -1
  140. package/dist/types/exports/react.native.d.ts.map +1 -1
  141. package/dist/types/pay/buyWithCrypto/getQuote.d.ts +4 -0
  142. package/dist/types/pay/buyWithCrypto/getQuote.d.ts.map +1 -1
  143. package/dist/types/pay/buyWithCrypto/getTransfer.d.ts +4 -0
  144. package/dist/types/pay/buyWithCrypto/getTransfer.d.ts.map +1 -1
  145. package/dist/types/pay/buyWithFiat/getPostOnRampQuote.d.ts +5 -1
  146. package/dist/types/pay/buyWithFiat/getPostOnRampQuote.d.ts.map +1 -1
  147. package/dist/types/pay/buyWithFiat/getQuote.d.ts +4 -0
  148. package/dist/types/pay/buyWithFiat/getQuote.d.ts.map +1 -1
  149. package/dist/types/react/core/hooks/wallets/useAuthToken.d.ts +26 -0
  150. package/dist/types/react/core/hooks/wallets/useAuthToken.d.ts.map +1 -0
  151. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts +1 -0
  152. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  153. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.d.ts +1 -0
  154. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.d.ts.map +1 -1
  155. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.d.ts +1 -0
  156. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.d.ts.map +1 -1
  157. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.d.ts +1 -0
  158. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.d.ts.map +1 -1
  159. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.d.ts +1 -0
  160. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.d.ts.map +1 -1
  161. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.d.ts +1 -0
  162. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.d.ts.map +1 -1
  163. package/dist/types/react/web/ui/PayEmbed.d.ts +4 -0
  164. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  165. package/dist/types/react/web/utils/errors.d.ts +2 -8
  166. package/dist/types/react/web/utils/errors.d.ts.map +1 -1
  167. package/dist/types/version.d.ts +1 -1
  168. package/dist/types/version.d.ts.map +1 -1
  169. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts +2 -0
  170. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts.map +1 -1
  171. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  172. package/dist/types/wallets/in-app/native/native-connector.d.ts +2 -1
  173. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  174. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +2 -1
  175. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  176. package/dist/types/wallets/interfaces/wallet.d.ts +10 -0
  177. package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
  178. package/package.json +1 -1
  179. package/src/bridge/Buy.ts +19 -6
  180. package/src/bridge/Chains.ts +7 -1
  181. package/src/bridge/Onramp.ts +16 -3
  182. package/src/bridge/OnrampStatus.ts +7 -3
  183. package/src/bridge/Routes.test.ts +1 -1
  184. package/src/bridge/Routes.ts +7 -1
  185. package/src/bridge/Sell.ts +19 -6
  186. package/src/bridge/Status.ts +7 -3
  187. package/src/bridge/Transfer.ts +13 -3
  188. package/src/bridge/index.ts +2 -1
  189. package/src/bridge/types/BridgeAction.ts +1 -1
  190. package/src/bridge/types/Errors.ts +24 -0
  191. package/src/bridge/types/Route.ts +2 -2
  192. package/src/exports/react.native.ts +2 -1
  193. package/src/exports/react.ts +2 -1
  194. package/src/pay/buyWithCrypto/getQuote.ts +7 -0
  195. package/src/pay/buyWithCrypto/getTransfer.ts +6 -0
  196. package/src/pay/buyWithFiat/getPostOnRampQuote.ts +7 -0
  197. package/src/pay/buyWithFiat/getQuote.ts +6 -0
  198. package/src/react/core/hooks/wallets/useAuthToken.ts +41 -0
  199. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +6 -0
  200. package/src/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.tsx +1 -1
  201. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.tsx +36 -69
  202. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.tsx +6 -0
  203. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.tsx +10 -39
  204. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx +3 -0
  205. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.tsx +1 -0
  206. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.ts +1 -1
  207. package/src/react/web/ui/PayEmbed.tsx +6 -0
  208. package/src/react/web/utils/errors.ts +24 -8
  209. package/src/utils/ens/avatar.ts +1 -1
  210. package/src/version.ts +1 -1
  211. package/src/wallets/in-app/core/interfaces/connector.ts +2 -0
  212. package/src/wallets/in-app/core/wallet/in-app-core.ts +15 -0
  213. package/src/wallets/in-app/native/native-connector.ts +1 -1
  214. package/src/wallets/in-app/web/lib/web-connector.ts +1 -1
  215. package/src/wallets/interfaces/wallet.ts +11 -1
@@ -8,7 +8,6 @@ import { NATIVE_TOKEN_ADDRESS } from "../../../../../../../constants/addresses.j
8
8
  import { getContract } from "../../../../../../../contract/contract.js";
9
9
  import { allowance } from "../../../../../../../extensions/erc20/__generated__/IERC20/read/allowance.js";
10
10
  import type { GetBuyWithCryptoQuoteParams } from "../../../../../../../pay/buyWithCrypto/getQuote.js";
11
- import { formatNumber } from "../../../../../../../utils/formatNumber.js";
12
11
  import type { Account } from "../../../../../../../wallets/interfaces/wallet.js";
13
12
  import type { PayUIOptions } from "../../../../../../core/hooks/connection/ConnectButtonProps.js";
14
13
  import { useWalletBalance } from "../../../../../../core/hooks/others/useWalletBalance.js";
@@ -55,6 +54,7 @@ export function SwapScreenContent(props: {
55
54
  setTokenAmount: (amount: string) => void;
56
55
  setHasEditedAmount: (hasEdited: boolean) => void;
57
56
  disableTokenSelection: boolean;
57
+ paymentLinkId: undefined | string;
58
58
  }) {
59
59
  const {
60
60
  setScreen,
@@ -121,6 +121,7 @@ export function SwapScreenContent(props: {
121
121
  toAmount: tokenAmount,
122
122
  client,
123
123
  purchaseData: payOptions.purchaseData,
124
+ paymentLinkId: props.paymentLinkId,
124
125
  }
125
126
  : undefined;
126
127
 
@@ -286,28 +287,14 @@ export function SwapScreenContent(props: {
286
287
  {/* Error message */}
287
288
  {errorMsg && (
288
289
  <div>
289
- {errorMsg.data?.minimumAmountEth ? (
290
+ <div>
290
291
  <Text color="danger" size="xs" center multiline>
291
- Minimum amount is{" "}
292
- {formatNumber(Number(errorMsg.data.minimumAmountEth), 6)}{" "}
293
- <TokenSymbol
294
- token={toToken}
295
- chain={toChain}
296
- size="sm"
297
- inline
298
- color="danger"
299
- />
292
+ {errorMsg.title}
300
293
  </Text>
301
- ) : (
302
- <div>
303
- <Text color="danger" size="xs" center multiline>
304
- {errorMsg.title}
305
- </Text>
306
- <Text size="xs" center multiline>
307
- {errorMsg.message}
308
- </Text>
309
- </div>
310
- )}
294
+ <Text size="xs" center multiline>
295
+ {errorMsg.message}
296
+ </Text>
297
+ </div>
311
298
  </div>
312
299
  )}
313
300
 
@@ -324,23 +311,7 @@ export function SwapScreenContent(props: {
324
311
  </Container>
325
312
 
326
313
  {/* Button */}
327
- {errorMsg?.data?.minimumAmountEth ? (
328
- <Button
329
- variant="accent"
330
- fullWidth
331
- onClick={() => {
332
- props.setTokenAmount(
333
- formatNumber(
334
- Number(errorMsg.data?.minimumAmountEth),
335
- 6,
336
- ).toString(),
337
- );
338
- props.setHasEditedAmount(true);
339
- }}
340
- >
341
- Set Minimum
342
- </Button>
343
- ) : isNotEnoughBalance || errorMsg ? (
314
+ {isNotEnoughBalance || errorMsg ? (
344
315
  <Button
345
316
  variant="accent"
346
317
  fullWidth
@@ -389,7 +360,7 @@ export function SwapScreenContent(props: {
389
360
  {quoteQuery.isLoading ? (
390
361
  <>
391
362
  Getting price quote
392
- <Spinner size="sm" color="accentText" />
363
+ <Spinner size="sm" color="accentButtonText" />
393
364
  </>
394
365
  ) : (
395
366
  "Continue"
@@ -52,6 +52,7 @@ type TransferConfirmationScreenProps = {
52
52
  transactionMode?: boolean;
53
53
  payOptions?: PayUIOptions;
54
54
  onSuccess: ((status: BuyWithCryptoStatus) => void) | undefined;
55
+ paymentLinkId: undefined | string;
55
56
  };
56
57
 
57
58
  export function TransferConfirmationScreen(
@@ -70,6 +71,7 @@ export function TransferConfirmationScreen(
70
71
  transactionMode,
71
72
  setTransactionHash,
72
73
  payOptions,
74
+ paymentLinkId,
73
75
  } = props;
74
76
  const [step, setStep] = useState<"approve" | "transfer" | "execute">(
75
77
  "transfer",
@@ -105,6 +107,7 @@ export function TransferConfirmationScreen(
105
107
  payOptions?.mode === "direct_payment"
106
108
  ? payOptions.paymentInfo.feePayer
107
109
  : undefined,
110
+ paymentLinkId: paymentLinkId,
108
111
  });
109
112
  return transferResponse;
110
113
  },
@@ -23,6 +23,7 @@ type TransferFlowProps = {
23
23
  tokenAmount: string;
24
24
  transactionMode?: boolean;
25
25
  payOptions?: PayUIOptions;
26
+ paymentLinkId: undefined | string;
26
27
  };
27
28
 
28
29
  export function TransferFlow(props: TransferFlowProps) {
@@ -36,7 +36,7 @@ async function fetchBuySupportedDestinations({
36
36
  originTokenAddress,
37
37
  maxSteps: 1,
38
38
  sortBy: "popularity",
39
- limit: 1000000,
39
+ limit: 1_000_000,
40
40
  });
41
41
  const tokens = new Set<string>();
42
42
  const chains = new Set<number>();
@@ -144,6 +144,11 @@ export type PayEmbedProps = {
144
144
  style?: React.CSSProperties;
145
145
 
146
146
  className?: string;
147
+
148
+ /**
149
+ * @hidden
150
+ */
151
+ paymentLinkId?: string;
147
152
  };
148
153
 
149
154
  /**
@@ -365,6 +370,7 @@ export function PayEmbed(props: PayEmbedProps) {
365
370
  client={props.client}
366
371
  connectLocale={localeQuery.data}
367
372
  hiddenWallets={props.hiddenWallets}
373
+ paymentLinkId={props.paymentLinkId}
368
374
  payOptions={
369
375
  props.payOptions || {
370
376
  mode: "fund_wallet",
@@ -1,17 +1,21 @@
1
- type ApiError = {
1
+ import { ApiError } from "../../../bridge/types/Errors.js";
2
+
3
+ type UiError = {
2
4
  code: string;
3
5
  title: string;
4
6
  message: string;
5
- data?: {
6
- minimumAmountUSDCents?: string;
7
- requestedAmountUSDCents?: string;
8
- minimumAmountWei?: string;
9
- minimumAmountEth?: string;
10
- };
11
7
  };
12
8
 
13
9
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
14
- export function getErrorMessage(err: any): ApiError {
10
+ export function getErrorMessage(err: any): UiError {
11
+ if (err instanceof ApiError) {
12
+ return {
13
+ code: err.code,
14
+ title: "Failed to Find Quote",
15
+ message: getErrorMessageFromBridgeApiError(err),
16
+ };
17
+ }
18
+
15
19
  if (typeof err.error === "object" && err.error.code) {
16
20
  if (err.error.code === "MINIMUM_PURCHASE_AMOUNT") {
17
21
  return {
@@ -29,6 +33,18 @@ export function getErrorMessage(err: any): ApiError {
29
33
  code: "UNABLE_TO_GET_PRICE_QUOTE",
30
34
  title: "Failed to Find Quote",
31
35
  message:
36
+ err.message ||
32
37
  "We couldn't get a quote for this token pair. Select another token or pay with card.",
33
38
  };
34
39
  }
40
+
41
+ function getErrorMessageFromBridgeApiError(err: ApiError) {
42
+ let msg = err.message;
43
+ if (msg.includes("Details")) {
44
+ msg = msg.substring(0, msg.indexOf("Details"));
45
+ }
46
+ if (msg.includes("{")) {
47
+ msg = msg.substring(0, msg.indexOf("{"));
48
+ }
49
+ return msg;
50
+ }
@@ -74,7 +74,7 @@ async function isImageUri(options: ParseAvatarOptions): Promise<boolean> {
74
74
  return false;
75
75
  }
76
76
  // fail in NodeJS, since the error is not cors but any other network issue
77
- if (Object.hasOwn(globalThis, "Image")) {
77
+ if (!Object.hasOwn(globalThis, "Image")) {
78
78
  return false;
79
79
  }
80
80
  // in case of cors, use image api to validate if given url is an actual image
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.100.1";
1
+ export const version = "5.100.2-nightly-5ab59ff400cc32caa414354855fa07831ed90f3a-20250523000413";
@@ -1,5 +1,6 @@
1
1
  import type { SocialAuthOption } from "../../../../wallets/types.js";
2
2
  import type { Account } from "../../../interfaces/wallet.js";
3
+ import type { ClientScopedStorage } from "../authentication/client-scoped-storage.js";
3
4
  import type {
4
5
  AuthArgsType,
5
6
  AuthLoginReturnType,
@@ -38,4 +39,5 @@ export interface InAppConnector {
38
39
  linkProfile(args: AuthArgsType): Promise<Profile[]>;
39
40
  unlinkProfile(args: Profile): Promise<Profile[]>;
40
41
  getProfiles(): Promise<Profile[]>;
42
+ storage: ClientScopedStorage;
41
43
  }
@@ -55,9 +55,11 @@ export function createInAppWallet(args: {
55
55
  let adminAccount: Account | undefined = undefined; // Admin account if smartAccountOptions were provided with connection
56
56
  let chain: Chain | undefined = undefined;
57
57
  let client: ThirdwebClient | undefined;
58
+ let authToken: string | null = null;
58
59
 
59
60
  return {
60
61
  id: walletId,
62
+ getAuthToken: () => authToken,
61
63
  subscribe: emitter.subscribe,
62
64
  getChain() {
63
65
  if (!chain) {
@@ -114,6 +116,12 @@ export function createInAppWallet(args: {
114
116
  account = connectedAccount;
115
117
  adminAccount = _adminAccount;
116
118
  chain = connectedChain;
119
+ try {
120
+ authToken = await connector.storage.getAuthCookie();
121
+ } catch (error) {
122
+ console.error("Failed to retrieve auth token:", error);
123
+ authToken = null;
124
+ }
117
125
  trackConnect({
118
126
  client: options.client,
119
127
  ecosystem,
@@ -168,6 +176,12 @@ export function createInAppWallet(args: {
168
176
  account = connectedAccount;
169
177
  adminAccount = _adminAccount;
170
178
  chain = connectedChain;
179
+ try {
180
+ authToken = await connector.storage.getAuthCookie();
181
+ } catch (error) {
182
+ console.error("Failed to retrieve auth token:", error);
183
+ authToken = null;
184
+ }
171
185
  trackConnect({
172
186
  client: options.client,
173
187
  ecosystem,
@@ -194,6 +208,7 @@ export function createInAppWallet(args: {
194
208
  account = undefined;
195
209
  adminAccount = undefined;
196
210
  chain = undefined;
211
+ authToken = null;
197
212
  emitter.emit("disconnect", undefined);
198
213
  },
199
214
  switchChain: async (newChain) => {
@@ -29,7 +29,7 @@ type NativeConnectorOptions = {
29
29
  export class InAppNativeConnector implements InAppConnector {
30
30
  private client: ThirdwebClient;
31
31
  private ecosystem?: Ecosystem;
32
- private storage: ClientScopedStorage;
32
+ public storage: ClientScopedStorage;
33
33
  private passkeyDomain?: string;
34
34
  private wallet?: IWebWallet;
35
35
 
@@ -50,7 +50,7 @@ export class InAppWebConnector implements InAppConnector {
50
50
  private client: ThirdwebClient;
51
51
  private ecosystem?: Ecosystem;
52
52
  private querier: InAppWalletIframeCommunicator<AuthQuerierTypes>;
53
- private storage: ClientScopedStorage;
53
+ public storage: ClientScopedStorage;
54
54
 
55
55
  private wallet?: IWebWallet;
56
56
  /**
@@ -151,8 +151,18 @@ export type Wallet<TWalletId extends WalletId = WalletId> = {
151
151
  * This is useful for smart wallets to get the underlying personal account
152
152
  */
153
153
  getAdminAccount?: () => Account | undefined;
154
- };
155
154
 
155
+ /**
156
+ * Get the authentication token for the wallet.
157
+ *
158
+ * This method is not available for on all wallets. This method will be `undefined` if the wallet does not support it.
159
+ * @example
160
+ * ```ts
161
+ * const authToken = await wallet.getAuthToken();
162
+ * ```
163
+ */
164
+ getAuthToken?: () => string | null;
165
+ };
156
166
  /**
157
167
  * Account interface
158
168
  *