thirdweb 5.40.1-nightly-b128530355f0dc47d897bd2ef7c3823752ea9b6c-20240727000321 → 5.42.0-nightly-e27ebef85bb61342c3de53f85e134cf4a29f787c-20240730000342

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 (271) hide show
  1. package/dist/cjs/client/client.js +19 -1
  2. package/dist/cjs/client/client.js.map +1 -1
  3. package/dist/cjs/exports/extensions/common.js +3 -1
  4. package/dist/cjs/exports/extensions/common.js.map +1 -1
  5. package/dist/cjs/exports/extensions/erc1155.js +2 -1
  6. package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
  7. package/dist/cjs/exports/extensions/erc20.js +3 -1
  8. package/dist/cjs/exports/extensions/erc20.js.map +1 -1
  9. package/dist/cjs/exports/react.js +7 -2
  10. package/dist/cjs/exports/react.js.map +1 -1
  11. package/dist/cjs/exports/utils.js +3 -1
  12. package/dist/cjs/exports/utils.js.map +1 -1
  13. package/dist/cjs/extensions/erc20/write/getApprovalForTransaction.js +38 -0
  14. package/dist/cjs/extensions/erc20/write/getApprovalForTransaction.js.map +1 -1
  15. package/dist/cjs/react/core/hooks/others/useChainQuery.js +19 -3
  16. package/dist/cjs/react/core/hooks/others/useChainQuery.js.map +1 -1
  17. package/dist/cjs/react/core/hooks/transaction/transaction-button-utils.js.map +1 -1
  18. package/dist/cjs/react/core/utils/socialIcons.js +3 -1
  19. package/dist/cjs/react/core/utils/socialIcons.js.map +1 -1
  20. package/dist/cjs/react/native/ui/components/WalletImage.js +2 -0
  21. package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
  22. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +3 -1
  23. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  24. package/dist/cjs/react/native/ui/icons/svgs.js +7 -1
  25. package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
  26. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +5 -5
  27. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  28. package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js +12 -1
  29. package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
  30. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +1 -1
  31. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  32. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  34. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +4 -3
  35. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +1 -1
  36. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewAssets.js +37 -0
  37. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewAssets.js.map +1 -0
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewNFTs.js +21 -18
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewNFTs.js.map +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewTokens.js +12 -9
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewTokens.js.map +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js +3 -2
  43. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js.map +1 -1
  44. package/dist/cjs/react/web/ui/components/Tabs.js +5 -3
  45. package/dist/cjs/react/web/ui/components/Tabs.js.map +1 -1
  46. package/dist/cjs/react/web/ui/components/WalletImage.js +3 -0
  47. package/dist/cjs/react/web/ui/components/WalletImage.js.map +1 -1
  48. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +127 -0
  49. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -0
  50. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +70 -3
  51. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  52. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
  53. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  54. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +2 -1
  55. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  56. package/dist/cjs/storage/download.js +44 -4
  57. package/dist/cjs/storage/download.js.map +1 -1
  58. package/dist/cjs/transaction/actions/send-and-confirm-transaction.js +1 -1
  59. package/dist/cjs/utils/contract/parse-abi-params.js +87 -0
  60. package/dist/cjs/utils/contract/parse-abi-params.js.map +1 -0
  61. package/dist/cjs/version.js +1 -1
  62. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +11 -5
  63. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  64. package/dist/cjs/wallets/in-app/core/authentication/type.js +1 -0
  65. package/dist/cjs/wallets/in-app/core/authentication/type.js.map +1 -1
  66. package/dist/cjs/wallets/in-app/core/wallet/index.js +2 -3
  67. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  68. package/dist/cjs/wallets/in-app/native/auth/native-auth.js +5 -1
  69. package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
  70. package/dist/cjs/wallets/in-app/native/native-connector.js +1 -0
  71. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  72. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js +7 -17
  73. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
  74. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +1 -0
  75. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  76. package/dist/cjs/wallets/types.js +1 -0
  77. package/dist/cjs/wallets/types.js.map +1 -1
  78. package/dist/esm/client/client.js +19 -1
  79. package/dist/esm/client/client.js.map +1 -1
  80. package/dist/esm/exports/extensions/common.js +1 -0
  81. package/dist/esm/exports/extensions/common.js.map +1 -1
  82. package/dist/esm/exports/extensions/erc1155.js +1 -1
  83. package/dist/esm/exports/extensions/erc1155.js.map +1 -1
  84. package/dist/esm/exports/extensions/erc20.js +1 -0
  85. package/dist/esm/exports/extensions/erc20.js.map +1 -1
  86. package/dist/esm/exports/react.js +3 -0
  87. package/dist/esm/exports/react.js.map +1 -1
  88. package/dist/esm/exports/utils.js +1 -0
  89. package/dist/esm/exports/utils.js.map +1 -1
  90. package/dist/esm/extensions/erc20/write/getApprovalForTransaction.js +38 -0
  91. package/dist/esm/extensions/erc20/write/getApprovalForTransaction.js.map +1 -1
  92. package/dist/esm/react/core/hooks/others/useChainQuery.js +19 -3
  93. package/dist/esm/react/core/hooks/others/useChainQuery.js.map +1 -1
  94. package/dist/esm/react/core/hooks/transaction/transaction-button-utils.js.map +1 -1
  95. package/dist/esm/react/core/utils/socialIcons.js +2 -0
  96. package/dist/esm/react/core/utils/socialIcons.js.map +1 -1
  97. package/dist/esm/react/native/ui/components/WalletImage.js +3 -1
  98. package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
  99. package/dist/esm/react/native/ui/connect/InAppWalletUI.js +4 -2
  100. package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  101. package/dist/esm/react/native/ui/icons/svgs.js +6 -0
  102. package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
  103. package/dist/esm/react/web/ui/ConnectWallet/Details.js +5 -5
  104. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  105. package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js +12 -1
  106. package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
  107. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +2 -2
  108. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  109. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +2 -2
  110. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  111. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +4 -3
  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/ViewAssets.js +34 -0
  114. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewAssets.js.map +1 -0
  115. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewNFTs.js +21 -19
  116. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewNFTs.js.map +1 -1
  117. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewTokens.js +12 -10
  118. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewTokens.js.map +1 -1
  119. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js +3 -2
  120. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js.map +1 -1
  121. package/dist/esm/react/web/ui/components/Tabs.js +5 -3
  122. package/dist/esm/react/web/ui/components/Tabs.js.map +1 -1
  123. package/dist/esm/react/web/ui/components/WalletImage.js +4 -1
  124. package/dist/esm/react/web/ui/components/WalletImage.js.map +1 -1
  125. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +124 -0
  126. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -0
  127. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +69 -3
  128. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  129. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
  130. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  131. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -1
  132. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  133. package/dist/esm/storage/download.js +44 -4
  134. package/dist/esm/storage/download.js.map +1 -1
  135. package/dist/esm/transaction/actions/send-and-confirm-transaction.js +1 -1
  136. package/dist/esm/utils/contract/parse-abi-params.js +84 -0
  137. package/dist/esm/utils/contract/parse-abi-params.js.map +1 -0
  138. package/dist/esm/version.js +1 -1
  139. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +11 -5
  140. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  141. package/dist/esm/wallets/in-app/core/authentication/type.js +1 -0
  142. package/dist/esm/wallets/in-app/core/authentication/type.js.map +1 -1
  143. package/dist/esm/wallets/in-app/core/wallet/index.js +2 -3
  144. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  145. package/dist/esm/wallets/in-app/native/auth/native-auth.js +5 -1
  146. package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
  147. package/dist/esm/wallets/in-app/native/native-connector.js +1 -0
  148. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  149. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js +6 -15
  150. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
  151. package/dist/esm/wallets/in-app/web/lib/web-connector.js +1 -0
  152. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  153. package/dist/esm/wallets/types.js +1 -0
  154. package/dist/esm/wallets/types.js.map +1 -1
  155. package/dist/types/client/client.d.ts +19 -1
  156. package/dist/types/client/client.d.ts.map +1 -1
  157. package/dist/types/exports/extensions/common.d.ts +1 -0
  158. package/dist/types/exports/extensions/common.d.ts.map +1 -1
  159. package/dist/types/exports/extensions/erc1155.d.ts +1 -1
  160. package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
  161. package/dist/types/exports/extensions/erc20.d.ts +1 -0
  162. package/dist/types/exports/extensions/erc20.d.ts.map +1 -1
  163. package/dist/types/exports/react.d.ts +2 -0
  164. package/dist/types/exports/react.d.ts.map +1 -1
  165. package/dist/types/exports/utils.d.ts +2 -0
  166. package/dist/types/exports/utils.d.ts.map +1 -1
  167. package/dist/types/extensions/erc20/write/getApprovalForTransaction.d.ts +44 -0
  168. package/dist/types/extensions/erc20/write/getApprovalForTransaction.d.ts.map +1 -1
  169. package/dist/types/react/core/hooks/others/useChainQuery.d.ts +21 -4
  170. package/dist/types/react/core/hooks/others/useChainQuery.d.ts.map +1 -1
  171. package/dist/types/react/core/hooks/transaction/transaction-button-utils.d.ts +1 -0
  172. package/dist/types/react/core/hooks/transaction/transaction-button-utils.d.ts.map +1 -1
  173. package/dist/types/react/core/utils/socialIcons.d.ts +2 -0
  174. package/dist/types/react/core/utils/socialIcons.d.ts.map +1 -1
  175. package/dist/types/react/core/utils/storage.d.ts +1 -1
  176. package/dist/types/react/core/utils/storage.d.ts.map +1 -1
  177. package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
  178. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  179. package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
  180. package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
  181. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  182. package/dist/types/react/web/ui/ConnectWallet/TransactionsScreen.d.ts.map +1 -1
  183. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts.map +1 -1
  184. package/dist/types/react/web/ui/ConnectWallet/screens/{ViewFunds.d.ts → ViewAssets.d.ts} +4 -2
  185. package/dist/types/react/web/ui/ConnectWallet/screens/ViewAssets.d.ts.map +1 -0
  186. package/dist/types/react/web/ui/ConnectWallet/screens/ViewNFTs.d.ts +6 -0
  187. package/dist/types/react/web/ui/ConnectWallet/screens/ViewNFTs.d.ts.map +1 -1
  188. package/dist/types/react/web/ui/ConnectWallet/screens/ViewTokens.d.ts +5 -0
  189. package/dist/types/react/web/ui/ConnectWallet/screens/ViewTokens.d.ts.map +1 -1
  190. package/dist/types/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.d.ts.map +1 -1
  191. package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts +1 -1
  192. package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts.map +1 -1
  193. package/dist/types/react/web/ui/PayEmbed.d.ts +1 -1
  194. package/dist/types/react/web/ui/components/Tabs.d.ts +5 -1
  195. package/dist/types/react/web/ui/components/Tabs.d.ts.map +1 -1
  196. package/dist/types/react/web/ui/components/WalletImage.d.ts.map +1 -1
  197. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts +63 -0
  198. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts.map +1 -0
  199. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts +21 -0
  200. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
  201. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  202. package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
  203. package/dist/types/storage/download.d.ts +43 -3
  204. package/dist/types/storage/download.d.ts.map +1 -1
  205. package/dist/types/transaction/actions/send-and-confirm-transaction.d.ts +1 -1
  206. package/dist/types/utils/contract/parse-abi-params.d.ts +29 -0
  207. package/dist/types/utils/contract/parse-abi-params.d.ts.map +1 -0
  208. package/dist/types/version.d.ts +1 -1
  209. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +6 -1
  210. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
  211. package/dist/types/wallets/in-app/core/authentication/type.d.ts +2 -1
  212. package/dist/types/wallets/in-app/core/authentication/type.d.ts.map +1 -1
  213. package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
  214. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
  215. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  216. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts +0 -1
  217. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -1
  218. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  219. package/dist/types/wallets/types.d.ts +1 -1
  220. package/dist/types/wallets/types.d.ts.map +1 -1
  221. package/package.json +1 -1
  222. package/src/client/client.ts +19 -1
  223. package/src/exports/extensions/common.ts +5 -0
  224. package/src/exports/extensions/erc1155.ts +1 -0
  225. package/src/exports/extensions/erc20.ts +5 -0
  226. package/src/exports/react.ts +7 -0
  227. package/src/exports/utils.ts +3 -0
  228. package/src/extensions/erc20/write/getApprovalForTransaction.ts +44 -0
  229. package/src/react/core/hooks/others/useChainQuery.ts +24 -4
  230. package/src/react/core/hooks/transaction/transaction-button-utils.ts +1 -0
  231. package/src/react/core/utils/socialIcons.ts +3 -0
  232. package/src/react/native/ui/components/WalletImage.tsx +3 -0
  233. package/src/react/native/ui/connect/InAppWalletUI.tsx +8 -3
  234. package/src/react/native/ui/icons/svgs.ts +7 -0
  235. package/src/react/web/ui/ConnectWallet/Details.tsx +5 -4
  236. package/src/react/web/ui/ConnectWallet/TransactionsScreen.tsx +20 -1
  237. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +2 -2
  238. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +2 -2
  239. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.tsx +25 -22
  240. package/src/react/web/ui/ConnectWallet/screens/ViewAssets.tsx +104 -0
  241. package/src/react/web/ui/ConnectWallet/screens/ViewNFTs.tsx +63 -52
  242. package/src/react/web/ui/ConnectWallet/screens/ViewTokens.tsx +38 -29
  243. package/src/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.tsx +8 -2
  244. package/src/react/web/ui/ConnectWallet/screens/types.ts +1 -1
  245. package/src/react/web/ui/PayEmbed.tsx +1 -1
  246. package/src/react/web/ui/components/Tabs.tsx +11 -6
  247. package/src/react/web/ui/components/WalletImage.tsx +4 -0
  248. package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/BuyDirectListingButton.test.tsx +27 -0
  249. package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx +200 -0
  250. package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +78 -5
  251. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +1 -0
  252. package/src/react/web/wallets/shared/oauthSignIn.ts +2 -1
  253. package/src/storage/download.ts +47 -4
  254. package/src/transaction/actions/send-and-confirm-transaction.ts +1 -1
  255. package/src/utils/contract/parse-abi-params.test.ts +160 -0
  256. package/src/utils/contract/parse-abi-params.ts +90 -0
  257. package/src/version.ts +1 -1
  258. package/src/wallets/in-app/core/authentication/getLoginPath.ts +22 -9
  259. package/src/wallets/in-app/core/authentication/type.ts +1 -0
  260. package/src/wallets/in-app/core/wallet/index.ts +2 -3
  261. package/src/wallets/in-app/native/auth/native-auth.ts +5 -1
  262. package/src/wallets/in-app/native/native-connector.ts +1 -0
  263. package/src/wallets/in-app/web/lib/auth/oauth.ts +6 -24
  264. package/src/wallets/in-app/web/lib/web-connector.ts +1 -0
  265. package/src/wallets/types.ts +1 -0
  266. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewFunds.js +0 -31
  267. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewFunds.js.map +0 -1
  268. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewFunds.js +0 -28
  269. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewFunds.js.map +0 -1
  270. package/dist/types/react/web/ui/ConnectWallet/screens/ViewFunds.d.ts.map +0 -1
  271. package/src/react/web/ui/ConnectWallet/screens/ViewFunds.tsx +0 -76
