thirdweb 5.64.2 → 5.64.3

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 (134) hide show
  1. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +19 -1
  2. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  3. package/dist/cjs/react/core/utils/isSmartWallet.js +4 -2
  4. package/dist/cjs/react/core/utils/isSmartWallet.js.map +1 -1
  5. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +27 -78
  6. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  7. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +27 -13
  8. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  9. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +50 -19
  10. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
  11. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +0 -2
  12. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
  13. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +21 -32
  14. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
  15. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js +138 -0
  16. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js.map +1 -0
  17. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -0
  18. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  19. package/dist/cjs/react/web/ui/ConnectWallet/screens/formatTokenBalance.js +2 -2
  20. package/dist/cjs/react/web/ui/ConnectWallet/screens/formatTokenBalance.js.map +1 -1
  21. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
  22. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  23. package/dist/cjs/version.js +1 -1
  24. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-auth-options.js +23 -17
  25. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-auth-options.js.map +1 -1
  26. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-info.js +4 -13
  27. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-info.js.map +1 -1
  28. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +56 -4
  29. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  30. package/dist/cjs/wallets/in-app/core/wallet/index.js +2 -50
  31. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  32. package/dist/cjs/wallets/smart/lib/bundler.js +3 -1
  33. package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
  34. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +19 -1
  35. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  36. package/dist/esm/react/core/utils/isSmartWallet.js +4 -2
  37. package/dist/esm/react/core/utils/isSmartWallet.js.map +1 -1
  38. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +29 -80
  39. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  40. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +28 -14
  41. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  42. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +50 -19
  43. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
  44. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +0 -2
  45. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
  46. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +21 -32
  47. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
  48. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js +135 -0
  49. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js.map +1 -0
  50. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -1
  51. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  52. package/dist/esm/react/web/ui/ConnectWallet/screens/formatTokenBalance.js +2 -2
  53. package/dist/esm/react/web/ui/ConnectWallet/screens/formatTokenBalance.js.map +1 -1
  54. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +2 -2
  55. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  56. package/dist/esm/version.js +1 -1
  57. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-auth-options.js +22 -16
  58. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-auth-options.js.map +1 -1
  59. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-info.js +4 -13
  60. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-info.js.map +1 -1
  61. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +56 -4
  62. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  63. package/dist/esm/wallets/in-app/core/wallet/index.js +2 -50
  64. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  65. package/dist/esm/wallets/smart/lib/bundler.js +3 -1
  66. package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
  67. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  68. package/dist/types/react/core/utils/isSmartWallet.d.ts.map +1 -1
  69. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  70. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts +1 -1
  71. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
  72. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts +12 -8
  73. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts.map +1 -1
  74. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +1 -1
  75. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts.map +1 -1
  76. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts +0 -1
  77. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts.map +1 -1
  78. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts +1 -2
  79. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts.map +1 -1
  80. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.d.ts +30 -0
  81. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.d.ts.map +1 -0
  82. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts +1 -0
  83. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts.map +1 -1
  84. package/dist/types/react/web/ui/ConnectWallet/screens/formatTokenBalance.d.ts +1 -1
  85. package/dist/types/react/web/ui/ConnectWallet/screens/formatTokenBalance.d.ts.map +1 -1
  86. package/dist/types/react/web/ui/components/token/TokenSymbol.d.ts +1 -1
  87. package/dist/types/react/web/ui/components/token/TokenSymbol.d.ts.map +1 -1
  88. package/dist/types/version.d.ts +1 -1
  89. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts +5 -1
  90. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts.map +1 -1
  91. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-info.d.ts.map +1 -1
  92. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  93. package/dist/types/wallets/in-app/core/wallet/index.d.ts +2 -3
  94. package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
  95. package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
  96. package/dist/types/wallets/smart/types.d.ts +1 -1
  97. package/dist/types/wallets/smart/types.d.ts.map +1 -1
  98. package/package.json +11 -11
  99. package/src/extensions/unstoppable-domains/read/resolveName.test.ts +20 -17
  100. package/src/react/core/hooks/transaction/useSendTransaction.ts +34 -4
  101. package/src/react/core/utils/isSmartWallet.ts +4 -2
  102. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +35 -148
  103. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +62 -31
  104. package/src/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.tsx +136 -48
  105. package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +1 -1
  106. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.ts +0 -4
  107. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +57 -71
  108. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.tsx +251 -0
  109. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.ts +1 -1
  110. package/src/react/web/ui/ConnectWallet/screens/formatTokenBalance.ts +2 -1
  111. package/src/react/web/ui/components/token/TokenSymbol.tsx +2 -2
  112. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +2 -2
  113. package/src/version.ts +1 -1
  114. package/src/wallets/ecosystem/get-ecosystem-wallet-auth-options.ts +36 -23
  115. package/src/wallets/ecosystem/get-ecosystem-wallet-info.ts +5 -21
  116. package/src/wallets/in-app/core/wallet/in-app-core.ts +62 -4
  117. package/src/wallets/in-app/core/wallet/index.ts +0 -59
  118. package/src/wallets/smart/lib/bundler.ts +4 -1
  119. package/src/wallets/smart/smart-wallet-dev.test.ts +23 -4
  120. package/src/wallets/smart/types.ts +1 -1
  121. package/dist/cjs/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js +0 -12
  122. package/dist/cjs/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js.map +0 -1
  123. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +0 -34
  124. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +0 -1
  125. package/dist/esm/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js +0 -8
  126. package/dist/esm/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js.map +0 -1
  127. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +0 -31
  128. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +0 -1
  129. package/dist/types/react/web/ui/ConnectWallet/icons/GenericWalletIcon.d.ts +0 -6
  130. package/dist/types/react/web/ui/ConnectWallet/icons/GenericWalletIcon.d.ts.map +0 -1
  131. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.d.ts +0 -14
  132. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.d.ts.map +0 -1
  133. package/src/react/web/ui/ConnectWallet/icons/GenericWalletIcon.tsx +0 -22
  134. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.tsx +0 -83
