thirdweb 5.50.1-nightly-b407bc9fd8379bf304ffb963f8cb8e64493914b5-20240904000351 → 5.50.1

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 (331) hide show
  1. package/dist/cjs/contract/deployment/deploy-via-autofactory.js +11 -0
  2. package/dist/cjs/contract/deployment/deploy-via-autofactory.js.map +1 -1
  3. package/dist/cjs/contract/deployment/publisher.js +3 -0
  4. package/dist/cjs/contract/deployment/publisher.js.map +1 -1
  5. package/dist/cjs/contract/deployment/utils/bootstrap.js +41 -1
  6. package/dist/cjs/contract/deployment/utils/bootstrap.js.map +1 -1
  7. package/dist/cjs/contract/deployment/zksync/zkDeployContract.js +43 -0
  8. package/dist/cjs/contract/deployment/zksync/zkDeployContract.js.map +1 -0
  9. package/dist/cjs/contract/deployment/zksync/zkDeployCreate2Factory.js +55 -0
  10. package/dist/cjs/contract/deployment/zksync/zkDeployCreate2Factory.js.map +1 -0
  11. package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js +86 -0
  12. package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -0
  13. package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js +41 -0
  14. package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js.map +1 -0
  15. package/dist/cjs/exports/extensions/erc4337.js +16 -1
  16. package/dist/cjs/exports/extensions/erc4337.js.map +1 -1
  17. package/dist/cjs/exports/extensions/permissions.js +11 -3
  18. package/dist/cjs/exports/extensions/permissions.js.map +1 -1
  19. package/dist/cjs/exports/extensions/thirdweb.js +9 -2
  20. package/dist/cjs/exports/extensions/thirdweb.js.map +1 -1
  21. package/dist/cjs/extensions/erc4337/account/addAdmin.js +16 -0
  22. package/dist/cjs/extensions/erc4337/account/addAdmin.js.map +1 -1
  23. package/dist/cjs/extensions/erc4337/account/addSessionKey.js +16 -0
  24. package/dist/cjs/extensions/erc4337/account/addSessionKey.js.map +1 -1
  25. package/dist/cjs/extensions/erc4337/account/removeAdmin.js +16 -0
  26. package/dist/cjs/extensions/erc4337/account/removeAdmin.js.map +1 -1
  27. package/dist/cjs/extensions/erc4337/account/removeSessionKey.js +16 -0
  28. package/dist/cjs/extensions/erc4337/account/removeSessionKey.js.map +1 -1
  29. package/dist/cjs/extensions/permissions/read/getAllMembers.js +18 -0
  30. package/dist/cjs/extensions/permissions/read/getAllMembers.js.map +1 -1
  31. package/dist/cjs/extensions/permissions/read/getRoleAdmin.js +3 -0
  32. package/dist/cjs/extensions/permissions/read/getRoleAdmin.js.map +1 -1
  33. package/dist/cjs/extensions/permissions/read/getRoleMember.js +3 -0
  34. package/dist/cjs/extensions/permissions/read/getRoleMember.js.map +1 -1
  35. package/dist/cjs/extensions/permissions/read/getRoleMemberCount.js +3 -0
  36. package/dist/cjs/extensions/permissions/read/getRoleMemberCount.js.map +1 -1
  37. package/dist/cjs/extensions/permissions/read/hasRole.js +3 -0
  38. package/dist/cjs/extensions/permissions/read/hasRole.js.map +1 -1
  39. package/dist/cjs/extensions/permissions/write/{grant.js → grantRole.js} +4 -1
  40. package/dist/cjs/extensions/permissions/write/grantRole.js.map +1 -0
  41. package/dist/cjs/extensions/permissions/write/renounceRole.js +3 -0
  42. package/dist/cjs/extensions/permissions/write/renounceRole.js.map +1 -1
  43. package/dist/cjs/extensions/permissions/write/revokeRole.js +3 -0
  44. package/dist/cjs/extensions/permissions/write/revokeRole.js.map +1 -1
  45. package/dist/cjs/extensions/prebuilts/deploy-published.js +39 -13
  46. package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
  47. package/dist/cjs/extensions/thirdweb/read/contractType.js +49 -0
  48. package/dist/cjs/extensions/thirdweb/read/contractType.js.map +1 -0
  49. package/dist/cjs/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js +33 -0
  50. package/dist/cjs/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js.map +1 -0
  51. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +6 -5
  52. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  53. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +3 -0
  54. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  55. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +37 -30
  56. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  57. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +22 -17
  58. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  59. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +44 -25
  60. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  61. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +13 -2
  62. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  63. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +2 -2
  64. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
  65. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +16 -11
  66. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
  67. package/dist/cjs/stories/ConnectButton/hideButtons.stories.js +74 -0
  68. package/dist/cjs/stories/ConnectButton/hideButtons.stories.js.map +1 -0
  69. package/dist/cjs/stories/{ConnectButton.stories.js → ConnectButton/themes.stories.js} +4 -5
  70. package/dist/cjs/stories/ConnectButton/themes.stories.js.map +1 -0
  71. package/dist/cjs/transaction/actions/send-transaction.js +8 -0
  72. package/dist/cjs/transaction/actions/send-transaction.js.map +1 -1
  73. package/dist/cjs/transaction/actions/zksync/getEip721Domain.js +4 -3
  74. package/dist/cjs/transaction/actions/zksync/getEip721Domain.js.map +1 -1
  75. package/dist/cjs/transaction/extract-error.js +4 -2
  76. package/dist/cjs/transaction/extract-error.js.map +1 -1
  77. package/dist/cjs/utils/abi/encodeAbiParameters.js +1 -1
  78. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  79. package/dist/cjs/utils/any-evm/deploy-metadata.js +9 -2
  80. package/dist/cjs/utils/any-evm/deploy-metadata.js.map +1 -1
  81. package/dist/cjs/utils/any-evm/zksync/computeDeploymentAddress.js +15 -0
  82. package/dist/cjs/utils/any-evm/zksync/computeDeploymentAddress.js.map +1 -0
  83. package/dist/cjs/utils/any-evm/zksync/constants.js +43 -0
  84. package/dist/cjs/utils/any-evm/zksync/constants.js.map +1 -0
  85. package/dist/cjs/utils/any-evm/zksync/create2Address.js +21 -0
  86. package/dist/cjs/utils/any-evm/zksync/create2Address.js.map +1 -0
  87. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +10 -0
  88. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -0
  89. package/dist/cjs/version.js +1 -1
  90. package/dist/cjs/version.js.map +1 -1
  91. package/dist/cjs/wallets/smart/index.js +2 -2
  92. package/dist/cjs/wallets/smart/index.js.map +1 -1
  93. package/dist/cjs/wallets/smart/lib/utils.js +0 -7
  94. package/dist/cjs/wallets/smart/lib/utils.js.map +1 -1
  95. package/dist/esm/contract/deployment/deploy-via-autofactory.js +11 -0
  96. package/dist/esm/contract/deployment/deploy-via-autofactory.js.map +1 -1
  97. package/dist/esm/contract/deployment/publisher.js +3 -0
  98. package/dist/esm/contract/deployment/publisher.js.map +1 -1
  99. package/dist/esm/contract/deployment/utils/bootstrap.js +41 -1
  100. package/dist/esm/contract/deployment/utils/bootstrap.js.map +1 -1
  101. package/dist/esm/contract/deployment/zksync/zkDeployContract.js +40 -0
  102. package/dist/esm/contract/deployment/zksync/zkDeployContract.js.map +1 -0
  103. package/dist/esm/contract/deployment/zksync/zkDeployCreate2Factory.js +52 -0
  104. package/dist/esm/contract/deployment/zksync/zkDeployCreate2Factory.js.map +1 -0
  105. package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js +83 -0
  106. package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -0
  107. package/dist/esm/contract/deployment/zksync/zkDeployProxy.js +38 -0
  108. package/dist/esm/contract/deployment/zksync/zkDeployProxy.js.map +1 -0
  109. package/dist/esm/exports/extensions/erc4337.js +14 -13
  110. package/dist/esm/exports/extensions/erc4337.js.map +1 -1
  111. package/dist/esm/exports/extensions/permissions.js +8 -8
  112. package/dist/esm/exports/extensions/permissions.js.map +1 -1
  113. package/dist/esm/exports/extensions/thirdweb.js +5 -0
  114. package/dist/esm/exports/extensions/thirdweb.js.map +1 -1
  115. package/dist/esm/extensions/erc4337/account/addAdmin.js +16 -1
  116. package/dist/esm/extensions/erc4337/account/addAdmin.js.map +1 -1
  117. package/dist/esm/extensions/erc4337/account/addSessionKey.js +16 -1
  118. package/dist/esm/extensions/erc4337/account/addSessionKey.js.map +1 -1
  119. package/dist/esm/extensions/erc4337/account/removeAdmin.js +16 -1
  120. package/dist/esm/extensions/erc4337/account/removeAdmin.js.map +1 -1
  121. package/dist/esm/extensions/erc4337/account/removeSessionKey.js +16 -1
  122. package/dist/esm/extensions/erc4337/account/removeSessionKey.js.map +1 -1
  123. package/dist/esm/extensions/permissions/read/getAllMembers.js +19 -2
  124. package/dist/esm/extensions/permissions/read/getAllMembers.js.map +1 -1
  125. package/dist/esm/extensions/permissions/read/getRoleAdmin.js +1 -0
  126. package/dist/esm/extensions/permissions/read/getRoleAdmin.js.map +1 -1
  127. package/dist/esm/extensions/permissions/read/getRoleMember.js +1 -0
  128. package/dist/esm/extensions/permissions/read/getRoleMember.js.map +1 -1
  129. package/dist/esm/extensions/permissions/read/getRoleMemberCount.js +1 -0
  130. package/dist/esm/extensions/permissions/read/getRoleMemberCount.js.map +1 -1
  131. package/dist/esm/extensions/permissions/read/hasRole.js +1 -0
  132. package/dist/esm/extensions/permissions/read/hasRole.js.map +1 -1
  133. package/dist/esm/extensions/permissions/write/{grant.js → grantRole.js} +2 -1
  134. package/dist/esm/extensions/permissions/write/grantRole.js.map +1 -0
  135. package/dist/esm/extensions/permissions/write/renounceRole.js +1 -0
  136. package/dist/esm/extensions/permissions/write/renounceRole.js.map +1 -1
  137. package/dist/esm/extensions/permissions/write/revokeRole.js +1 -0
  138. package/dist/esm/extensions/permissions/write/revokeRole.js.map +1 -1
  139. package/dist/esm/extensions/prebuilts/deploy-published.js +39 -13
  140. package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
  141. package/dist/esm/extensions/thirdweb/read/contractType.js +45 -0
  142. package/dist/esm/extensions/thirdweb/read/contractType.js.map +1 -0
  143. package/dist/esm/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js +30 -0
  144. package/dist/esm/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js.map +1 -0
  145. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +6 -5
  146. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  147. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +3 -0
  148. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  149. package/dist/esm/react/web/ui/ConnectWallet/Details.js +37 -30
  150. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  151. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +23 -18
  152. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  153. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +41 -24
  154. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  155. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +12 -2
  156. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  157. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +2 -2
  158. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
  159. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +17 -12
  160. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
  161. package/dist/esm/stories/ConnectButton/hideButtons.stories.js +71 -0
  162. package/dist/esm/stories/ConnectButton/hideButtons.stories.js.map +1 -0
  163. package/dist/esm/stories/{ConnectButton.stories.js → ConnectButton/themes.stories.js} +4 -5
  164. package/dist/esm/stories/ConnectButton/themes.stories.js.map +1 -0
  165. package/dist/esm/transaction/actions/send-transaction.js +8 -0
  166. package/dist/esm/transaction/actions/send-transaction.js.map +1 -1
  167. package/dist/esm/transaction/actions/zksync/getEip721Domain.js +4 -3
  168. package/dist/esm/transaction/actions/zksync/getEip721Domain.js.map +1 -1
  169. package/dist/esm/transaction/extract-error.js +4 -2
  170. package/dist/esm/transaction/extract-error.js.map +1 -1
  171. package/dist/esm/utils/abi/encodeAbiParameters.js +1 -1
  172. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  173. package/dist/esm/utils/any-evm/deploy-metadata.js +9 -2
  174. package/dist/esm/utils/any-evm/deploy-metadata.js.map +1 -1
  175. package/dist/esm/utils/any-evm/zksync/computeDeploymentAddress.js +12 -0
  176. package/dist/esm/utils/any-evm/zksync/computeDeploymentAddress.js.map +1 -0
  177. package/dist/esm/utils/any-evm/zksync/constants.js +40 -0
  178. package/dist/esm/utils/any-evm/zksync/constants.js.map +1 -0
  179. package/dist/esm/utils/any-evm/zksync/create2Address.js +18 -0
  180. package/dist/esm/utils/any-evm/zksync/create2Address.js.map +1 -0
  181. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +7 -0
  182. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -0
  183. package/dist/esm/version.js +1 -1
  184. package/dist/esm/version.js.map +1 -1
  185. package/dist/esm/wallets/smart/index.js +2 -2
  186. package/dist/esm/wallets/smart/index.js.map +1 -1
  187. package/dist/esm/wallets/smart/lib/utils.js +0 -6
  188. package/dist/esm/wallets/smart/lib/utils.js.map +1 -1
  189. package/dist/types/contract/deployment/deploy-via-autofactory.d.ts.map +1 -1
  190. package/dist/types/contract/deployment/publisher.d.ts.map +1 -1
  191. package/dist/types/contract/deployment/utils/bootstrap.d.ts +4 -2
  192. package/dist/types/contract/deployment/utils/bootstrap.d.ts.map +1 -1
  193. package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts +12 -0
  194. package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts.map +1 -0
  195. package/dist/types/contract/deployment/zksync/zkDeployCreate2Factory.d.ts +6 -0
  196. package/dist/types/contract/deployment/zksync/zkDeployCreate2Factory.d.ts.map +1 -0
  197. package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts +13 -0
  198. package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts.map +1 -0
  199. package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts +12 -0
  200. package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts.map +1 -0
  201. package/dist/types/exports/extensions/erc4337.d.ts +14 -13
  202. package/dist/types/exports/extensions/erc4337.d.ts.map +1 -1
  203. package/dist/types/exports/extensions/permissions.d.ts +8 -8
  204. package/dist/types/exports/extensions/permissions.d.ts.map +1 -1
  205. package/dist/types/exports/extensions/thirdweb.d.ts +1 -0
  206. package/dist/types/exports/extensions/thirdweb.d.ts.map +1 -1
  207. package/dist/types/extensions/erc4337/account/addAdmin.d.ts +13 -0
  208. package/dist/types/extensions/erc4337/account/addAdmin.d.ts.map +1 -1
  209. package/dist/types/extensions/erc4337/account/addSessionKey.d.ts +13 -0
  210. package/dist/types/extensions/erc4337/account/addSessionKey.d.ts.map +1 -1
  211. package/dist/types/extensions/erc4337/account/removeAdmin.d.ts +13 -0
  212. package/dist/types/extensions/erc4337/account/removeAdmin.d.ts.map +1 -1
  213. package/dist/types/extensions/erc4337/account/removeSessionKey.d.ts +13 -0
  214. package/dist/types/extensions/erc4337/account/removeSessionKey.d.ts.map +1 -1
  215. package/dist/types/extensions/permissions/read/getAllMembers.d.ts +13 -0
  216. package/dist/types/extensions/permissions/read/getAllMembers.d.ts.map +1 -1
  217. package/dist/types/extensions/permissions/read/getRoleAdmin.d.ts +1 -0
  218. package/dist/types/extensions/permissions/read/getRoleAdmin.d.ts.map +1 -1
  219. package/dist/types/extensions/permissions/read/getRoleMember.d.ts +1 -0
  220. package/dist/types/extensions/permissions/read/getRoleMember.d.ts.map +1 -1
  221. package/dist/types/extensions/permissions/read/getRoleMemberCount.d.ts +1 -0
  222. package/dist/types/extensions/permissions/read/getRoleMemberCount.d.ts.map +1 -1
  223. package/dist/types/extensions/permissions/read/hasRole.d.ts +1 -0
  224. package/dist/types/extensions/permissions/read/hasRole.d.ts.map +1 -1
  225. package/dist/types/extensions/permissions/write/{grant.d.ts → grantRole.d.ts} +2 -1
  226. package/dist/types/extensions/permissions/write/grantRole.d.ts.map +1 -0
  227. package/dist/types/extensions/permissions/write/renounceRole.d.ts +1 -0
  228. package/dist/types/extensions/permissions/write/renounceRole.d.ts.map +1 -1
  229. package/dist/types/extensions/permissions/write/revokeRole.d.ts +1 -0
  230. package/dist/types/extensions/permissions/write/revokeRole.d.ts.map +1 -1
  231. package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
  232. package/dist/types/extensions/thirdweb/read/contractType.d.ts +31 -0
  233. package/dist/types/extensions/thirdweb/read/contractType.d.ts.map +1 -0
  234. package/dist/types/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.d.ts +61 -0
  235. package/dist/types/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.d.ts.map +1 -0
  236. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +18 -0
  237. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
  238. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts +6 -5
  239. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  240. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +3 -0
  241. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  242. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  243. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts +28 -7
  244. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
  245. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts +6 -0
  246. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
  247. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.d.ts +0 -1
  248. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.d.ts.map +1 -1
  249. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.d.ts.map +1 -1
  250. package/dist/types/stories/ConnectButton/hideButtons.stories.d.ts +23 -0
  251. package/dist/types/stories/ConnectButton/hideButtons.stories.d.ts.map +1 -0
  252. package/dist/types/stories/{ConnectButton.stories.d.ts → ConnectButton/themes.stories.d.ts} +3 -4
  253. package/dist/types/stories/ConnectButton/themes.stories.d.ts.map +1 -0
  254. package/dist/types/transaction/actions/send-transaction.d.ts.map +1 -1
  255. package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts.map +1 -1
  256. package/dist/types/transaction/extract-error.d.ts.map +1 -1
  257. package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
  258. package/dist/types/utils/any-evm/zksync/computeDeploymentAddress.d.ts +11 -0
  259. package/dist/types/utils/any-evm/zksync/computeDeploymentAddress.d.ts.map +1 -0
  260. package/dist/types/utils/any-evm/zksync/constants.d.ts +29 -0
  261. package/dist/types/utils/any-evm/zksync/constants.d.ts.map +1 -0
  262. package/dist/types/utils/any-evm/zksync/create2Address.d.ts +9 -0
  263. package/dist/types/utils/any-evm/zksync/create2Address.d.ts.map +1 -0
  264. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts +3 -0
  265. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -0
  266. package/dist/types/utils/domains.d.ts +1 -1
  267. package/dist/types/version.d.ts +1 -1
  268. package/dist/types/version.d.ts.map +1 -1
  269. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  270. package/dist/types/wallets/smart/lib/utils.d.ts +0 -2
  271. package/dist/types/wallets/smart/lib/utils.d.ts.map +1 -1
  272. package/package.json +1 -1
  273. package/src/contract/deployment/deploy-via-autofactory.ts +13 -0
  274. package/src/contract/deployment/publisher.ts +5 -0
  275. package/src/contract/deployment/utils/bootstrap.ts +56 -3
  276. package/src/contract/deployment/zksync/zkDeployContract.ts +52 -0
  277. package/src/contract/deployment/zksync/zkDeployCreate2Factory.ts +65 -0
  278. package/src/contract/deployment/zksync/zkDeployDeterministic.ts +106 -0
  279. package/src/contract/deployment/zksync/zkDeployProxy.ts +55 -0
  280. package/src/exports/extensions/erc4337.ts +35 -7
  281. package/src/exports/extensions/permissions.ts +9 -1
  282. package/src/exports/extensions/thirdweb.ts +10 -0
  283. package/src/extensions/erc4337/account/addAdmin.ts +20 -1
  284. package/src/extensions/erc4337/account/addSessionKey.ts +20 -1
  285. package/src/extensions/erc4337/account/removeAdmin.ts +20 -1
  286. package/src/extensions/erc4337/account/removeSessionKey.ts +20 -1
  287. package/src/extensions/permissions/permissions.test.ts +1 -1
  288. package/src/extensions/permissions/read/getAllMembers.ts +30 -2
  289. package/src/extensions/permissions/read/getRoleAdmin.ts +2 -0
  290. package/src/extensions/permissions/read/getRoleMember.ts +2 -0
  291. package/src/extensions/permissions/read/getRoleMemberCount.ts +2 -0
  292. package/src/extensions/permissions/read/hasRole.ts +2 -0
  293. package/src/extensions/permissions/write/{grant.ts → grantRole.ts} +2 -0
  294. package/src/extensions/permissions/write/renounceRole.ts +2 -0
  295. package/src/extensions/permissions/write/revokeRole.ts +2 -0
  296. package/src/extensions/prebuilts/deploy-published.ts +58 -26
  297. package/src/extensions/thirdweb/read/contractType.ts +46 -0
  298. package/src/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.ts +55 -0
  299. package/src/react/core/hooks/connection/ConnectButtonProps.ts +21 -0
  300. package/src/react/web/hooks/transaction/useSendTransaction.tsx +6 -5
  301. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +3 -0
  302. package/src/react/web/ui/ConnectWallet/Details.tsx +108 -73
  303. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +37 -29
  304. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +73 -33
  305. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +37 -2
  306. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.tsx +5 -10
  307. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx +27 -20
  308. package/src/stories/ConnectButton/hideButtons.stories.tsx +83 -0
  309. package/src/stories/{ConnectButton.stories.ts → ConnectButton/themes.stories.tsx} +3 -4
  310. package/src/transaction/actions/send-transaction.ts +11 -0
  311. package/src/transaction/actions/to-serializable-transaction.test.ts +3 -4
  312. package/src/transaction/actions/zksync/getEip721Domain.ts +4 -2
  313. package/src/transaction/actions/zksync/send-eip712-transaction.test.ts +27 -2
  314. package/src/transaction/extract-error.ts +7 -2
  315. package/src/utils/abi/encode-abi-parameters.test.ts +1 -1
  316. package/src/utils/abi/encodeAbiParameters.ts +1 -1
  317. package/src/utils/any-evm/deploy-metadata.ts +11 -2
  318. package/src/utils/any-evm/zksync/computeDeploymentAddress.ts +24 -0
  319. package/src/utils/any-evm/zksync/constants.ts +49 -0
  320. package/src/utils/any-evm/zksync/create2Address.ts +26 -0
  321. package/src/utils/any-evm/zksync/isZkSyncChain.ts +10 -0
  322. package/src/utils/domains.ts +1 -1
  323. package/src/version.ts +1 -1
  324. package/src/wallets/smart/index.ts +2 -3
  325. package/src/wallets/smart/lib/utils.ts +0 -10
  326. package/dist/cjs/extensions/permissions/write/grant.js.map +0 -1
  327. package/dist/cjs/stories/ConnectButton.stories.js.map +0 -1
  328. package/dist/esm/extensions/permissions/write/grant.js.map +0 -1
  329. package/dist/esm/stories/ConnectButton.stories.js.map +0 -1
  330. package/dist/types/extensions/permissions/write/grant.d.ts.map +0 -1
  331. package/dist/types/stories/ConnectButton.stories.d.ts.map +0 -1
