thirdweb 5.40.0-nightly-3848327373e49aa83c5902e6a16d5b8e96cf1eeb-20240726000343 → 5.40.0

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 (250) hide show
  1. package/dist/cjs/exports/react.js +7 -2
  2. package/dist/cjs/exports/react.js.map +1 -1
  3. package/dist/cjs/react/core/design-system/index.js +2 -0
  4. package/dist/cjs/react/core/design-system/index.js.map +1 -1
  5. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +13 -94
  6. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  7. package/dist/cjs/react/core/utils/defaultTokens.js +32 -25
  8. package/dist/cjs/react/core/utils/defaultTokens.js.map +1 -1
  9. package/dist/cjs/react/core/utils/wallet.js +91 -13
  10. package/dist/cjs/react/core/utils/wallet.js.map +1 -1
  11. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +18 -127
  12. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  13. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +3 -1
  14. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  15. package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js +1 -1
  16. package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
  17. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +184 -118
  18. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  19. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +104 -0
  20. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -0
  21. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +69 -0
  22. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -0
  23. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +23 -5
  24. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
  25. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +4 -4
  26. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  27. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +2 -2
  28. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
  29. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +2 -2
  30. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +1 -1
  31. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js +1 -1
  32. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js.map +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +132 -45
  34. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +2 -5
  36. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
  37. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +13 -8
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +1 -1
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js.map +1 -1
  43. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +1 -1
  44. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js.map +1 -1
  45. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.js +1 -1
  46. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.js.map +1 -1
  47. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js +1 -1
  48. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js.map +1 -1
  49. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +9 -5
  50. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  51. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +1 -1
  52. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
  53. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +8 -3
  54. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
  55. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js +1 -1
  56. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js.map +1 -1
  57. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js +1 -1
  58. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js.map +1 -1
  59. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js +84 -0
  60. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js.map +1 -0
  61. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +13 -7
  62. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +1 -1
  63. package/dist/cjs/react/web/ui/ConnectWallet/screens/nativeToken.js +3 -1
  64. package/dist/cjs/react/web/ui/ConnectWallet/screens/nativeToken.js.map +1 -1
  65. package/dist/cjs/react/web/ui/PayEmbed.js +16 -9
  66. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  67. package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js +53 -0
  68. package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -0
  69. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +33 -0
  70. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -0
  71. package/dist/cjs/version.js +1 -1
  72. package/dist/cjs/version.js.map +1 -1
  73. package/dist/esm/exports/react.js +3 -1
  74. package/dist/esm/exports/react.js.map +1 -1
  75. package/dist/esm/react/core/design-system/index.js +2 -0
  76. package/dist/esm/react/core/design-system/index.js.map +1 -1
  77. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +13 -93
  78. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  79. package/dist/esm/react/core/utils/defaultTokens.js +31 -25
  80. package/dist/esm/react/core/utils/defaultTokens.js.map +1 -1
  81. package/dist/esm/react/core/utils/wallet.js +88 -13
  82. package/dist/esm/react/core/utils/wallet.js.map +1 -1
  83. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +20 -129
  84. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  85. package/dist/esm/react/web/ui/ConnectWallet/Details.js +3 -1
  86. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  87. package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js +1 -1
  88. package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
  89. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +188 -122
  90. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  91. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +101 -0
  92. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -0
  93. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +66 -0
  94. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -0
  95. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +22 -5
  96. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
  97. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +4 -4
  98. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  99. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +2 -2
  100. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
  101. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +2 -2
  102. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +1 -1
  103. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js +1 -1
  104. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js.map +1 -1
  105. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +130 -44
  106. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  107. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +2 -5
  108. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
  109. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +13 -8
  110. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  111. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +1 -1
  112. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +1 -1
  113. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js +1 -1
  114. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js.map +1 -1
  115. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +1 -1
  116. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js.map +1 -1
  117. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.js +1 -1
  118. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.js.map +1 -1
  119. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js +1 -1
  120. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js.map +1 -1
  121. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +7 -4
  122. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  123. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +1 -1
  124. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
  125. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +9 -4
  126. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
  127. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js +1 -1
  128. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js.map +1 -1
  129. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js +1 -1
  130. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js.map +1 -1
  131. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js +81 -0
  132. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js.map +1 -0
  133. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +14 -8
  134. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +1 -1
  135. package/dist/esm/react/web/ui/ConnectWallet/screens/nativeToken.js +3 -1
  136. package/dist/esm/react/web/ui/ConnectWallet/screens/nativeToken.js.map +1 -1
  137. package/dist/esm/react/web/ui/PayEmbed.js +16 -9
  138. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  139. package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js +50 -0
  140. package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -0
  141. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +29 -0
  142. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -0
  143. package/dist/esm/version.js +1 -1
  144. package/dist/esm/version.js.map +1 -1
  145. package/dist/types/exports/react.d.ts +3 -2
  146. package/dist/types/exports/react.d.ts.map +1 -1
  147. package/dist/types/react/core/design-system/index.d.ts +2 -0
  148. package/dist/types/react/core/design-system/index.d.ts.map +1 -1
  149. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +80 -34
  150. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
  151. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts +3 -15
  152. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  153. package/dist/types/react/core/utils/defaultTokens.d.ts +222 -0
  154. package/dist/types/react/core/utils/defaultTokens.d.ts.map +1 -1
  155. package/dist/types/react/core/utils/wallet.d.ts +43 -1
  156. package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
  157. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts +2 -4
  158. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  159. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +3 -1
  160. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  161. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts +0 -3
  162. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  163. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts +18 -0
  164. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts.map +1 -0
  165. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts +18 -0
  166. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -0
  167. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts +5 -0
  168. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts.map +1 -1
  169. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts +1 -2
  170. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts.map +1 -1
  171. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts +1 -2
  172. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts.map +1 -1
  173. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts +1 -2
  174. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts.map +1 -1
  175. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.d.ts +1 -2
  176. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.d.ts.map +1 -1
  177. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +14 -8
  178. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts.map +1 -1
  179. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts +19 -9
  180. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
  181. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts +6 -5
  182. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts.map +1 -1
  183. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts +0 -2
  184. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
  185. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts +1 -1
  186. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts.map +1 -1
  187. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.d.ts +1 -1
  188. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.d.ts.map +1 -1
  189. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.d.ts +1 -1
  190. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.d.ts.map +1 -1
  191. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts +4 -0
  192. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
  193. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.d.ts.map +1 -1
  194. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts +1 -0
  195. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts.map +1 -1
  196. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.d.ts +1 -2
  197. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.d.ts.map +1 -1
  198. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.d.ts +1 -2
  199. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.d.ts.map +1 -1
  200. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.d.ts +19 -0
  201. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.d.ts.map +1 -0
  202. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.d.ts.map +1 -1
  203. package/dist/types/react/web/ui/ConnectWallet/screens/nativeToken.d.ts.map +1 -1
  204. package/dist/types/react/web/ui/PayEmbed.d.ts +0 -6
  205. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  206. package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts +9 -0
  207. package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts.map +1 -0
  208. package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts +24 -0
  209. package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -0
  210. package/dist/types/version.d.ts +1 -1
  211. package/dist/types/version.d.ts.map +1 -1
  212. package/package.json +1 -1
  213. package/src/exports/react.ts +14 -2
  214. package/src/react/core/design-system/index.ts +2 -0
  215. package/src/react/core/hooks/connection/ConnectButtonProps.ts +103 -51
  216. package/src/react/core/hooks/transaction/useSendTransaction.ts +17 -127
  217. package/src/react/core/utils/defaultTokens.ts +38 -26
  218. package/src/react/core/utils/wallet.ts +102 -18
  219. package/src/react/web/hooks/transaction/useSendTransaction.tsx +34 -278
  220. package/src/react/web/ui/ConnectWallet/Details.tsx +6 -4
  221. package/src/react/web/ui/ConnectWallet/TransactionsScreen.tsx +1 -1
  222. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +347 -383
  223. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +266 -0
  224. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +253 -0
  225. package/src/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.tsx +52 -21
  226. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +3 -6
  227. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.tsx +5 -6
  228. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.tsx +2 -4
  229. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.tsx +2 -4
  230. package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +16 -12
  231. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +155 -60
  232. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.ts +8 -3
  233. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +17 -12
  234. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.tsx +2 -2
  235. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.tsx +2 -3
  236. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.tsx +1 -1
  237. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.tsx +1 -1
  238. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.tsx +2 -2
  239. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +27 -19
  240. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.tsx +8 -4
  241. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +12 -5
  242. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.tsx +2 -4
  243. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.tsx +3 -4
  244. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.tsx +243 -0
  245. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.tsx +30 -17
  246. package/src/react/web/ui/ConnectWallet/screens/nativeToken.ts +5 -1
  247. package/src/react/web/ui/PayEmbed.tsx +31 -32
  248. package/src/react/web/ui/TransactionButton/ExecutingScreen.tsx +127 -0
  249. package/src/react/web/ui/TransactionButton/TransactionModal.tsx +83 -0
  250. package/src/version.ts +1 -1