@@ -3,7 +3,6 @@ import type { Account, Wallet } from "../../../interfaces/wallet.js";
3
3
  import type { EcosystemWalletId, WalletId } from "../../../wallet-types.js";
4
4
  import type { CreateWalletArgs, WalletAutoConnectionOption, WalletConnectionOption } from "../../../wallet-types.js";
5
5
  import type { InAppConnector } from "../interfaces/connector.js";
6
- import type { Ecosystem } from "./types.js";
7
6
  /**
8
7
  * Checks if the provided wallet is an in-app wallet.
9
8
  *
@@ -14,9 +13,9 @@ export declare function isInAppWallet(wallet: Wallet<WalletId>): wallet is Walle
14
13
  /**
15
14
  * @internal
16
15
  */
17
- export declare function connectInAppWallet(options: WalletConnectionOption<"inApp"> | WalletConnectionOption<EcosystemWalletId>, createOptions: CreateWalletArgs<"inApp">[1] | CreateWalletArgs<EcosystemWalletId>[1], connector: InAppConnector, ecosystem: Ecosystem | undefined): Promise<[Account, Chain]>;
16
+ export declare function connectInAppWallet(options: WalletConnectionOption<"inApp"> | WalletConnectionOption<EcosystemWalletId>, createOptions: CreateWalletArgs<"inApp">[1] | CreateWalletArgs<EcosystemWalletId>[1], connector: InAppConnector): Promise<[Account, Chain]>;
18
17
  /**
19
18
  * @internal
20
19
  */