@@ -373,6 +373,11 @@ function DetailsModal(props: {
373
373
  const avatarSrc =
374
374
  props.detailsModal?.connectedAccountAvatarUrl ?? ensAvatarQuery.data;
375
375
 
376
+ const { hideSendFunds, hideReceiveFunds, hideBuyFunds } =
377
+ props.detailsModal || {};
378
+
379
+ const hideAllButtons = hideSendFunds && hideReceiveFunds && hideBuyFunds;
380
+
376
381
  const avatarContent = (
377
382
  <Container
378
383
  style={{
@@ -438,7 +443,16 @@ function DetailsModal(props: {
438
443
  let content = (
439
444
  <div>
440
445
  <Spacer y="xs" />
441
- <Container p="lg" gap="sm" flex="row" center="y">
446
+ <Container
447
+ px="lg"
448
+ gap="sm"
449
+ flex="row"
450
+ center="y"
451
+ style={{
452
+ paddingTop: spacing.lg,
453
+ paddingBottom: hideAllButtons ? spacing.md : spacing.lg,
454
+ }}
455
+ >
442
456
  {props.detailsModal?.hideSwitchWallet ? (
443
457
  avatarContent
444
458
  ) : (
@@ -481,81 +495,99 @@ function DetailsModal(props: {
481
495
  <InAppWalletUserInfo client={client} locale={locale} />
482
496
  </Container>
483
497
  </Container>
484
- <Container px="lg">
485
- {/* Send, Receive, Swap */}
486
- <Container
487
- style={{
488
- display: "grid",
489
- gridTemplateColumns: "1fr 1fr 1fr",
490
- gap: spacing.xs,
491
- }}
492
- >
493
- <Button
494
- variant="outline"
495
- style={{
496
- fontSize: fontSize.sm,
497
- display: "flex",
498
- gap: spacing.xs,
499
- alignItems: "center",
500
- padding: spacing.sm,
501
- }}
502
- onClick={() => {
503
- setScreen("send");
504
- }}
505
- >
506
- <Container color="secondaryText" flex="row" center="both">
507
- <PaperPlaneIcon
508
- width={iconSize.sm}
509
- height={iconSize.sm}
510
- style={{
511
- transform: "translateY(-10%) rotate(-45deg) ",
512
- }}
513
- />
514
- </Container>
515
-
516
- {locale.send}
517
- </Button>
518
498
 
519
- <Button
520
- variant="outline"
521
- style={{
522
- fontSize: fontSize.sm,
523
- display: "flex",
524
- gap: spacing.xs,
525
- alignItems: "center",
526
- padding: spacing.sm,
527
- }}
528
- onClick={() => {
529
- setScreen("receive");
530
- }}
531
- >
532
- <Container color="secondaryText" flex="row" center="both">
533
- <PinBottomIcon width={iconSize.sm} height={iconSize.sm} />{" "}
499
+ {!hideAllButtons && (
500
+ <>
501
+ <Container px="lg">
502
+ {/* Send, Receive, Swap */}
503
+ <Container
504
+ style={{
505
+ display: "flex",
506
+ gap: spacing.xs,
507
+ }}
508
+ >
509
+ {!hideSendFunds && (
510
+ <Button
511
+ variant="outline"
512
+ style={{
513
+ fontSize: fontSize.sm,
514
+ display: "flex",
515
+ gap: spacing.xs,
516
+ alignItems: "center",
517
+ padding: spacing.sm,
518
+ flex: 1,
519
+ }}
520
+ onClick={() => {
521
+ setScreen("send");
522
+ }}
523
+ >
524
+ <Container color="secondaryText" flex="row" center="both">
525
+ <PaperPlaneIcon
526
+ width={iconSize.sm}
527
+ height={iconSize.sm}
528
+ style={{
529
+ transform: "translateY(-10%) rotate(-45deg) ",
530
+ }}
531
+ />
532
+ </Container>
533
+
534
+ {locale.send}
535
+ </Button>
536
+ )}
537
+
538
+ {!hideReceiveFunds && (
539
+ <Button
540
+ variant="outline"
541
+ style={{
542
+ fontSize: fontSize.sm,
543
+ display: "flex",
544
+ gap: spacing.xs,
545
+ alignItems: "center",
546
+ padding: spacing.sm,
547
+ flex: 1,
548
+ }}
549
+ onClick={() => {
550
+ setScreen("receive");
551
+ }}
552
+ >
553
+ <Container color="secondaryText" flex="row" center="both">
554
+ <PinBottomIcon
555
+ width={iconSize.sm}
556
+ height={iconSize.sm}
557
+ />{" "}
558
+ </Container>
559
+ {locale.receive}{" "}
560
+ </Button>
561
+ )}
562
+
563
+ {!hideBuyFunds && (
564
+ <Button
565
+ variant="outline"
566
+ style={{
567
+ fontSize: fontSize.sm,
568
+ display: "flex",
569
+ gap: spacing.xs,
570
+ alignItems: "center",
571
+ padding: spacing.sm,
572
+ flex: 1,
573
+ }}
574
+ onClick={() => {
575
+ setScreen("buy");
576
+ }}
577
+ >
578
+ <Container color="secondaryText" flex="row" center="both">
579
+ <PlusIcon width={iconSize.sm} height={iconSize.sm} />
580
+ </Container>
581
+ {locale.buy}
582
+ </Button>
583
+ )}
534
584
  </Container>
535
- {locale.receive}{" "}
536
- </Button>
585
+ </Container>
586
+
587
+ <Spacer y="md" />
588
+ </>
589
+ )}
537
590
 
538
- <Button
539
- variant="outline"
540
- style={{
541
- fontSize: fontSize.sm,
542
- display: "flex",
543
- gap: spacing.xs,
544
- alignItems: "center",
545
- padding: spacing.sm,
546
- }}
547
- onClick={() => {
548
- setScreen("buy");
549
- }}
550
- >
551
- <Container color="secondaryText" flex="row" center="both">
552
- <PlusIcon width={iconSize.sm} height={iconSize.sm} />
553
- </Container>
554
- {locale.buy}
555
- </Button>
556
- </Container>
557
- </Container>
558
- <Spacer y="md" />
559
591
  <Container px="md">
560
592
  <Container
561
593
  flex="column"
@@ -1122,6 +1154,9 @@ export type DetailsModalConnectOptions = {
1122
1154
  chains?: Chain[];
1123
1155
  recommendedWallets?: Wallet[];
1124
1156
  showAllWallets?: boolean;
1157
+ hideSendFunds?: boolean;
1158
+ hideReceiveFunds?: boolean;
1159
+ hideBuyFunds?: boolean;
1125
1160
  };
1126
1161
 
1127
1162
  export type UseWalletDetailsModalOptions = {
@@ -59,7 +59,11 @@ import {
59
59
  type PaymentMethods,
60
60
  useEnabledPaymentMethods,
61
61
  } from "./main/useEnabledPaymentMethods.js";
62
- import { useUISelectionStates } from "./main/useUISelectionStates.js";
62
+ import {
63
+ useFiatCurrencySelectionStates,
64
+ useFromTokenSelectionStates,
65
+ useToTokenSelectionStates,
66
+ } from "./main/useUISelectionStates.js";
63
67
  import { openOnrampPopup } from "./openOnRamppopup.js";
64
68
  import { BuyTokenInput } from "./swap/BuyTokenInput.js";
65
69
  import { FiatFees, SwapFees } from "./swap/Fees.js";
@@ -134,33 +138,26 @@ function BuyScreenContent(props: BuyScreenContentProps) {
134
138
  id: "main",
135
139
  });
136
140
 
137
- const [hasEditedAmount, setHasEditedAmount] = useState(false);
138
-
139
- const onDone = useCallback(() => {
140
- setScreen({ id: "main" });
141
- props.onDone();
142
- }, [props.onDone]);
143
-
144
- // UI selection
145
141
  const {
146
142
  tokenAmount,
147
143
  setTokenAmount,
148
144
  toChain,
149
145
  setToChain,
150
146
  deferredTokenAmount,
151
- fromChain,
152
- setFromChain,
153
147
  toToken,
154
148
  setToToken,
155
- fromToken,
156
- setFromToken,
157
- selectedCurrency,
158
- setSelectedCurrency,
159
- } = useUISelectionStates({
149
+ } = useToTokenSelectionStates({
160
150
  payOptions,
161
151
  supportedDestinations,
162
152
  });
163
153
 
154
+ const [hasEditedAmount, setHasEditedAmount] = useState(false);
155
+
156
+ const onDone = useCallback(() => {
157
+ setScreen({ id: "main" });
158
+ props.onDone();
159
+ }, [props.onDone]);
160
+
164
161
  // check if the screen is expanded or not
165
162
 
166
163
  // update supportedSources whenever toToken or toChain is updated
@@ -186,21 +183,24 @@ function BuyScreenContent(props: BuyScreenContentProps) {
186
183
  }
187
184
 
188
185
  const supportedSources = supportedSourcesQuery.data;
189
- if (supportedSources[0]?.chain) {
190
- setFromChain(supportedSources[0]?.chain);
191
- }
192
186
 
193
187
  return createSupportedTokens(
194
188
  supportedSources,
195
189
  payOptions,
196
190
  props.supportedTokens,
197
191
  );
198
- }, [
199
- props.supportedTokens,
200
- supportedSourcesQuery.data,
201
- payOptions,
202
- setFromChain,
203
- ]);
192
+ }, [props.supportedTokens, supportedSourcesQuery.data, payOptions]);
193
+
194
+ const { fromChain, setFromChain, fromToken, setFromToken } =
195
+ useFromTokenSelectionStates({
196
+ payOptions,
197
+ supportedSources: supportedSourcesQuery.data || [],
198
+ });
199
+
200
+ const { selectedCurrency, setSelectedCurrency } =
201
+ useFiatCurrencySelectionStates({
202
+ payOptions,
203
+ });
204
204
 
205
205
  const enabledPaymentMethods = useEnabledPaymentMethods({
206
206
  payOptions: props.payOptions,
@@ -1081,13 +1081,21 @@ function SwapScreenContent(props: {
1081
1081
 
1082
1082
  function showSwapFlow() {
1083
1083
  if (
1084
- (props.payOptions.mode === "transaction" ||
1085
- props.payOptions.mode === "direct_payment") &&
1084
+ props.payOptions.mode === "direct_payment" &&
1085
+ !isNotEnoughBalance &&
1086
+ !swapRequired
1087
+ ) {
1088
+ // same currency, just direct transfer
1089
+ setScreen({
1090
+ id: "transfer-flow",
1091
+ });
1092
+ } else if (
1093
+ props.payOptions.mode === "transaction" &&
1086
1094
  !isNotEnoughBalance &&
1087
1095
  !swapRequired
1088
1096
  ) {
1089
1097
  if (payer.account.address !== receiverAddress) {
1090
- // same currency, just transfer, but from another wallet
1098
+ // needs transfer from another wallet before executing the transaction
1091
1099
  setScreen({
1092
1100
  id: "transfer-flow",
1093
1101
  });
@@ -1130,7 +1138,7 @@ function SwapScreenContent(props: {
1130
1138
  Fees
1131
1139
  </Text>
1132
1140
  <Spacer y="lg" />
1133
- <SwapFees quote={quoteQuery.data} align="left" />
1141
+ <SwapFees quote={quoteQuery.data} />
1134
1142
  </div>
1135
1143
  )}
1136
1144
  </Drawer>
@@ -15,25 +15,32 @@ import {
15
15
  } from "../fiat/currencies.js";
16
16
  import type { SupportedChainAndTokens } from "../swap/useSwapSupportedChains.js";
17
17
 
18
- // handle states for token and chain selection
18
+ type SupportedSourcesInputData = {
19
+ chain: Chain;
20
+ tokens: {
21
+ address: string;
22
+ buyWithCryptoEnabled: boolean;
23
+ buyWithFiatEnabled: boolean;
24
+ name: string;
25
+ symbol: string;
26
+ }[];
27
+ };
19
28
 
20
- export function useUISelectionStates(options: {
29
+ // handle states for token and chain selection
30
+ export function useToTokenSelectionStates(options: {
21
31
  payOptions: PayUIOptions;
22
32
  supportedDestinations: SupportedChainAndTokens;
23
33
  }) {
24
- const activeChain = useActiveWalletChain();
25
34
  const { payOptions, supportedDestinations } = options;
26
-
35
+ // --------------------------------------------------------------------------
27
36
  // buy token amount ---------------------------------------------------------
28
37
  // NOTE - for transaction / direct payment modes, the token amount is set when the user tap continue
29
38
  const prefillBuy = (payOptions as FundWalletOptions)?.prefillBuy;
39
+ const activeChain = useActiveWalletChain();
30
40
  const initialTokenAmount = prefillBuy?.amount || "";
31
-
32
41
  const [tokenAmount, setTokenAmount] = useState<string>(initialTokenAmount);
33
42
  const deferredTokenAmount = useDebouncedValue(tokenAmount, 300);
34
43
 
35
- // --------------------------------------------------------------------------
36
-
37
44
  // Destination chain and token selection -----------------------------------
38
45
  const [toChain, setToChain] = useState<Chain>(
39
46
  // use prefill chain if available
@@ -52,27 +59,73 @@ export function useUISelectionStates(options: {
52
59
  (payOptions.mode === "direct_payment" && payOptions.paymentInfo.token) ||
53
60
  NATIVE_TOKEN,
54
61
  );
62
+
63
+ return {
64
+ toChain,
65
+ setToChain,
66
+ toToken,
67
+ setToToken,
68
+ tokenAmount,
69
+ setTokenAmount,
70
+ deferredTokenAmount,
71
+ };
72
+ }
73
+
74
+ export function useFromTokenSelectionStates(options: {
75
+ payOptions: PayUIOptions;
76
+ supportedSources: SupportedSourcesInputData[];
77
+ }) {
78
+ const { payOptions, supportedSources } = options;
79
+
55
80
  // --------------------------------------------------------------------------
81
+ const firstSupportedSource = supportedSources?.length
82
+ ? supportedSources[0]
83
+ : undefined;
56
84
 
57
85
  // Source token and chain selection ---------------------------------------------------
58
- const [fromChain, setFromChain] = useState<Chain>(
59
- // use prefill chain if available
86
+ const [fromChain_, setFromChain] = useState<Chain>();
87
+
88
+ // use prefill chain if available
89
+ const fromChainDevSpecified =
60
90
  (payOptions.buyWithCrypto !== false &&
61
91
  payOptions.buyWithCrypto?.prefillSource?.chain) ||
62
- (payOptions.mode === "transaction" && payOptions.transaction?.chain) ||
63
- (payOptions.mode === "direct_payment" && payOptions.paymentInfo?.chain) ||
64
- // default to polygon
65
- polygon,
66
- );
92
+ (payOptions.mode === "transaction" && payOptions.transaction?.chain) ||
93
+ (payOptions.mode === "direct_payment" && payOptions.paymentInfo?.chain);
94
+
95
+ const fromChainFromApi = firstSupportedSource?.chain
96
+ ? firstSupportedSource.chain
97
+ : undefined;
67
98
 
68
- const [fromToken, setFromToken] = useState<ERC20OrNativeToken>(
69
- // use prefill token if available
99
+ const fromChain =
100
+ fromChain_ || fromChainDevSpecified || fromChainFromApi || polygon;
101
+
102
+ const [fromToken_, setFromToken] = useState<ERC20OrNativeToken>();
103
+
104
+ // use prefill token if available
105
+ const fromTokenDevSpecified =
70
106
  (payOptions.buyWithCrypto !== false &&
71
107
  payOptions.buyWithCrypto?.prefillSource?.token) ||
72
- (payOptions.mode === "direct_payment" && payOptions.paymentInfo.token) ||
73
- // default to native token
74
- NATIVE_TOKEN,
75
- );
108
+ (payOptions.mode === "direct_payment" && payOptions.paymentInfo.token);
109
+
110
+ // May be updated in the future
111
+ const fromTokenFromApi = NATIVE_TOKEN;
112
+
113
+ // supported tokens query in here
114
+ const fromToken =
115
+ fromToken_ || fromTokenDevSpecified || fromTokenFromApi || NATIVE_TOKEN;
116
+
117
+ return {
118
+ fromChain,
119
+ setFromChain,
120
+ fromToken,
121
+ setFromToken,
122
+ };
123
+ }
124
+
125
+ export function useFiatCurrencySelectionStates(options: {
126
+ payOptions: PayUIOptions;
127
+ }) {
128
+ const { payOptions } = options;
76
129
 
77
130
  // --------------------------------------------------------------------------
78
131
  const devSpecifiedDefaultCurrency =
@@ -89,20 +142,7 @@ export function useUISelectionStates(options: {
89
142
  );
90
143
 
91
144
  return {
92
- tokenAmount,
93
- setTokenAmount,
94
-
95
- toChain,
96
- setToChain,
97
- deferredTokenAmount,
98
- fromChain,
99
- setFromChain,
100
- toToken,
101
- setToToken,
102
- fromToken,
103
- setFromToken,
104
145
  selectedCurrency,
105
-
106
146
  setSelectedCurrency,
107
147
  };
108
148
  }
@@ -27,7 +27,6 @@ import type { ERC20OrNativeToken } from "../../nativeToken.js";
27
27
  import { PayTokenIcon } from "../PayTokenIcon.js";
28
28
  import { Step } from "../Stepper.js";
29
29
  import type { PayerInfo } from "../types.js";
30
- import { SwapFees } from "./Fees.js";
31
30
  import { formatSeconds } from "./formatSeconds.js";
32
31
  import { addPendingTx } from "./pendingSwapTx.js";
33
32
 
@@ -111,7 +110,7 @@ export function SwapConfirmationScreen(props: {
111
110
 
112
111
  {/* Fees */}
113
112
  <ConfirmItem label="Fees">
114
- <SwapFees quote={props.quote} align="right" />
113
+ <SwapFeesRightAligned quote={props.quote} />
115
114
  </ConfirmItem>
116
115
 
117
116
  {/* Time */}
@@ -329,3 +328,39 @@ function ConfirmItem(props: {
329
328
  </>
330
329
  );
331
330
  }
331
+
332
+ /**
333
+ * @internal
334
+ */
335
+ export function SwapFeesRightAligned(props: {
336
+ quote: BuyWithCryptoQuote;
337
+ }) {
338
+ return (
339
+ <Container
340
+ flex="column"
341
+ gap="xs"
342
+ style={{
343
+ alignItems: "flex-end",
344
+ }}
345
+ >
346
+ {props.quote.processingFees.map((fee) => {
347
+ const feeAmount = formatNumber(Number(fee.amount), 6);
348
+ return (
349
+ <Container
350
+ key={`${fee.token.chainId}_${fee.token.tokenAddress}_${feeAmount}`}
351
+ flex="row"
352
+ gap="xxs"
353
+ >
354
+ <Text color="primaryText" size="sm">
355
+ {feeAmount === 0 ? "~" : ""}
356
+ {feeAmount} {fee.token.symbol}
357
+ </Text>
358
+ <Text color="secondaryText" size="sm">
359
+ (${(fee.amountUSDCents / 100).toFixed(2)})
360
+ </Text>
361
+ </Container>
362
+ );
363
+ })}
364
+ </Container>
365
+ );
366
+ }
@@ -10,14 +10,13 @@ import { Text } from "../../../../components/text.js";
10
10
  */
11
11
  export function SwapFees(props: {
12
12
  quote: BuyWithCryptoQuote;
13
- align: "left" | "right";
14
13
  }) {
15
14
  return (
16
15
  <Container
17
16
  flex="column"
18
17
  gap="xs"
19
18
  style={{
20
- alignItems: props.align === "right" ? "flex-end" : "flex-start",
19
+ alignItems: "flex-start",
21
20
  }}
22
21
  >
23
22
  {props.quote.processingFees.map((fee) => {
@@ -25,19 +24,15 @@ export function SwapFees(props: {
25
24
  return (
26
25
  <Container
27
26
  key={`${fee.token.chainId}_${fee.token.tokenAddress}_${feeAmount}`}
28
- flex="column"
27
+ flex="row"
29
28
  gap="xxs"
30
29
  >
31
- <Text color="primaryText" size="sm" style={{ textAlign: "right" }}>
30
+ <Text color="primaryText" size="sm">
32
31
  {feeAmount === 0 ? "~" : ""}
33
32
  {feeAmount} {fee.token.symbol}
34
33
  </Text>
35
- <Text
36
- color="secondaryText"
37
- size="xs"
38
- style={{ textAlign: "right" }}
39
- >
40
- ${(fee.amountUSDCents / 100).toFixed(2)}
34
+ <Text color="secondaryText" size="sm">
35
+ (${(fee.amountUSDCents / 100).toFixed(2)})
41
36
  </Text>
42
37
  </Container>
43
38
  );