@@ -3,17 +3,30 @@ import { getThirdwebBaseUrl } from "../../../../utils/domains.js";
3
3
  import type { SocialAuthOption } from "../../../../wallets/types.js";
4
4
  import type { Ecosystem } from "../../web/types.js";
5
5
 
6
- export const getSocialAuthLoginPath = (
7
- authOption: SocialAuthOption,
8
- client: ThirdwebClient,
9
- ecosystem?: Ecosystem,
10
- ) => {
11
- const baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/${authOption}?clientId=${client.clientId}`;
6
+ export const getSocialAuthLoginPath = ({
7
+ authOption,
8
+ client,
9
+ ecosystem,
10
+ mode = "popup",
11
+ }: {
12
+ authOption: SocialAuthOption;
13
+ client: ThirdwebClient;
14
+ ecosystem?: Ecosystem;
15
+ mode?: "popup" | "redirect";
16
+ }) => {
17
+ let baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/${authOption}?clientId=${client.clientId}`;
12
18
  if (ecosystem?.partnerId) {
13
- return `${baseUrl}&ecosystemId=${ecosystem.id}&ecosystemPartnerId=${ecosystem.partnerId}`;
19
+ baseUrl = `${baseUrl}&ecosystemId=${ecosystem.id}&ecosystemPartnerId=${ecosystem.partnerId}`;
20
+ } else if (ecosystem) {
21
+ baseUrl = `${baseUrl}&ecosystemId=${ecosystem.id}`;
14
22
  }
15
- if (ecosystem) {
16
- return `${baseUrl}&ecosystemId=${ecosystem.id}`;
23
+
24
+ if (mode === "redirect") {
25
+ const redirectUrl = new URL(window.location.href);
26
+ redirectUrl.searchParams.set("walletId", ecosystem?.id || "inApp");
27
+ redirectUrl.searchParams.set("authProvider", authOption);
28
+ baseUrl = `${baseUrl}&redirectUrl=${encodeURIComponent(redirectUrl.toString())}`;
17
29
  }
30
+
18
31
  return baseUrl;
19
32
  };
@@ -62,6 +62,7 @@ export enum AuthProvider {
62
62
  APPLE = "Apple",
63
63
  PASSKEY = "Passkey",
64
64
  DISCORD = "Discord",
65
+ FARCASTER = "Farcaster",
65
66
  }
66
67
 
67
68
  export type OauthOption = {
@@ -44,10 +44,9 @@ export async function connectInAppWallet(
44
44
  connector.authenticateWithRedirect
45
45
  ) {
46
46
  const strategy = options.strategy;
47
- if (!socialAuthOptions.includes(strategy as SocialAuthOption)) {
48
- throw new Error("This authentication method does not support redirects");
47
+ if (socialAuthOptions.includes(strategy as SocialAuthOption)) {
48
+ connector.authenticateWithRedirect(strategy as SocialAuthOption);
49
49
  }
50
- connector.authenticateWithRedirect(strategy as SocialAuthOption);
51
50
  }
52
51
  // If we don't have authenticateWithRedirect then it's likely react native, so the default is to redirect and we can carry on
53
52
  // IF WE EVER ADD MORE CONNECTOR TYPES, this could cause redirect to be ignored despite being specified
@@ -208,7 +208,11 @@ export async function socialLogin(
208
208
  auth: OauthOption,
209
209
  client: ThirdwebClient,
210
210
  ): Promise<AuthStoredTokenWithCookieReturnType> {
211
- const loginUrl = `${getSocialAuthLoginPath(auth.strategy, client)}&redirectUrl=${encodeURIComponent(auth.redirectUrl)}`;
211
+ const loginUrl = getSocialAuthLoginPath({
212
+ authOption: auth.strategy,
213
+ client,
214
+ mode: "popup",
215
+ });
212
216
 
213
217
  const result = await WebBrowser.openAuthSessionAsync(
214
218
  loginUrl,
@@ -109,6 +109,7 @@ export class InAppNativeConnector implements InAppConnector {
109
109
  case "google":
110
110
  case "facebook":
111
111
  case "discord":
112
+ case "farcaster":
112
113
  case "apple": {
113
114
  const ExpoLinking = require("expo-linking");
114
115
  const redirectUrl =
@@ -2,6 +2,7 @@ import type { ThirdwebClient } from "../../../../../client/client.js";
2
2
  import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
3
3
  import type { AuthStoredTokenWithCookieReturnType } from "../../../../../wallets/in-app/core/authentication/type.js";
4
4
  import type { SocialAuthOption } from "../../../../../wallets/types.js";
5
+ import { getSocialAuthLoginPath } from "../../../core/authentication/getLoginPath.js";
5
6
  import type { Ecosystem } from "../../types.js";
6
7
  import { DEFAULT_POP_UP_SIZE } from "./constants.js";
7
8
 
@@ -25,30 +26,15 @@ const closeWindow = ({
25
26
  }
26
27
  };
27
28
 
28
- export const getSocialAuthLoginPath = (
29
- authOption: SocialAuthOption,
30
- client: ThirdwebClient,
31
- ecosystem?: Ecosystem,
32
- ) => {
33
- const baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/${authOption}?clientId=${client.clientId}`;
34
- if (ecosystem?.partnerId) {
35
- return `${baseUrl}&ecosystemId=${ecosystem.id}&ecosystemPartnerId=${ecosystem.partnerId}`;
36
- }
37
- if (ecosystem) {
38
- return `${baseUrl}&ecosystemId=${ecosystem.id}`;
39
- }
40
- return baseUrl;
41
- };
42
-
43
29
  export const loginWithOauthRedirect = (options: {
44
30
  authOption: SocialAuthOption;
45
31
  client: ThirdwebClient;
46
32
  ecosystem?: Ecosystem;
47
33
  }): void => {
48
- const redirectUrl = new URL(window.location.href);
49
- redirectUrl.searchParams.set("walletId", options.ecosystem?.id || "inApp");
50
- redirectUrl.searchParams.set("authProvider", options.authOption);
51
- const loginUrl = `${getSocialAuthLoginPath(options.authOption, options.client, options.ecosystem)}&redirectUrl=${encodeURIComponent(redirectUrl.toString())}`;
34
+ const loginUrl = getSocialAuthLoginPath({
35
+ ...options,
36
+ mode: "redirect",
37
+ });
52
38
  window.location.href = loginUrl;
53
39
  };
54
40
 
@@ -63,11 +49,7 @@ export const loginWithOauth = async (options: {
63
49
  let isWindowOpenedByFn = false;
64
50
  if (!win) {
65
51
  win = window.open(
66
- getSocialAuthLoginPath(
67
- options.authOption,
68
- options.client,
69
- options.ecosystem,
70
- ),
52
+ getSocialAuthLoginPath({ ...options, mode: "popup" }),
71
53
  `Login to ${options.authOption}`,
72
54
  DEFAULT_POP_UP_SIZE,
73
55
  );
@@ -222,6 +222,7 @@ export class InAppWebConnector implements InAppConnector {
222
222
  case "apple":
223
223
  case "facebook":
224
224
  case "google":
225
+ case "farcaster":
225
226
  case "discord": {
226
227
  const authToken = await loginWithOauth({
227
228
  authOption: strategy,
@@ -24,6 +24,7 @@ export const socialAuthOptions = [
24
24
  "apple",
25
25
  "facebook",
26
26
  "discord",
27
+ "farcaster",
27
28
  ] as const;
28
29
  export type SocialAuthOption = (typeof socialAuthOptions)[number];
29
30
 
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViewFunds = ViewFunds;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const index_js_1 = require("../../../../core/design-system/index.js");
6
- const Spacer_js_1 = require("../../components/Spacer.js");
7
- const basic_js_1 = require("../../components/basic.js");
8
- const text_js_1 = require("../../components/text.js");
9
- const MenuButton_js_1 = require("../MenuButton.js");
10
- const CoinsIcon_js_1 = require("../icons/CoinsIcon.js");
11
- const ImageIcon_js_1 = require("../icons/ImageIcon.js");
12
- /**
13
- * @internal
14
- */
15
- function ViewFunds(props) {
16
- const { connectLocale } = props;
17
- return ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { style: {
18
- minHeight: "300px",
19
- }, children: [(0, jsx_runtime_1.jsx)(basic_js_1.Container, { p: "lg", children: (0, jsx_runtime_1.jsx)(basic_js_1.ModalHeader, { title: connectLocale.viewFunds.title, onBack: props.onBack }) }), (0, jsx_runtime_1.jsx)(basic_js_1.Line, {}), (0, jsx_runtime_1.jsxs)(basic_js_1.Container, { px: "sm", scrollY: true, style: {
20
- maxHeight: "500px",
21
- }, children: [(0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "md" }), (0, jsx_runtime_1.jsxs)(MenuButton_js_1.MenuButton, { onClick: () => {
22
- props.setScreen("view-tokens");
23
- }, style: {
24
- fontSize: index_js_1.fontSize.sm,
25
- }, children: [(0, jsx_runtime_1.jsx)(CoinsIcon_js_1.CoinsIcon, { size: index_js_1.iconSize.md }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { color: "primaryText", children: connectLocale.viewFunds.viewTokens })] }), (0, jsx_runtime_1.jsxs)(MenuButton_js_1.MenuButton, { onClick: () => {
26
- props.setScreen("view-nfts");
27
- }, style: {
28
- fontSize: index_js_1.fontSize.sm,
29
- }, children: [(0, jsx_runtime_1.jsx)(ImageIcon_js_1.ImageIcon, { size: index_js_1.iconSize.md }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { color: "primaryText", children: connectLocale.viewFunds.viewNFTs })] }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "lg" })] })] }));
30
- }
31
- //# sourceMappingURL=ViewFunds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewFunds.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/ViewFunds.tsx"],"names":[],"mappings":";;AAkBA,8BAyDC;;AA1ED,sEAA6E;AAK7E,0DAAoD;AACpD,wDAAyE;AACzE,sDAAgD;AAChD,oDAA8C;AAC9C,wDAAkD;AAClD,wDAAkD;AAIlD;;GAEG;AACH,SAAgB,SAAS,CAAC,KAOzB;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAChC,OAAO,CACL,wBAAC,oBAAS,IACR,KAAK,EAAE;YACL,SAAS,EAAE,OAAO;SACnB,aAED,uBAAC,oBAAS,IAAC,CAAC,EAAC,IAAI,YACf,uBAAC,sBAAW,IACV,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,EACpC,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,GACQ,EACZ,uBAAC,eAAI,KAAG,EACR,wBAAC,oBAAS,IACR,EAAE,EAAC,IAAI,EACP,OAAO,QACP,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO;iBACnB,aAED,uBAAC,kBAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EAEjB,wBAAC,0BAAU,IACT,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;wBACjC,CAAC,EACD,KAAK,EAAE;4BACL,QAAQ,EAAE,mBAAQ,CAAC,EAAE;yBACtB,aAED,uBAAC,wBAAS,IAAC,IAAI,EAAE,mBAAQ,CAAC,EAAE,GAAI,EAChC,uBAAC,cAAI,IAAC,KAAK,EAAC,aAAa,YAAE,aAAa,CAAC,SAAS,CAAC,UAAU,GAAQ,IAC1D,EACb,wBAAC,0BAAU,IACT,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wBAC/B,CAAC,EACD,KAAK,EAAE;4BACL,QAAQ,EAAE,mBAAQ,CAAC,EAAE;yBACtB,aAED,uBAAC,wBAAS,IAAC,IAAI,EAAE,mBAAQ,CAAC,EAAE,GAAI,EAChC,uBAAC,cAAI,IAAC,KAAK,EAAC,aAAa,YAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAQ,IACxD,EACb,uBAAC,kBAAM,IAAC,CAAC,EAAC,IAAI,GAAG,IACP,IACF,CACb,CAAC;AACJ,CAAC"}
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { fontSize, iconSize } from "../../../../core/design-system/index.js";
3
- import { Spacer } from "../../components/Spacer.js";
4
- import { Container, Line, ModalHeader } from "../../components/basic.js";
5
- import { Text } from "../../components/text.js";
6
- import { MenuButton } from "../MenuButton.js";
7
- import { CoinsIcon } from "../icons/CoinsIcon.js";
8
- import { ImageIcon } from "../icons/ImageIcon.js";
9
- /**
10
- * @internal
11
- */
12
- export function ViewFunds(props) {
13
- const { connectLocale } = props;
14
- return (_jsxs(Container, { style: {
15
- minHeight: "300px",
16
- }, children: [_jsx(Container, { p: "lg", children: _jsx(ModalHeader, { title: connectLocale.viewFunds.title, onBack: props.onBack }) }), _jsx(Line, {}), _jsxs(Container, { px: "sm", scrollY: true, style: {
17
- maxHeight: "500px",
18
- }, children: [_jsx(Spacer, { y: "md" }), _jsxs(MenuButton, { onClick: () => {
19
- props.setScreen("view-tokens");
20
- }, style: {
21
- fontSize: fontSize.sm,
22
- }, children: [_jsx(CoinsIcon, { size: iconSize.md }), _jsx(Text, { color: "primaryText", children: connectLocale.viewFunds.viewTokens })] }), _jsxs(MenuButton, { onClick: () => {
23
- props.setScreen("view-nfts");
24
- }, style: {
25
- fontSize: fontSize.sm,
26
- }, children: [_jsx(ImageIcon, { size: iconSize.md }), _jsx(Text, { color: "primaryText", children: connectLocale.viewFunds.viewNFTs })] }), _jsx(Spacer, { y: "lg" })] })] }));
27
- }
28
- //# sourceMappingURL=ViewFunds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewFunds.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/ViewFunds.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAK7E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAOzB;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAChC,OAAO,CACL,MAAC,SAAS,IACR,KAAK,EAAE;YACL,SAAS,EAAE,OAAO;SACnB,aAED,KAAC,SAAS,IAAC,CAAC,EAAC,IAAI,YACf,KAAC,WAAW,IACV,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,EACpC,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,GACQ,EACZ,KAAC,IAAI,KAAG,EACR,MAAC,SAAS,IACR,EAAE,EAAC,IAAI,EACP,OAAO,QACP,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO;iBACnB,aAED,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EAEjB,MAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;wBACjC,CAAC,EACD,KAAK,EAAE;4BACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;yBACtB,aAED,KAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI,EAChC,KAAC,IAAI,IAAC,KAAK,EAAC,aAAa,YAAE,aAAa,CAAC,SAAS,CAAC,UAAU,GAAQ,IAC1D,EACb,MAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wBAC/B,CAAC,EACD,KAAK,EAAE;4BACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;yBACtB,aAED,KAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI,EAChC,KAAC,IAAI,IAAC,KAAK,EAAC,aAAa,YAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAQ,IACxD,EACb,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,IACP,IACF,CACb,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewFunds.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/ViewFunds.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,yCAAyC,CAAC;AAOjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;CAC9B,8CAkDA"}
@@ -1,76 +0,0 @@
1
- import type { ThirdwebClient } from "../../../../../client/client.js";
2
- import { fontSize, iconSize } from "../../../../core/design-system/index.js";
3
- import type {
4
- SupportedNFTs,
5
- SupportedTokens,
6
- } from "../../../../core/utils/defaultTokens.js";
7
- import { Spacer } from "../../components/Spacer.js";
8
- import { Container, Line, ModalHeader } from "../../components/basic.js";
9
- import { Text } from "../../components/text.js";
10
- import { MenuButton } from "../MenuButton.js";
11
- import { CoinsIcon } from "../icons/CoinsIcon.js";
12
- import { ImageIcon } from "../icons/ImageIcon.js";
13
- import type { ConnectLocale } from "../locale/types.js";
14
- import type { WalletDetailsModalScreen } from "./types.js";
15
-
16
- /**
17
- * @internal
18
- */
19
- export function ViewFunds(props: {
20
- supportedTokens?: SupportedTokens;
21
- supportedNFTs?: SupportedNFTs;
22
- onBack: () => void;
23
- setScreen: (screen: WalletDetailsModalScreen) => void;
24
- client: ThirdwebClient;
25
- connectLocale: ConnectLocale;
26
- }) {
27
- const { connectLocale } = props;
28
- return (
29
- <Container
30
- style={{
31
- minHeight: "300px",
32
- }}
33
- >
34
- <Container p="lg">
35
- <ModalHeader
36
- title={connectLocale.viewFunds.title}
37
- onBack={props.onBack}
38
- />
39
- </Container>
40
- <Line />
41
- <Container
42
- px="sm"
43
- scrollY
44
- style={{
45
- maxHeight: "500px",
46
- }}
47
- >
48
- <Spacer y="md" />
49
-
50
- <MenuButton
51
- onClick={() => {
52
- props.setScreen("view-tokens");
53
- }}
54
- style={{
55
- fontSize: fontSize.sm,
56
- }}
57
- >
58
- <CoinsIcon size={iconSize.md} />
59
- <Text color="primaryText">{connectLocale.viewFunds.viewTokens}</Text>
60
- </MenuButton>
61
- <MenuButton
62
- onClick={() => {
63
- props.setScreen("view-nfts");
64
- }}
65
- style={{
66
- fontSize: fontSize.sm,
67
- }}
68
- >
69
- <ImageIcon size={iconSize.md} />
70
- <Text color="primaryText">{connectLocale.viewFunds.viewNFTs}</Text>
71
- </MenuButton>
72
- <Spacer y="lg" />
73
- </Container>
74
- </Container>
75
- );
76
- }