21
- export declare function autoConnectInAppWallet(options: WalletAutoConnectionOption<"inApp"> | WalletAutoConnectionOption<EcosystemWalletId>, createOptions: CreateWalletArgs<"inApp">[1] | CreateWalletArgs<EcosystemWalletId>[1], connector: InAppConnector, ecosystem: Ecosystem | undefined): Promise<[Account, Chain]>;
20
+ export declare function autoConnectInAppWallet(options: WalletAutoConnectionOption<"inApp"> | WalletAutoConnectionOption<EcosystemWalletId>, createOptions: CreateWalletArgs<"inApp">[1] | CreateWalletArgs<EcosystemWalletId>[1], connector: InAppConnector): Promise<[Account, Chain]>;
22
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAQzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GACvB,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,CAExC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EACH,sBAAsB,CAAC,OAAO,CAAC,GAC/B,sBAAsB,CAAC,iBAAiB,CAAC,EAC7C,aAAa,EACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAgE3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EACH,0BAA0B,CAAC,OAAO,CAAC,GACnC,0BAA0B,CAAC,iBAAiB,CAAC,EACjD,aAAa,EACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAqD3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAMzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GACvB,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,CAExC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EACH,sBAAsB,CAAC,OAAO,CAAC,GAC/B,sBAAsB,CAAC,iBAAiB,CAAC,EAC7C,aAAa,EACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAqC3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EACH,0BAA0B,CAAC,OAAO,CAAC,GACnC,0BAA0B,CAAC,iBAAiB,CAAC,EACjD,aAAa,EACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CA0B3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAqB,MAAM,MAAM,CAAC;AAIvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,gCAAgC,CAAC;AAGvE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,aAAa,CAAC;AASrB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,GAAG,CAAC,CASf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyB5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,cAAc,CAAC,CAW1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;CACjB,GACA,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CA6BzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;CACjB,GACA,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAU3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,uBAAuB,CAAC;CACtC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAW7B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,uBAAuB,CAAC;IACrC,iBAAiB,EAAE,GAAG,CAAC;CACxB,GAAG,OAAO,CAAC;IAAE,eAAe,EAAE,GAAG,CAAA;CAAE,CAAC,CAepC"}
1
+ {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAqB,MAAM,MAAM,CAAC;AAIvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,gCAAgC,CAAC;AAGvE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,aAAa,CAAC;AASrB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,GAAG,CAAC,CASf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4B5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,cAAc,CAAC,CAW1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;CACjB,GACA,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CA6BzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;CACjB,GACA,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAU3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,uBAAuB,CAAC;CACtC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAW7B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,uBAAuB,CAAC;IACrC,iBAAiB,EAAE,GAAG,CAAC;CACxB,GAAG,OAAO,CAAC;IAAE,eAAe,EAAE,GAAG,CAAA;CAAE,CAAC,CAepC"}
@@ -138,7 +138,7 @@ export type PaymasterResult = {
138
138
  });
139
139
  export type EstimationResult = {
140
140
  preVerificationGas: bigint;
141
- verificationGas: bigint;
141
+ verificationGas?: bigint;
142
142
  verificationGasLimit: bigint;
143
143
  callGasLimit: bigint;
144
144
  paymasterVerificationGasLimit?: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.64.2",
3
+ "version": "5.64.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -218,7 +218,7 @@
218
218
  "input-otp": "^1.2.4",
219
219
  "mipd": "0.0.7",
220
220
  "uqr": "0.1.2",
221
- "viem": "2.21.34"
221
+ "viem": "2.21.35"
222
222
  },
223
223
  "peerDependencies": {
224
224
  "@aws-sdk/client-lambda": "^3",
@@ -290,9 +290,9 @@
290
290
  "node": ">=18"
291
291
  },
292
292
  "devDependencies": {
293
- "@aws-sdk/client-kms": "3.678.0",
294
- "@aws-sdk/client-lambda": "3.678.0",
295
- "@aws-sdk/credential-providers": "3.678.0",
293
+ "@aws-sdk/client-kms": "3.679.0",
294
+ "@aws-sdk/client-lambda": "3.680.0",
295
+ "@aws-sdk/credential-providers": "3.679.0",
296
296
  "@biomejs/biome": "1.9.4",
297
297
  "@chromatic-com/storybook": "2.0.2",
298
298
  "@codspeed/vitest-plugin": "3.1.1",
@@ -314,8 +314,8 @@
314
314
  "@types/react": "^18.3.11",
315
315
  "@viem/anvil": "0.0.10",
316
316
  "@vitejs/plugin-react": "^4.3.3",
317
- "@vitest/coverage-v8": "2.1.3",
318
- "@vitest/ui": "2.1.3",
317
+ "@vitest/coverage-v8": "2.1.4",
318
+ "@vitest/ui": "2.1.4",
319
319
  "cross-spawn": "7.0.3",
320
320
  "dotenv-mono": "^1.3.14",
321
321
  "ethers5": "npm:ethers@5",
@@ -323,15 +323,15 @@
323
323
  "expo-linking": "6.3.1",
324
324
  "expo-web-browser": "13.0.3",
325
325
  "happy-dom": "^15.7.4",
326
- "knip": "^5.33.3",
327
- "msw": "^2.4.12",
326
+ "knip": "5.34.2",
327
+ "msw": "^2.5.2",
328
328
  "prettier": "^3.3.2",
329
329
  "react": "18.3.1",
330
330
  "react-native": "0.76.0",
331
331
  "react-native-aes-gcm-crypto": "0.2.2",
332
332
  "react-native-passkey": "3.0.0-beta2",
333
333
  "react-native-quick-crypto": "0.7.5",
334
- "react-native-svg": "15.7.1",
334
+ "react-native-svg": "15.8.0",
335
335
  "rimraf": "6.0.1",
336
336
  "sharp": "^0.33.5",
337
337
  "size-limit": "11.1.6",
@@ -339,7 +339,7 @@
339
339
  "typedoc": "0.26.10",
340
340
  "typescript": "5.6.3",
341
341
  "vite": "5.4.10",
342
- "vitest": "2.1.3"
342
+ "vitest": "2.1.4"
343
343
  },