@@ -1,12 +1,6 @@
1
1
  import { useMutation } from "@tanstack/react-query";
2
- import { getContract } from "../../../../contract/contract.js";
3
- import { getCurrencyMetadata } from "../../../../extensions/erc20/read/getCurrencyMetadata.js";
4
- import { getGasPrice } from "../../../../gas/get-gas-price.js";
5
- import { estimateGasCost } from "../../../../transaction/actions/estimate-gas-cost.js";
6
2
  import { sendTransaction } from "../../../../transaction/actions/send-transaction.js";
7
3
  import { resolvePromisedValue } from "../../../../utils/promise/resolve-promised-value.js";
8
- import { getWalletBalance, } from "../../../../wallets/utils/getWalletBalance.js";
9
- import { fetchBuySupportedDestinations } from "../../../web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js";
10
4
  /**
11
5
  * A hook to send a transaction.
12
6
  * @returns A mutation object to send a transaction.
@@ -58,67 +52,23 @@ export function useSendTransactionCore(args) {
58
52
  };
59
53
  (async () => {
60
54
  try {
61
- const destinations = await fetchBuySupportedDestinations(tx.client);
62
- const isBuySupported = destinations.find((c) => c.chain.id === tx.chain.id);
63
- // buy not supported, can't show modal - send tx directly
64
- if (!isBuySupported) {
65
- sendTx();
66
- return;
67
- }
68
- // buy supported, check if there is enough balance - if not show modal to buy tokens
69
- const [nativeWalletBalance, nativeCostWei] = await Promise.all([
70
- getWalletBalance({
71
- address: account.address,
72
- chain: tx.chain,
73
- client: tx.client,
74
- }),
75
- getTotalTxCostForBuy(tx, account?.address),
55
+ const [_nativeValue, _erc20Value] = await Promise.all([
56
+ resolvePromisedValue(tx.value),
57
+ resolvePromisedValue(tx.erc20Value),
76
58
  ]);
77
- let currency = undefined;
78
- let walletBalance = nativeWalletBalance;
79
- let totalCostWei = nativeCostWei;
80
- const hasEnoughForGas = nativeWalletBalance.value > nativeCostWei;
81
- const erc20Value = await resolvePromisedValue(tx.erc20Value);
82
- if (erc20Value && hasEnoughForGas) {
83
- const [tokenBalance, tokenMeta] = await Promise.all([
84
- getWalletBalance({
85
- address: account.address,
86
- chain: tx.chain,
87
- client: tx.client,
88
- tokenAddress: erc20Value.tokenAddress,
89
- }),
90
- getCurrencyMetadata({
91
- contract: getContract({
92
- address: erc20Value.tokenAddress,
93
- chain: tx.chain,
94
- client: tx.client,
95
- }),
96
- }),
97
- ]);
98
- totalCostWei = erc20Value.amountWei;
99
- walletBalance = tokenBalance;
100
- currency = {
101
- address: erc20Value.tokenAddress,
102
- name: tokenMeta.name,
103
- symbol: tokenMeta.symbol,
104
- decimals: tokenMeta.decimals,
105
- };
59
+ const nativeValue = _nativeValue || 0n;
60
+ const erc20Value = _erc20Value?.amountWei || 0n;
61
+ if (nativeValue > 0n || erc20Value > 0n) {
62
+ showPayModal({
63
+ tx,
64
+ sendTx,
65
+ rejectTx: reject,
66
+ resolveTx: resolve,
67
+ });
106
68
  }
107
- // if enough balance, send tx
108
- if (totalCostWei < walletBalance.value) {
69
+ else {
109
70
  sendTx();
110
- return;
111
71
  }
112
- // if not enough balance - show modal
113
- showPayModal({
114
- tx,
115
- sendTx,
116
- rejectTx: reject,
117
- resolveTx: resolve,
118
- totalCostWei,
119
- walletBalance,
120
- currency,
121
- });
122
72
  }
123
73
  catch (e) {
124
74
  console.error("Failed to estimate cost", e);
@@ -130,34 +80,4 @@ export function useSendTransactionCore(args) {
130
80
  },
131
81
  });
132
82
  }
133
- export async function getTotalTxCostForBuy(tx, from) {
134
- try {
135
- const gasCost = await estimateGasCost({
136
- transaction: tx,
137
- from,
138
- });
139
- const bufferCost = gasCost.wei / 10n;
140
- // Note: get tx.value AFTER estimateGasCost
141
- const txValue = await resolvePromisedValue(tx.value);
142
- // add 10% extra gas cost to the estimate to ensure user buys enough to cover the tx cost
143
- return gasCost.wei + bufferCost + (txValue || 0n);
144
- }
145
- catch (e) {
146
- if (from) {
147
- // try again without passing from
148
- return await getTotalTxCostForBuy(tx);
149
- }
150
- // fallback if both fail, use the tx value + 2M * gas price
151
- const value = await resolvePromisedValue(tx.value);
152
- const gasPrice = await getGasPrice({
153
- client: tx.client,
154
- chain: tx.chain,
155
- });
156
- const buffer = 2000000n * gasPrice;
157
- if (!value) {
158
- return 0n + buffer;
159
- }
160
- return value + buffer;
161
- }
162
- }
163
83
  //# sourceMappingURL=useSendTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/transaction/useSendTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/transaction/useSendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAGtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAoE3F;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAKtC;IACC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC5D,IAAI,QAAQ,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IAEpC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACvB,yBAAyB;YACzB,IAAI,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;gBACpD,MAAM,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,8DAA8D;gBAC9D,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC;YAEzB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,eAAe,CAAC;oBACrB,WAAW,EAAE,EAAE;oBACf,OAAO;oBACP,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC5D,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;oBACxB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC;4BAChC,WAAW,EAAE,EAAE;4BACf,OAAO;4BACP,OAAO;yBACR,CAAC,CAAC;wBAEH,OAAO,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,CAAC,CAAC,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;gBAEF,CAAC,KAAK,IAAI,EAAE;oBACV,IAAI,CAAC;wBACH,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BACpD,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC;4BAC9B,oBAAoB,CAAC,EAAE,CAAC,UAAU,CAAC;yBACpC,CAAC,CAAC;wBACH,MAAM,WAAW,GAAG,YAAY,IAAI,EAAE,CAAC;wBACvC,MAAM,UAAU,GAAG,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;wBAEhD,IAAI,WAAW,GAAG,EAAE,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;4BACxC,YAAY,CAAC;gCACX,EAAE;gCACF,MAAM;gCACN,QAAQ,EAAE,MAAM;gCAChB,SAAS,EAAE,OAAO;6BACnB,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM,EAAE,CAAC;wBACX,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;wBAC5C,kBAAkB;wBAClB,MAAM,EAAE,CAAC;oBACX,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -6,31 +6,8 @@ const maticIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSI
6
6
  const binanceCoinIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGcgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNGM0JBMkYiLz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTIuMTE2IDE0LjQwNEwxNiAxMC41MmwzLjg4NiAzLjg4NiAyLjI2LTIuMjZMMTYgNmwtNi4xNDQgNi4xNDQgMi4yNiAyLjI2ek02IDE2bDIuMjYtMi4yNkwxMC41MiAxNmwtMi4yNiAyLjI2TDYgMTZ6bTYuMTE2IDEuNTk2TDE2IDIxLjQ4bDMuODg2LTMuODg2IDIuMjYgMi4yNTlMMTYgMjZsLTYuMTQ0LTYuMTQ0LS4wMDMtLjAwMyAyLjI2My0yLjI1N3pNMjEuNDggMTZsMi4yNi0yLjI2TDI2IDE2bC0yLjI2IDIuMjZMMjEuNDggMTZ6bS0zLjE4OC0uMDAyaC4wMDJ2LjAwMkwxNiAxOC4yOTRsLTIuMjkxLTIuMjktLjAwNC0uMDA0LjAwNC0uMDAzLjQwMS0uNDAyLjE5NS0uMTk1TDE2IDEzLjcwNmwyLjI5MyAyLjI5M3oiLz48L2c+PC9zdmc+";
7
7
  const BUSDIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzYuNDEgMzM3LjQyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2YwYjkwYjtzdHJva2U6I2YwYjkwYjt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPkFzc2V0IDE8L3RpdGxlPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxnIGlkPSJMYXllcl8xLTIiIGRhdGEtbmFtZT0iTGF5ZXIgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTY4LjIuNzFsNDEuNSw0Mi41TDEwNS4yLDE0Ny43MWwtNDEuNS00MS41WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIzMS4yLDYzLjcxbDQxLjUsNDIuNUwxMDUuMiwyNzMuNzFsLTQxLjUtNDEuNVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00Mi4yLDEyNi43MWw0MS41LDQyLjUtNDEuNSw0MS41TC43LDE2OS4yMVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yOTQuMiwxMjYuNzFsNDEuNSw0Mi41TDE2OC4yLDMzNi43MWwtNDEuNS00MS41WiIvPjwvZz48L2c+PC9zdmc+";
8
8
  const fantomIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzIgMzIiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO2ZpbGwtcnVsZTpldmVub2RkO30uY2xzLTJ7ZmlsbDojMTNiNWVjO30uY2xzLTN7bWFzazp1cmwoI21hc2spO308L3N0eWxlPjxtYXNrIGlkPSJtYXNrIiB4PSIxMCIgeT0iNiIgd2lkdGg9IjkzLjEiIGhlaWdodD0iMjAiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiPjxnIGlkPSJhIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMCw2aDkzLjFWMjZIMTBaIi8+PC9nPjwvbWFzaz48L2RlZnM+PHRpdGxlPmZhPC90aXRsZT48ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIj48ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiLz48ZyBjbGFzcz0iY2xzLTMiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE3LjIsMTIuOWwzLjYtMi4xVjE1Wm0zLjYsOUwxNiwyNC43bC00LjgtMi44VjE3TDE2LDE5LjgsMjAuOCwxN1pNMTEuMiwxMC44bDMuNiwyLjFMMTEuMiwxNVptNS40LDMuMUwyMC4yLDE2bC0zLjYsMi4xWm0tMS4yLDQuMkwxMS44LDE2bDMuNi0yLjFabTQuOC04LjNMMTYsMTIuMiwxMS44LDkuOCwxNiw3LjNaTTEwLDkuNFYyMi41bDYsMy40LDYtMy40VjkuNEwxNiw2WiIvPjwvZz48L2c+PC9nPjwvc3ZnPg==";
9
- /**
10
- * Default tokens shown in [`ConnectButton`](https://portal.thirdweb.com/react/v4/components/ConnectButton)'s SendFunds screen for each network.
11
- *
12
- * You can use the default tokens as a starting point for your own list of tokens and override tokens for specific networks.
13
- * @example
14
- * Below example shows adding a custom token for the Ethereum mainnet at start of the list of default tokens for the Ethereum mainnet. Here the `1` represents the chainId of Ethereum mainnet.
15
- *
16
- * ```tsx
17
- * const ethereumChainId = 1;
18
- *
19
- * <ConnectButton supportedTokens={{
20
- * ...defaultTokens,
21
- * [ethereumChainId]: [
22
- * {
23
- * address: 'YOUR_TOKEN_ADDRESS',
24
- * name: 'YOUR_TOKEN_NAME',
25
- * symbol: 'YOUR_TOKEN_SYMBOL',
26
- * icon: 'YOUR_TOKEN_ICON_URL'
27
- * },
28
- * ...defaultTokens[ethereumChainId],
29
- * ]
30
- * }} />
31
- * ```
32
- */
33
- export const defaultTokens = {
9
+ // TODO these should be moved to chain definitions
10
+ const DEFAULT_TOKENS = {
34
11
  "1": [
35
12
  {
36
13
  address: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
@@ -306,4 +283,33 @@ export const defaultTokens = {
306
283
  },
307
284
  ],
308
285
  };
286
+ /**
287
+ * Default tokens shown in [`ConnectButton`](https://portal.thirdweb.com/react/v4/components/ConnectButton)'s SendFunds screen for each network.
288
+ *
289
+ * You can use the default tokens as a starting point for your own list of tokens and override tokens for specific networks.
290
+ * @example
291
+ * Below example shows adding a custom token for the Ethereum mainnet at start of the list of default tokens for the Ethereum mainnet. Here the `1` represents the chainId of Ethereum mainnet.
292
+ *
293
+ * ```tsx
294
+ * const ethereumChainId = 1;
295
+ *
296
+ * <ConnectButton supportedTokens={{
297
+ * ...defaultTokens,
298
+ * [ethereumChainId]: [
299
+ * {
300
+ * address: 'YOUR_TOKEN_ADDRESS',
301
+ * name: 'YOUR_TOKEN_NAME',
302
+ * symbol: 'YOUR_TOKEN_SYMBOL',
303
+ * icon: 'YOUR_TOKEN_ICON_URL'
304
+ * },
305
+ * ...defaultTokens[ethereumChainId],
306
+ * ]
307
+ * }} />
308
+ * ```
309
+ */
310
+ export const defaultTokens = DEFAULT_TOKENS;
311
+ export function getDefaultToken(chain, symbol) {
312
+ const tokens = defaultTokens[chain.id];
313
+ return tokens?.find((t) => t.symbol === symbol);
314
+ }
309
315
  //# sourceMappingURL=defaultTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTokens.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/defaultTokens.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,cAAc,GACzB,4vBAA4vB,CAAC;AAE/vB,MAAM,aAAa,GACjB,4qCAA4qC,CAAC;AAE/qC,MAAM,QAAQ,GACZ,ovEAAovE,CAAC;AAEvvE,MAAM,cAAc,GAClB,wmEAAwmE,CAAC;AAE3mE,MAAM,SAAS,GACb,whEAAwhE,CAAC;AAE3hE,MAAM,eAAe,GACnB,osBAAosB,CAAC;AAEvsB,MAAM,QAAQ,GACZ,4tBAA4tB,CAAC;AAE/tB,MAAM,UAAU,GACd,4hCAA4hC,CAAC;AAK/hC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,GAAG,EAAE;QACH;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;SACpB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS;SAChB;KACF;IACD,UAAU,EAAE;QACV;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,IAAI,EAAE;QACJ;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,IAAI,EAAE;QACJ;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;SACtB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,IAAI,EAAE;QACJ;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;SACtB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,KAAK,EAAE;QACL;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;SACpB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;KACF;IACD,KAAK,EAAE;QACL;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;SACjB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;KACF;IACD,KAAK,EAAE;QACL;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;KACF;IACD,MAAM,EAAE;QACN;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;SACjB;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,4oEAA4oE;SACnpE;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,4oEAA4oE;SACnpE;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;SACpB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;SACpB;KACF;IACD,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB;QACD;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,eAAe;IACf,MAAM,EAAE;QACN;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;IACD,eAAe;IACf,OAAO,EAAE;QACP;YACE,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"defaultTokens.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/defaultTokens.ts"],"names":[],"mappings":"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"}
@@ -6,29 +6,73 @@ import { getWalletInfo } from "../../../wallets/__generated__/getWalletInfo.js";
6
6
  import { useWalletBalance } from "../hooks/others/useWalletBalance.js";
7
7
  import { shortenString } from "./addresses.js";
8
8
  /**
9
- * @internal
9
+ * Get the ENS name and avatar for an address
10
+ * @param options - the client and address to get the ENS name and avatar for
11
+ * @returns - a query object that resolves to the ENS name
12
+ * @example
13
+ * ```tsx
14
+ * import { useEnsName } from "thirdweb/react";
15
+ *
16
+ * const { data: ensName } = useEnsName({
17
+ * client,
18
+ * address: "0x1234...",
19
+ * });
20
+ * ```
21
+ * @extension ENS
10
22
  */
11
- export function useConnectedWalletDetails(client, walletChain, activeAccount, displayBalanceToken) {
12
- const tokenAddress = walletChain && displayBalanceToken
13
- ? displayBalanceToken[Number(walletChain.id)]
14
- : undefined;
15
- const ensNameQuery = useQuery({
16
- queryKey: ["ens-name", activeAccount?.address],
17
- enabled: !!activeAccount?.address,
23
+ export function useEnsName(options) {
24
+ const { client, address } = options;
25
+ return useQuery({
26
+ queryKey: ["ens-name", address],
27
+ enabled: !!address,
18
28
  queryFn: () => resolveName({
19
29
  client,
20
- address: activeAccount?.address || "",
30
+ address: address || "",
21
31
  resolverChain: ethereum,
22
32
  }),
23
33
  });
24
- const ensAvatarQuery = useQuery({
25
- queryKey: ["ens-avatar", ensNameQuery.data],
26
- enabled: !!ensNameQuery.data,
34
+ }
35
+ /**
36
+ * Get the ENS avatar for an ENS name
37
+ * @param options - the client and ENS name to get the avatar for
38
+ * @returns - a query object that resolves to the avatar
39
+ * @example
40
+ * ```tsx
41
+ * import { useEnsAvatar } from "thirdweb/react";
42
+ *
43
+ * const { data: ensAvatar } = useEnsAvatar({
44
+ * client,
45
+ * ensName: "my-ens-name.eth",
46
+ * });
47
+ * ```
48
+ * @extension ENS
49
+ */
50
+ export function useEnsAvatar(options) {
51
+ const { client, ensName } = options;
52
+ return useQuery({
53
+ queryKey: ["ens-avatar", ensName],
54
+ enabled: !!ensName,
27
55
  queryFn: async () => resolveAvatar({
28
56
  client,
29
- name: ensNameQuery.data || "",
57
+ name: ensName || "",
30
58
  }),
31
59
  });
60
+ }
61
+ /**
62
+ * @internal
63
+ */
64
+ export function useConnectedWalletDetails(client, walletChain, activeAccount, displayBalanceToken) {
65
+ const tokenAddress = walletChain && displayBalanceToken
66
+ ? displayBalanceToken[Number(walletChain.id)]
67
+ : undefined;
68
+ const ensNameQuery = useEnsName({
69
+ client,
70
+ address: activeAccount?.address,
71
+ });
72
+ const ensAvatarQuery = useEnsAvatar({
73
+ client,
74
+ ensName: ensNameQuery.data,
75
+ });
32
76
  const shortAddress = activeAccount?.address
33
77
  ? shortenString(activeAccount.address, false)
34
78
  : "";
@@ -85,4 +129,35 @@ export function useWalletImage(id) {
85
129
  enabled: !!id,
86
130
  });
87
131
  }
132
+ /**
133
+ * @internal
134
+ */
135
+ export function hasSponsoredTransactionsEnabled(wallet) {
136
+ if (!wallet) {
137
+ return false;
138
+ }
139
+ let sponsoredTransactionsEnabled = false;
140
+ if (wallet && wallet.id === "smart") {
141
+ const options = wallet.getConfig();
142
+ if ("sponsorGas" in options) {
143
+ sponsoredTransactionsEnabled = options.sponsorGas;
144
+ }
145
+ if ("gasless" in options) {
146
+ sponsoredTransactionsEnabled = options.gasless;
147
+ }
148
+ }
149
+ if (wallet && wallet.id === "inApp") {
150
+ const options = wallet.getConfig();
151
+ if (options && "smartAccount" in options && options.smartAccount) {
152
+ const smartOptions = options.smartAccount;
153
+ if ("sponsorGas" in smartOptions) {
154
+ sponsoredTransactionsEnabled = smartOptions.sponsorGas;
155
+ }
156
+ if ("gasless" in smartOptions) {
157
+ sponsoredTransactionsEnabled = smartOptions.gasless;
158
+ }
159
+ }
160
+ }
161
+ return sponsoredTransactionsEnabled;
162
+ }
88
163
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/wallet.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CheckCircledIcon } from "@radix-ui/react-icons";
3
- import { useCallback, useContext, useEffect, useRef, useState } from "react";
4
- import { isNativeTokenAddress } from "../../../../constants/addresses.js";
5
- import { toTokens } from "../../../../utils/units.js";
6
- import { CustomThemeProvider } from "../../../core/design-system/CustomThemeProvider.js";
7
- import { iconSize } from "../../../core/design-system/index.js";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useContext } from "react";
8
3
  import { useSendTransactionCore, } from "../../../core/hooks/transaction/useSendTransaction.js";
9
4
  import { SetRootElementContext } from "../../../core/providers/RootElementContext.js";
10
- import { AccentFailIcon } from "../../ui/ConnectWallet/icons/AccentFailIcon.js";
11
- import { useConnectLocale } from "../../ui/ConnectWallet/locale/getConnectLocale.js";
12
- import { LazyBuyScreen } from "../../ui/ConnectWallet/screens/Buy/LazyBuyScreen.js";
13
- import { PayTxHistoryScreen } from "../../ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js";
14
- import { Modal } from "../../ui/components/Modal.js";
15
- import { Spacer } from "../../ui/components/Spacer.js";
16
- import { Spinner } from "../../ui/components/Spinner.js";
17
- import { Container, ModalHeader } from "../../ui/components/basic.js";
18
- import { Button } from "../../ui/components/buttons.js";
19
- import { Text } from "../../ui/components/text.js";
20
- import { LoadingScreen } from "../../wallets/shared/LoadingScreen.js";
5
+ import { TransactionModal } from "../../ui/TransactionButton/TransactionModal.js";
21
6
  import { useActiveWallet } from "../wallets/useActiveWallet.js";
22
7
  import { useSwitchActiveWalletChain } from "../wallets/useSwitchActiveWalletChain.js";
23
8
  /**
@@ -37,128 +22,34 @@ import { useSwitchActiveWalletChain } from "../wallets/useSwitchActiveWalletChai
37
22
  * @transaction
38
23
  */
39
24
  export function useSendTransaction(config = {}) {
40
- const activeWallet = useActiveWallet();
41
25
  const switchChain = useSwitchActiveWalletChain();
42
26
  const wallet = useActiveWallet();
27
+ const setRootEl = useContext(SetRootElementContext);
43
28
  const payModal = config.payModal;
44
29
  let payModalEnabled = true;
45
30
  if (payModal === false || config.gasless) {
46
31
  payModalEnabled = false;
47
32
  }
48
- // TODO handle erc20 pay modal
49
- // if active wallet is smart wallet with gasless enabled, don't show the pay modal
50
- if (activeWallet && activeWallet.id === "smart") {
51
- const options = activeWallet.getConfig();
52
- if ("sponsorGas" in options && options.sponsorGas === true) {
53
- payModalEnabled = false;
54
- }
55
- if ("gasless" in options && options.gasless === true) {
56
- payModalEnabled = false;
57
- }
58
- }
59
- if (activeWallet && activeWallet.id === "inApp") {
60
- const options = activeWallet.getConfig();
61
- if (options && "smartAccount" in options && options.smartAccount) {
62
- const smartOptions = options.smartAccount;
63
- if ("sponsorGas" in smartOptions && smartOptions.sponsorGas === true) {
64
- payModalEnabled = false;
65
- }
66
- if ("gasless" in smartOptions && smartOptions.gasless === true) {
67
- payModalEnabled = false;
68
- }
69
- }
70
- }
71
- const setRootEl = useContext(SetRootElementContext);
33
+ const showPayModal = (data) => {
34
+ if (payModal === false)
35
+ return;
36
+ setRootEl(_jsx(TransactionModal, { title: payModal?.metadata?.name || "Transaction", tx: data.tx, onComplete: data.sendTx, onClose: () => {
37
+ setRootEl(null);
38
+ data.rejectTx(new Error("User rejected transaction by closing modal"));
39
+ }, onTxSent: data.resolveTx, client: data.tx.client, localeId: payModal?.locale || "en_US", supportedTokens: payModal?.supportedTokens, theme: payModal?.theme || "dark", payOptions: {
40
+ buyWithCrypto: payModal?.buyWithCrypto,
41
+ buyWithFiat: payModal?.buyWithFiat,
42
+ purchaseData: payModal?.purchaseData,
43
+ mode: "transaction",
44
+ transaction: data.tx,
45
+ metadata: payModal?.metadata,
46
+ } }));
47
+ };
72
48
  return useSendTransactionCore({
73
- showPayModal: !payModalEnabled || payModal === false
74
- ? undefined
75
- : (data) => {
76
- const prefillBuy = data.currency && !isNativeTokenAddress(data.currency.address)
77
- ? {
78
- chain: data.tx.chain,
79
- amount: toTokens(data.totalCostWei, data.currency.decimals),
80
- token: data.currency,
81
- }
82
- : undefined;
83
- setRootEl(_jsx(TxModal, { title: payModal?.metadata?.title || "Buy", tx: data.tx, onComplete: data.sendTx, onClose: () => {
84
- setRootEl(null);
85
- data.rejectTx(new Error("User rejected transaction by closing modal"));
86
- }, onTxSent: data.resolveTx, client: data.tx.client, localeId: payModal?.locale || "en_US", supportedTokens: payModal?.supportedTokens, theme: payModal?.theme || "dark", txCostWei: data.totalCostWei, walletBalance: data.walletBalance, payOptions: {
87
- buyWithCrypto: payModal?.buyWithCrypto,
88
- buyWithFiat: payModal?.buyWithFiat,
89
- purchaseData: payModal?.purchaseData,
90
- prefillBuy,
91
- } }));
92
- },
49
+ showPayModal: !payModalEnabled || payModal === false ? undefined : showPayModal,
93
50
  gasless: config.gasless,
94
51
  switchChain,
95
52
  wallet,
96
53
  });
97
54
  }
98
- function TxModal(props) {
99
- return (_jsx(CustomThemeProvider, { theme: props.theme, children: _jsx(Modal, { open: true, size: "compact", setOpen: (_open) => {
100
- if (!_open) {
101
- props.onClose();
102
- }
103
- }, children: _jsx(ModalContent, { ...props }) }) }));
104
- }
105
- function ModalContent(props) {
106
- const localeQuery = useConnectLocale(props.localeId);
107
- const [screen, setScreen] = useState("buy");
108
- if (!localeQuery.data) {
109
- return _jsx(LoadingScreen, {});
110
- }
111
- if (screen === "execute-tx") {
112
- return (_jsx(ExecutingTxScreen, { tx: props.tx, closeModal: props.onClose, onTxSent: props.onTxSent }));
113
- }
114
- if (screen === "tx-history") {
115
- return (_jsx(PayTxHistoryScreen, { title: props.title, client: props.client, onBack: () => {
116
- setScreen("buy");
117
- }, onDone: () => {
118
- setScreen("execute-tx");
119
- }, isBuyForTx: true, isEmbed: false }));
120
- }
121
- return (_jsx(LazyBuyScreen, { title: props.title, isEmbed: false, client: props.client, onViewPendingTx: () => {
122
- setScreen("tx-history");
123
- }, supportedTokens: props.supportedTokens, connectLocale: localeQuery.data, buyForTx: {
124
- balance: props.walletBalance.value,
125
- cost: props.txCostWei,
126
- tx: props.tx,
127
- tokenSymbol: props.walletBalance.symbol,
128
- tokenDecimals: props.walletBalance.decimals,
129
- }, theme: typeof props.theme === "string" ? props.theme : props.theme.type, payOptions: props.payOptions, onDone: () => {
130
- setScreen("execute-tx");
131
- }, connectOptions: undefined, onBack: undefined }));
132
- }
133
- function ExecutingTxScreen(props) {
134
- const sendTxCore = useSendTransaction({
135
- payModal: false,
136
- });
137
- const [status, setStatus] = useState("loading");
138
- const sendTx = useCallback(async () => {
139
- setStatus("loading");
140
- try {
141
- const txData = await sendTxCore.mutateAsync(props.tx);
142
- props.onTxSent(txData);
143
- setStatus("sent");
144
- }
145
- catch (e) {
146
- // Do not reject the transaction here, because the user may want to try again
147
- // we only reject on modal close
148
- console.error(e);
149
- setStatus("failed");
150
- }
151
- }, [sendTxCore, props.tx, props.onTxSent]);
152
- const done = useRef(false);
153
- useEffect(() => {
154
- if (done.current) {
155
- return;
156
- }
157
- done.current = true;
158
- sendTx();
159
- }, [sendTx]);
160
- return (_jsxs(Container, { p: "lg", children: [_jsx(ModalHeader, { title: "Transaction" }), _jsx(Spacer, { y: "xxl" }), _jsx(Spacer, { y: "xxl" }), _jsxs(Container, { flex: "row", center: "x", children: [status === "loading" && _jsx(Spinner, { size: "3xl", color: "accentText" }), status === "failed" && _jsx(AccentFailIcon, { size: iconSize["3xl"] }), status === "sent" && (_jsx(Container, { color: "success", flex: "row", center: "both", children: _jsx(CheckCircledIcon, { width: iconSize["3xl"], height: iconSize["3xl"] }) }))] }), _jsx(Spacer, { y: "lg" }), _jsxs(Text, { color: "primaryText", center: true, size: "lg", children: [status === "loading" && "Sending transaction", status === "failed" && "Transaction failed", status === "sent" && "Transaction sent"] }), _jsx(Spacer, { y: "sm" }), _jsx(Text, { color: "danger", center: true, size: "sm", children: status === "failed" && sendTxCore.error
161
- ? sendTxCore.error.message
162
- : "" }), _jsx(Spacer, { y: "xxl" }), _jsx(Spacer, { y: "xxl" }), status === "failed" && (_jsx(Button, { variant: "accent", fullWidth: true, onClick: sendTx, children: "Try Again" })), status === "sent" && (_jsx(Button, { variant: "accent", fullWidth: true, onClick: props.closeModal, children: "Done" }))] }));
163
- }
164
55
  //# sourceMappingURL=useSendTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/transaction/useSendTransaction.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/transaction/useSendTransaction.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAGL,sBAAsB,GACvB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAEtF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAgC,EAAE;IACnE,MAAM,WAAW,GAAG,0BAA0B,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,IAAI,eAAe,GAAG,IAAI,CAAC;IAE3B,IAAI,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACzC,eAAe,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,EAAE;QAC3C,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO;QAC/B,SAAS,CACP,KAAC,gBAAgB,IACf,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,aAAa,EAChD,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,UAAU,EAAE,IAAI,CAAC,MAAM,EACvB,OAAO,EAAE,GAAG,EAAE;gBACZ,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,CACX,IAAI,KAAK,CAAC,4CAA4C,CAAC,CACxD,CAAC;YACJ,CAAC,EACD,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAO,EACrC,eAAe,EAAE,QAAQ,EAAE,eAAe,EAC1C,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,MAAM,EAChC,UAAU,EAAE;gBACV,aAAa,EAAE,QAAQ,EAAE,aAAa;gBACtC,WAAW,EAAE,QAAQ,EAAE,WAAW;gBAClC,YAAY,EAAE,QAAQ,EAAE,YAAY;gBACpC,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,QAAQ,EAAE,QAAQ,EAAE,QAAQ;aAC7B,GACD,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,sBAAsB,CAAC;QAC5B,YAAY,EACV,CAAC,eAAe,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;QACnE,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW;QACX,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
@@ -271,7 +271,9 @@ function DetailsModal(props) {
271
271
  }
272
272
  // thirdweb pay
273
273
  else if (screen === "buy") {
274
- content = (_jsx(LazyBuyScreen, { title: "Buy", isEmbed: false, client: client, onBack: () => setScreen("main"), supportedTokens: props.supportedTokens, onViewPendingTx: () => setScreen("transactions"), connectLocale: locale, payOptions: props.detailsModal?.payOptions || {}, theme: typeof props.theme === "string" ? props.theme : props.theme.type, onDone: closeModal, connectOptions: undefined, buyForTx: undefined }));
274
+ content = (_jsx(LazyBuyScreen, { title: "Buy", isEmbed: false, client: client, onBack: () => setScreen("main"), supportedTokens: props.supportedTokens, connectLocale: locale, payOptions: props.detailsModal?.payOptions || {
275
+ mode: "fund_wallet",
276
+ }, theme: typeof props.theme === "string" ? props.theme : props.theme.type, onDone: closeModal, connectOptions: undefined }));
275
277
  }
276
278
  return (_jsx(CustomThemeProvider, { theme: props.theme, children: _jsx(Modal, { size: "compact", open: isOpen, setOpen: (_open) => {
277
279
  if (!_open) {