344
344
  "scripts": {
345
345
  "bench:compare": "bun run ./benchmarks/run.ts",
@@ -5,21 +5,24 @@ import { resolveName } from "./resolveName.js";
5
5
 
6
6
  // Double check: https://unstoppabledomains.com/d/thirdwebsdk.unstoppable
7
7
 
8
- describe("Unstoppable Domain: resolve name", () => {
9
- it("should resolve name", async () => {
10
- expect(
11
- await resolveName({
12
- address: "0x12345674b599ce99958242b3D3741e7b01841DF3",
13
- client: TEST_CLIENT,
14
- }),
15
- ).toBe("thirdwebsdk.unstoppable");
16
- });
8
+ describe.runIf(process.env.TW_SECRET_KEY)(
9
+ "Unstoppable Domain: resolve name",
10
+ () => {
11
+ it("should resolve name", async () => {
12
+ expect(
13
+ await resolveName({
14
+ address: "0x12345674b599ce99958242b3D3741e7b01841DF3",
15
+ client: TEST_CLIENT,
16
+ }),
17
+ ).toBe("thirdwebsdk.unstoppable");
18
+ });
17
19
 
18
- it("should throw error on addresses that dont own any UD", async () => {
19
- await expect(() =>
20
- resolveName({ client: TEST_CLIENT, address: TEST_ACCOUNT_D.address }),
21
- ).rejects.toThrowError(
22
- `Failed to retrieve domain for address: ${TEST_ACCOUNT_D.address}. Make sure you have set the Reverse Resolution address for your domain at https://unstoppabledomains.com/manage?page=reverseResolution&domain=your-domain`,
23
- );
24
- });
25
- });
20
+ it("should throw error on addresses that dont own any UD", async () => {
21
+ await expect(() =>
22
+ resolveName({ client: TEST_CLIENT, address: TEST_ACCOUNT_D.address }),
23
+ ).rejects.toThrowError(
24
+ `Failed to retrieve domain for address: ${TEST_ACCOUNT_D.address}. Make sure you have set the Reverse Resolution address for your domain at https://unstoppabledomains.com/manage?page=reverseResolution&domain=your-domain`,
25
+ );
26
+ });
27
+ },
28
+ );
@@ -13,6 +13,7 @@ import { resolvePromisedValue } from "../../../../utils/promise/resolve-promised
13
13
  import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
14
14
  import { getTokenBalance } from "../../../../wallets/utils/getTokenBalance.js";
15
15
  import { getWalletBalance } from "../../../../wallets/utils/getWalletBalance.js";
16
+ import { fetchBuySupportedDestinations } from "../../../web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js";
16
17
  import type { LocaleId } from "../../../web/ui/types.js";
17
18
  import type { Theme } from "../../design-system/index.js";
18
19
  import type { SupportedTokens } from "../../utils/defaultTokens.js";
@@ -164,10 +165,39 @@ export function useSendTransactionCore(args: {
164
165
 
165
166
  (async () => {
166
167
  try {
167
- const [_nativeValue, _erc20Value] = await Promise.all([
168
- resolvePromisedValue(tx.value),
169
- resolvePromisedValue(tx.erc20Value),
170
- ]);
168
+ const [_nativeValue, _erc20Value, supportedDestinations] =
169
+ await Promise.all([
170
+ resolvePromisedValue(tx.value),
171
+ resolvePromisedValue(tx.erc20Value),
172
+ fetchBuySupportedDestinations(tx.client).catch(() => null),
173
+ ]);
174
+
175
+ if (!supportedDestinations) {
176
+ // could not fetch supported destinations, just send the tx
177
+ sendTx();
178
+ return;
179
+ }
180
+
181
+ if (
182
+ !supportedDestinations
183
+ .map((x) => x.chain.id)
184
+ .includes(tx.chain.id) ||
185
+ (_erc20Value &&
186
+ !supportedDestinations.some(
187
+ (x) =>
188
+ x.chain.id === tx.chain.id &&
189
+ x.tokens.find(
190
+ (t) =>
191
+ t.address.toLowerCase() ===
192
+ _erc20Value.tokenAddress.toLowerCase(),
193
+ ),
194
+ ))
195
+ ) {
196
+ // chain/token not supported, just send the tx
197
+ sendTx();
198
+ return;
199
+ }
200
+
171
201
  const nativeValue = _nativeValue || 0n;
172
202
  const erc20Value = _erc20Value?.amountWei || 0n;
173
203
 
@@ -1,10 +1,12 @@
1
+ import { isEcosystemWallet } from "../../../wallets/ecosystem/is-ecosystem-wallet.js";
1
2
  import type { Wallet } from "../../../wallets/interfaces/wallet.js";
2
3
 
3
4
  export function hasSmartAccount(activeWallet?: Wallet): boolean {
4
5
  const config = activeWallet?.getConfig();
5
6
  return (
6
- !!activeWallet &&
7
+ activeWallet !== undefined &&
7
8
  (activeWallet.id === "smart" ||
8
- (activeWallet.id === "inApp" && !!config && "smartAccount" in config))
9
+ (activeWallet.id === "inApp" && !!config && "smartAccount" in config) ||
10
+ (isEcosystemWallet(activeWallet) && !!config && "smartAccount" in config))
9
11
  );
10
12
  }
@@ -1,7 +1,5 @@
1
- import { IdCardIcon } from "@radix-ui/react-icons";
2
1
  import { useQueryClient } from "@tanstack/react-query";
3
2
  import { useCallback, useMemo, useState } from "react";
4
- import { trackPayEvent } from "../../../../../../analytics/track/pay.js";
5
3
  import type { Chain } from "../../../../../../chains/types.js";
6
4
  import type { ThirdwebClient } from "../../../../../../client/client.js";
7
5
  import { NATIVE_TOKEN_ADDRESS } from "../../../../../../constants/addresses.js";
@@ -14,7 +12,6 @@ import type { Account } from "../../../../../../wallets/interfaces/wallet.js";
14
12
  import type { WalletId } from "../../../../../../wallets/wallet-types.js";
15
13
  import {
16
14
  type Theme,
17
- iconSize,
18
15
  spacing,
19
16
  } from "../../../../../core/design-system/index.js";
20
17
  import type {
@@ -44,7 +41,6 @@ import { Text } from "../../../components/text.js";
44
41
  import { TokenSymbol } from "../../../components/token/TokenSymbol.js";
45
42
  import { ConnectButton } from "../../ConnectButton.js";
46
43
  import { ChainButton, NetworkSelectorContent } from "../../NetworkSelector.js";
47
- import { CoinsIcon } from "../../icons/CoinsIcon.js";
48
44
  import type { ConnectLocale } from "../../locale/types.js";
49
45
  import { TokenSelector } from "../TokenSelector.js";
50
46
  import { WalletSwitcherConnectionScreen } from "../WalletSwitcherConnectionScreen.js";
@@ -54,7 +50,6 @@ import { EstimatedTimeAndFees } from "./EstimatedTimeAndFees.js";
54
50
  import { PayTokenIcon } from "./PayTokenIcon.js";
55
51
  import { PayWithCreditCard } from "./PayWIthCreditCard.js";
56
52
  import { TransactionModeScreen } from "./TransactionModeScreen.js";
57
- import { WalletSelectorButton } from "./WalletSelectorButton.js";
58
53
  import { CurrencySelection } from "./fiat/CurrencySelection.js";
59
54
  import { FiatFlow } from "./fiat/FiatFlow.js";
60
55
  import type { CurrencyMeta } from "./fiat/currencies.js";
@@ -71,10 +66,10 @@ import {
71
66
  import { openOnrampPopup } from "./openOnRamppopup.js";
72
67
  import { BuyTokenInput } from "./swap/BuyTokenInput.js";
73
68
  import { FiatFees, SwapFees } from "./swap/Fees.js";
74
- import { PayWithCrypto } from "./swap/PayWithCrypto.js";
69
+ import { PayWithCryptoQuoteInfo } from "./swap/PayWithCrypto.js";
70
+ import { PaymentSelectionScreen } from "./swap/PaymentSelectionScreen.js";
75
71
  import { SwapFlow } from "./swap/SwapFlow.js";
76
72
  import { TransferFlow } from "./swap/TransferFlow.js";
77
- import { WalletSwitcherDrawerContent } from "./swap/WalletSwitcherDrawerContent.js";
78
73
  import { addPendingTx } from "./swap/pendingSwapTx.js";
79
74
  import {
80
75
  type SupportedChainAndTokens,
@@ -222,7 +217,6 @@ function BuyScreenContent(props: BuyScreenContentProps) {
222
217
  });
223
218
 
224
219
  const payDisabled =
225
- enabledPaymentMethods.showPaymentSelection === false &&
226
220
  enabledPaymentMethods.buyWithCryptoEnabled === false &&
227
221
  enabledPaymentMethods.buyWithFiatEnabled === false;
228
222
 
@@ -515,7 +509,6 @@ function BuyScreenContent(props: BuyScreenContentProps) {
515
509
  )}
516
510
 
517
511
  {(screen.id === "select-payment-method" ||
518
- screen.id === "select-wallet" ||
519
512
  screen.id === "buy-with-crypto" ||
520
513
  screen.id === "buy-with-fiat") &&
521
514
  payer && (
@@ -527,44 +520,43 @@ function BuyScreenContent(props: BuyScreenContentProps) {
527
520
  client={client}
528
521
  onBack={() => {
529
522
  if (
530
- enabledPaymentMethods.showPaymentSelection &&
531
- (screen.id === "select-wallet" ||
532
- screen.id === "buy-with-fiat")
523
+ enabledPaymentMethods.buyWithCryptoEnabled &&
524
+ screen.id === "buy-with-fiat"
533
525
  ) {
534
526
  setScreen({ id: "select-payment-method" });
535
527
  } else if (screen.id === "buy-with-crypto") {
536
- setScreen({ id: "select-wallet" });
528
+ setScreen({ id: "select-payment-method" });
537
529
  } else {
538
530
  setScreen({ id: "main" });
539
531
  }
540
532
  }}
541
533
  >
542
534
  {screen.id === "select-payment-method" && (
543
- <PaymentMethodSelection
544
- mode={payOptions.mode}
545
- client={client}
546
- walletAddress={payer.account.address}
547
- walletType={payer.wallet.id}
548
- setScreen={(id) => setScreen({ id })}
549
- />
550
- )}
551
-
552
- {screen.id === "select-wallet" && (
553
- <WalletSwitcherDrawerContent
535
+ <PaymentSelectionScreen
554
536
  client={client}
537
+ mode={payOptions.mode}
538
+ sourceSupportedTokens={sourceSupportedTokens}
555
539
  hiddenWallets={props.hiddenWallets}
556
- onSelect={(w) => {
557
- const chain = w.getChain();
540
+ payWithFiatEnabled={props.payOptions.buyWithFiat !== false}
541
+ toChain={toChain}
542
+ toToken={toToken}
543
+ tokenAmount={tokenAmount}
544
+ onSelect={(w, token, chain) => {
558
545
  const account = w.getAccount();
559
- if (chain && account) {
546
+ if (account) {
560
547
  setPayer({
561
548
  account,
562
549
  chain,
563
550
  wallet: w,
564
551
  });
552
+ setFromToken(token);
553
+ setFromChain(chain);
565
554
  setScreen({ id: "buy-with-crypto" });
566
555
  }
567
556
  }}
557
+ onSelectFiat={() => {
558
+ setScreen({ id: "buy-with-fiat" });
559
+ }}
568
560
  showAllWallets={!!props.connectOptions?.showAllWallets}
569
561
  wallets={props.connectOptions?.wallets}
570
562
  onBack={() => {
@@ -574,11 +566,10 @@ function BuyScreenContent(props: BuyScreenContentProps) {
574
566
  setScreen({
575
567
  id: "connect-payer-wallet",
576
568
  backScreen: {
577
- id: "select-wallet",
569
+ id: "select-payment-method",
578
570
  },
579
571
  });
580
572
  }}
581
- selectedAddress={payer.account.address}
582
573
  />
583
574
  )}
584
575
 
@@ -736,8 +727,7 @@ function MainScreen(props: {
736
727
  enabledPaymentMethods,
737
728
  } = props;
738
729
 
739
- const { showPaymentSelection, buyWithCryptoEnabled, buyWithFiatEnabled } =
740
- enabledPaymentMethods;
730
+ const { buyWithCryptoEnabled, buyWithFiatEnabled } = enabledPaymentMethods;
741
731
  const disableContinue = !tokenAmount;
742
732
 
743
733
  switch (payOptions.mode) {
@@ -755,15 +745,10 @@ function MainScreen(props: {
755
745
  setFromChain(toChain);
756
746
  setFromToken(toToken);
757
747
  setToToken(toToken);
758
- if (showPaymentSelection) {
759
- props.setScreen({ id: "select-payment-method" });
760
- } else if (buyWithCryptoEnabled) {
761
- props.setScreen({ id: "select-wallet" });
762
- } else if (buyWithFiatEnabled) {
748
+ if (buyWithFiatEnabled && !buyWithCryptoEnabled) {
763
749
  props.setScreen({ id: "buy-with-fiat" });
764
750
  } else {
765
- // default to buy with crypto with connected wallet if chain not supported by pay
766
- props.setScreen({ id: "select-wallet" });
751
+ props.setScreen({ id: "select-payment-method" });
767
752
  }
768
753
  }}
769
754
  />
@@ -783,15 +768,10 @@ function MainScreen(props: {
783
768
  setFromChain(toChain);
784
769
  setFromToken(toToken);
785
770
  setToToken(toToken);
786
- if (showPaymentSelection) {
787
- props.setScreen({ id: "select-payment-method" });
788
- } else if (buyWithCryptoEnabled) {
789
- props.setScreen({ id: "buy-with-crypto" });
790
- } else if (buyWithFiatEnabled) {
771
+ if (buyWithFiatEnabled && !buyWithCryptoEnabled) {
791
772
  props.setScreen({ id: "buy-with-fiat" });
792
773
  } else {
793
- // default to buy with crypto with connected wallet if chain not supported by pay
794
- props.setScreen({ id: "select-wallet" });
774
+ props.setScreen({ id: "select-payment-method" });
795
775
  }
796
776
  }}
797
777
  />
@@ -846,14 +826,10 @@ function MainScreen(props: {
846
826
  disabled={disableContinue}
847
827
  data-disabled={disableContinue}
848
828
  onClick={() => {
849
- if (showPaymentSelection) {
850
- props.setScreen({ id: "select-payment-method" });
851
- } else if (buyWithCryptoEnabled) {
852
- props.setScreen({ id: "buy-with-crypto" });
853
- } else if (buyWithFiatEnabled) {
829
+ if (buyWithFiatEnabled && !buyWithCryptoEnabled) {
854
830
  props.setScreen({ id: "buy-with-fiat" });
855
831
  } else {
856
- console.error("No payment method enabled");
832
+ props.setScreen({ id: "select-payment-method" });
857
833
  }
858
834
  }}
859
835
  >
@@ -909,87 +885,6 @@ function TokenSelectedLayout(props: {
909
885
  );
910
886
  }
911
887
 
912
- function PaymentMethodSelection(props: {
913
- client: ThirdwebClient;
914
- walletAddress: string;
915
- walletType: string;
916
- setScreen: (screenId: "select-wallet" | "buy-with-fiat") => void;
917
- mode?: "transaction" | "direct_payment" | "fund_wallet";
918
- }) {
919
- return (
920
- <Container animate="fadein">
921
- {/* Credit Card */}
922
- <Container flex="column" gap="sm">
923
- <Button
924
- variant="outline"
925
- bg="tertiaryBg"
926
- onClick={() => {
927
- trackPayEvent({
928
- event: `pay_with_credit_card_${props.mode || "unknown"}_mode`,
929
- client: props.client,
930
- walletAddress: props.walletAddress,
931
- walletType: props.walletType,
932
- });
933
- props.setScreen("buy-with-fiat");
934
- }}
935
- gap="sm"
936
- style={{
937
- justifyContent: "flex-start",
938
- textAlign: "left",
939
- }}
940
- >
941
- <Container color="secondaryText" flex="row" center="both">
942
- <IdCardIcon
943
- style={{
944
- width: iconSize.md,
945
- height: iconSize.md,
946
- }}
947
- />
948
- </Container>
949
-
950
- <Container flex="column" gap="xxs">
951
- <Text size="md" color="primaryText">
952
- Credit Card
953
- </Text>
954
- <Text size="xs">Securely pay with credit card</Text>
955
- </Container>
956
- </Button>
957
-
958
- {/* Crypto */}
959
- <Button
960
- variant="outline"
961
- bg="tertiaryBg"
962
- onClick={() => {
963
- trackPayEvent({
964
- event: `pay_with_crypto_${props.mode || "unknown"}_mode`,
965
- client: props.client,
966
- walletAddress: props.walletAddress,
967
- walletType: props.walletType,
968
- });
969
-
970
- props.setScreen("select-wallet");
971
- }}
972
- style={{
973
- justifyContent: "flex-start",
974
- }}
975
- gap="sm"
976
- >
977
- <Container color="secondaryText" flex="row" center="both">
978
- <CoinsIcon size={iconSize.md} />
979
- </Container>
980
-
981
- <Container flex="column" gap="xxs">
982
- <Text size="md" color="primaryText">
983
- Crypto
984
- </Text>
985
- <Text size="xs">Pay with your connected wallet</Text>
986
- </Container>
987
- </Button>
988
- </Container>
989
- </Container>
990
- );
991
- }
992
-
993
888
  function SwapScreenContent(props: {
994
889
  setScreen: (screen: SelectedScreen) => void;
995
890
  tokenAmount: string;
@@ -1020,7 +915,6 @@ function SwapScreenContent(props: {
1020
915
  toToken,
1021
916
  fromChain,
1022
917
  fromToken,
1023
- showFromTokenSelector,
1024
918
  payOptions,
1025
919
  disableTokenSelection,
1026
920
  } = props;
@@ -1194,22 +1088,8 @@ function SwapScreenContent(props: {
1194
1088
 
1195
1089
  {/* Quote info */}
1196
1090
  <div>
1197
- <WalletSelectorButton
1198
- client={props.client}
1199
- onClick={() => {
1200
- setScreen({ id: "select-wallet" });
1201
- }}
1202
- address={props.payer.account.address}
1203
- walletId={props.payer.wallet.id}
1204
- containerStyle={{
1205
- borderBottomRightRadius: 0,
1206
- borderBottomLeftRadius: 0,
1207
- }}
1208
- />
1209
-
1210
- <PayWithCrypto
1091
+ <PayWithCryptoQuoteInfo
1211
1092
  value={sourceTokenAmount || ""}
1212
- onSelectToken={showFromTokenSelector}
1213
1093
  chain={fromChain}
1214
1094
  token={fromToken}
1215
1095
  isLoading={quoteQuery.isLoading && !sourceTokenAmount}
@@ -1550,6 +1430,13 @@ function createSupportedTokens(
1550
1430
 
1551
1431
  for (const x of data) {
1552
1432
  tokens[x.chain.id] = x.tokens.filter((t) => {
1433
+ // for source tokens, data is not provided, so we include all of them
1434
+ if (
1435
+ t.buyWithCryptoEnabled === undefined &&
1436
+ t.buyWithFiatEnabled === undefined
1437
+ ) {
1438
+ return true;
1439
+ }
1553
1440
  // it token supports both - include it
1554
1441
  if (t.buyWithCryptoEnabled && t.buyWithFiatEnabled) {
1555
1442
  return true;