thirdweb 5.67.1-nightly-040e478ad6cf630dedf666eac7abeb668d323666-20241113000339 → 5.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/cjs/adapters/eip1193/from-eip1193.js +149 -0
  2. package/dist/cjs/adapters/eip1193/from-eip1193.js.map +1 -0
  3. package/dist/cjs/adapters/eip1193/index.js +8 -0
  4. package/dist/cjs/adapters/eip1193/index.js.map +1 -0
  5. package/dist/cjs/adapters/eip1193/to-eip1193.js +122 -0
  6. package/dist/cjs/adapters/eip1193/to-eip1193.js.map +1 -0
  7. package/dist/cjs/adapters/eip1193/types.js +3 -0
  8. package/dist/cjs/adapters/eip1193/types.js.map +1 -0
  9. package/dist/cjs/exports/wallets.js +3 -1
  10. package/dist/cjs/exports/wallets.js.map +1 -1
  11. package/dist/cjs/exports/wallets.native.js +3 -1
  12. package/dist/cjs/exports/wallets.native.js.map +1 -1
  13. package/dist/cjs/react/core/hooks/wallets/useAdminWallet.js +1 -0
  14. package/dist/cjs/react/core/hooks/wallets/useAdminWallet.js.map +1 -1
  15. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +6 -7
  16. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  17. package/dist/cjs/react/web/wallets/shared/CoinbaseSDKConnection.js +2 -2
  18. package/dist/cjs/react/web/wallets/shared/CoinbaseSDKConnection.js.map +1 -1
  19. package/dist/cjs/transaction/actions/to-serializable-transaction.js +18 -0
  20. package/dist/cjs/transaction/actions/to-serializable-transaction.js.map +1 -1
  21. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +61 -43
  22. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  23. package/dist/cjs/utils/bigint.js +11 -0
  24. package/dist/cjs/utils/bigint.js.map +1 -1
  25. package/dist/cjs/version.js +1 -1
  26. package/dist/cjs/version.js.map +1 -1
  27. package/dist/cjs/wallets/__generated__/getWalletInfo.js +23 -3
  28. package/dist/cjs/wallets/__generated__/getWalletInfo.js.map +1 -1
  29. package/dist/cjs/wallets/__generated__/wallet/com.blazpay.wallet/image.js +7 -0
  30. package/dist/cjs/wallets/__generated__/wallet/com.blazpay.wallet/image.js.map +1 -0
  31. package/dist/cjs/wallets/__generated__/wallet/com.blazpay.wallet/index.js +34 -0
  32. package/dist/cjs/wallets/__generated__/wallet/com.blazpay.wallet/index.js.map +1 -0
  33. package/dist/cjs/wallets/__generated__/wallet/com.crypto.wallet/image.js.map +1 -0
  34. package/dist/cjs/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/index.js +3 -3
  35. package/dist/cjs/wallets/__generated__/wallet/com.crypto.wallet/index.js.map +1 -0
  36. package/dist/cjs/wallets/__generated__/wallet/com.okex.wallet/index.js +1 -1
  37. package/dist/cjs/wallets/__generated__/wallet/com.okex.wallet/index.js.map +1 -1
  38. package/dist/cjs/wallets/__generated__/wallet/com.tomi/image.js +1 -1
  39. package/dist/cjs/wallets/__generated__/wallet/com.tomi/image.js.map +1 -1
  40. package/dist/cjs/wallets/__generated__/wallet/com.tomi/index.js +2 -2
  41. package/dist/cjs/wallets/__generated__/wallet/com.tomi/index.js.map +1 -1
  42. package/dist/cjs/wallets/__generated__/wallet/com.walletconnect.com/image.js +1 -1
  43. package/dist/cjs/wallets/__generated__/wallet/com.walletconnect.com/image.js.map +1 -1
  44. package/dist/cjs/wallets/__generated__/wallet/com.walletconnect.com/index.js +1 -1
  45. package/dist/cjs/wallets/__generated__/wallet/net.myrenegade/index.js +1 -1
  46. package/dist/cjs/wallets/__generated__/wallet/net.myrenegade/index.js.map +1 -1
  47. package/dist/cjs/wallets/__generated__/wallet/nl.greenhood.wallet/image.js +7 -0
  48. package/dist/cjs/wallets/__generated__/wallet/nl.greenhood.wallet/image.js.map +1 -0
  49. package/dist/cjs/wallets/__generated__/wallet/nl.greenhood.wallet/index.js +34 -0
  50. package/dist/cjs/wallets/__generated__/wallet/nl.greenhood.wallet/index.js.map +1 -0
  51. package/dist/cjs/wallets/__generated__/wallet/social.gm2/image.js +7 -0
  52. package/dist/cjs/wallets/__generated__/wallet/{com.crypto → social.gm2}/image.js.map +1 -1
  53. package/dist/cjs/wallets/__generated__/wallet/social.gm2/index.js +34 -0
  54. package/dist/cjs/wallets/__generated__/wallet/social.gm2/index.js.map +1 -0
  55. package/dist/cjs/wallets/__generated__/wallet/xyz.abs/image.js +7 -0
  56. package/dist/cjs/wallets/__generated__/wallet/xyz.abs/image.js.map +1 -0
  57. package/dist/cjs/wallets/__generated__/wallet/xyz.abs/index.js +34 -0
  58. package/dist/cjs/wallets/__generated__/wallet/xyz.abs/index.js.map +1 -0
  59. package/dist/cjs/wallets/__generated__/wallet-infos.js +22 -2
  60. package/dist/cjs/wallets/__generated__/wallet-infos.js.map +1 -1
  61. package/dist/cjs/wallets/create-wallet.js +12 -4
  62. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  63. package/dist/cjs/wallets/injected/index.js +55 -30
  64. package/dist/cjs/wallets/injected/index.js.map +1 -1
  65. package/dist/esm/adapters/eip1193/from-eip1193.js +146 -0
  66. package/dist/esm/adapters/eip1193/from-eip1193.js.map +1 -0
  67. package/dist/esm/adapters/eip1193/index.js +3 -0
  68. package/dist/esm/adapters/eip1193/index.js.map +1 -0
  69. package/dist/esm/adapters/eip1193/to-eip1193.js +119 -0
  70. package/dist/esm/adapters/eip1193/to-eip1193.js.map +1 -0
  71. package/dist/esm/adapters/eip1193/types.js +2 -0
  72. package/dist/esm/adapters/eip1193/types.js.map +1 -0
  73. package/dist/esm/exports/wallets.js +2 -0
  74. package/dist/esm/exports/wallets.js.map +1 -1
  75. package/dist/esm/exports/wallets.native.js +2 -0
  76. package/dist/esm/exports/wallets.native.js.map +1 -1
  77. package/dist/esm/react/core/hooks/wallets/useAdminWallet.js +1 -0
  78. package/dist/esm/react/core/hooks/wallets/useAdminWallet.js.map +1 -1
  79. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +6 -7
  80. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  81. package/dist/esm/react/web/wallets/shared/CoinbaseSDKConnection.js +2 -2
  82. package/dist/esm/react/web/wallets/shared/CoinbaseSDKConnection.js.map +1 -1
  83. package/dist/esm/transaction/actions/to-serializable-transaction.js +18 -0
  84. package/dist/esm/transaction/actions/to-serializable-transaction.js.map +1 -1
  85. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +62 -45
  86. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  87. package/dist/esm/utils/bigint.js +9 -0
  88. package/dist/esm/utils/bigint.js.map +1 -1
  89. package/dist/esm/version.js +1 -1
  90. package/dist/esm/version.js.map +1 -1
  91. package/dist/esm/wallets/__generated__/getWalletInfo.js +23 -3
  92. package/dist/esm/wallets/__generated__/getWalletInfo.js.map +1 -1
  93. package/dist/esm/wallets/__generated__/wallet/com.blazpay.wallet/image.js +5 -0
  94. package/dist/esm/wallets/__generated__/wallet/com.blazpay.wallet/image.js.map +1 -0
  95. package/dist/esm/wallets/__generated__/wallet/com.blazpay.wallet/index.js +31 -0
  96. package/dist/esm/wallets/__generated__/wallet/com.blazpay.wallet/index.js.map +1 -0
  97. package/dist/esm/wallets/__generated__/wallet/com.crypto.wallet/image.js.map +1 -0
  98. package/dist/esm/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/index.js +3 -3
  99. package/dist/esm/wallets/__generated__/wallet/com.crypto.wallet/index.js.map +1 -0
  100. package/dist/esm/wallets/__generated__/wallet/com.okex.wallet/index.js +1 -1
  101. package/dist/esm/wallets/__generated__/wallet/com.okex.wallet/index.js.map +1 -1
  102. package/dist/esm/wallets/__generated__/wallet/com.tomi/image.js +1 -1
  103. package/dist/esm/wallets/__generated__/wallet/com.tomi/image.js.map +1 -1
  104. package/dist/esm/wallets/__generated__/wallet/com.tomi/index.js +2 -2
  105. package/dist/esm/wallets/__generated__/wallet/com.tomi/index.js.map +1 -1
  106. package/dist/esm/wallets/__generated__/wallet/com.walletconnect.com/image.js +1 -1
  107. package/dist/esm/wallets/__generated__/wallet/com.walletconnect.com/image.js.map +1 -1
  108. package/dist/esm/wallets/__generated__/wallet/com.walletconnect.com/index.js +1 -1
  109. package/dist/esm/wallets/__generated__/wallet/net.myrenegade/index.js +1 -1
  110. package/dist/esm/wallets/__generated__/wallet/net.myrenegade/index.js.map +1 -1
  111. package/dist/esm/wallets/__generated__/wallet/nl.greenhood.wallet/image.js +5 -0
  112. package/dist/esm/wallets/__generated__/wallet/nl.greenhood.wallet/image.js.map +1 -0
  113. package/dist/esm/wallets/__generated__/wallet/nl.greenhood.wallet/index.js +31 -0
  114. package/dist/esm/wallets/__generated__/wallet/nl.greenhood.wallet/index.js.map +1 -0
  115. package/dist/esm/wallets/__generated__/wallet/social.gm2/image.js +5 -0
  116. package/dist/esm/wallets/__generated__/wallet/{com.crypto → social.gm2}/image.js.map +1 -1
  117. package/dist/esm/wallets/__generated__/wallet/social.gm2/index.js +31 -0
  118. package/dist/esm/wallets/__generated__/wallet/social.gm2/index.js.map +1 -0
  119. package/dist/esm/wallets/__generated__/wallet/xyz.abs/image.js +5 -0
  120. package/dist/esm/wallets/__generated__/wallet/xyz.abs/image.js.map +1 -0
  121. package/dist/esm/wallets/__generated__/wallet/xyz.abs/index.js +31 -0
  122. package/dist/esm/wallets/__generated__/wallet/xyz.abs/index.js.map +1 -0
  123. package/dist/esm/wallets/__generated__/wallet-infos.js +22 -2
  124. package/dist/esm/wallets/__generated__/wallet-infos.js.map +1 -1
  125. package/dist/esm/wallets/create-wallet.js +12 -4
  126. package/dist/esm/wallets/create-wallet.js.map +1 -1
  127. package/dist/esm/wallets/injected/index.js +53 -28
  128. package/dist/esm/wallets/injected/index.js.map +1 -1
  129. package/dist/types/adapters/eip1193/from-eip1193.d.ts +48 -0
  130. package/dist/types/adapters/eip1193/from-eip1193.d.ts.map +1 -0
  131. package/dist/types/adapters/eip1193/index.d.ts +4 -0
  132. package/dist/types/adapters/eip1193/index.d.ts.map +1 -0
  133. package/dist/types/adapters/eip1193/to-eip1193.d.ts +48 -0
  134. package/dist/types/adapters/eip1193/to-eip1193.d.ts.map +1 -0
  135. package/dist/types/adapters/eip1193/types.d.ts +6 -0
  136. package/dist/types/adapters/eip1193/types.d.ts.map +1 -0
  137. package/dist/types/analytics/track/transaction.d.ts +1 -1
  138. package/dist/types/analytics/track/transaction.d.ts.map +1 -1
  139. package/dist/types/exports/wallets.d.ts +1 -0
  140. package/dist/types/exports/wallets.d.ts.map +1 -1
  141. package/dist/types/exports/wallets.native.d.ts +1 -0
  142. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  143. package/dist/types/react/core/hooks/wallets/useAdminWallet.d.ts +1 -0
  144. package/dist/types/react/core/hooks/wallets/useAdminWallet.d.ts.map +1 -1
  145. package/dist/types/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.d.ts.map +1 -1
  146. package/dist/types/react/web/wallets/shared/CoinbaseSDKConnection.d.ts +3 -4
  147. package/dist/types/react/web/wallets/shared/CoinbaseSDKConnection.d.ts.map +1 -1
  148. package/dist/types/transaction/actions/to-serializable-transaction.d.ts.map +1 -1
  149. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts +10 -0
  150. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
  151. package/dist/types/utils/bigint.d.ts +6 -0
  152. package/dist/types/utils/bigint.d.ts.map +1 -1
  153. package/dist/types/version.d.ts +1 -1
  154. package/dist/types/version.d.ts.map +1 -1
  155. package/dist/types/wallets/__generated__/getWalletInfo.d.ts.map +1 -1
  156. package/dist/types/wallets/__generated__/wallet/com.blazpay.wallet/image.d.ts +3 -0
  157. package/dist/types/wallets/__generated__/wallet/com.blazpay.wallet/image.d.ts.map +1 -0
  158. package/dist/types/wallets/__generated__/wallet/com.blazpay.wallet/index.d.ts +29 -0
  159. package/dist/types/wallets/__generated__/wallet/com.blazpay.wallet/index.d.ts.map +1 -0
  160. package/dist/types/wallets/__generated__/wallet/com.crypto.wallet/image.d.ts.map +1 -0
  161. package/dist/types/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/index.d.ts +3 -3
  162. package/dist/types/wallets/__generated__/wallet/com.crypto.wallet/index.d.ts.map +1 -0
  163. package/dist/types/wallets/__generated__/wallet/com.okex.wallet/index.d.ts +1 -1
  164. package/dist/types/wallets/__generated__/wallet/com.tomi/image.d.ts +1 -1
  165. package/dist/types/wallets/__generated__/wallet/com.tomi/image.d.ts.map +1 -1
  166. package/dist/types/wallets/__generated__/wallet/com.tomi/index.d.ts +2 -2
  167. package/dist/types/wallets/__generated__/wallet/com.walletconnect.com/image.d.ts +1 -1
  168. package/dist/types/wallets/__generated__/wallet/com.walletconnect.com/image.d.ts.map +1 -1
  169. package/dist/types/wallets/__generated__/wallet/com.walletconnect.com/index.d.ts +1 -1
  170. package/dist/types/wallets/__generated__/wallet/net.myrenegade/index.d.ts +1 -1
  171. package/dist/types/wallets/__generated__/wallet/nl.greenhood.wallet/image.d.ts +3 -0
  172. package/dist/types/wallets/__generated__/wallet/nl.greenhood.wallet/image.d.ts.map +1 -0
  173. package/dist/types/wallets/__generated__/wallet/nl.greenhood.wallet/index.d.ts +29 -0
  174. package/dist/types/wallets/__generated__/wallet/nl.greenhood.wallet/index.d.ts.map +1 -0
  175. package/dist/types/wallets/__generated__/wallet/social.gm2/image.d.ts +3 -0
  176. package/dist/types/wallets/__generated__/wallet/social.gm2/image.d.ts.map +1 -0
  177. package/dist/types/wallets/__generated__/wallet/social.gm2/index.d.ts +29 -0
  178. package/dist/types/wallets/__generated__/wallet/{com.crypto → social.gm2}/index.d.ts.map +1 -1
  179. package/dist/types/wallets/__generated__/wallet/xyz.abs/image.d.ts +3 -0
  180. package/dist/types/wallets/__generated__/wallet/xyz.abs/image.d.ts.map +1 -0
  181. package/dist/types/wallets/__generated__/wallet/xyz.abs/index.d.ts +29 -0
  182. package/dist/types/wallets/__generated__/wallet/xyz.abs/index.d.ts.map +1 -0
  183. package/dist/types/wallets/__generated__/wallet-ids.d.ts +2 -2
  184. package/dist/types/wallets/__generated__/wallet-ids.d.ts.map +1 -1
  185. package/dist/types/wallets/__generated__/wallet-infos.d.ts +18 -2
  186. package/dist/types/wallets/__generated__/wallet-infos.d.ts.map +1 -1
  187. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  188. package/dist/types/wallets/getAllWalletsList.d.ts +18 -2
  189. package/dist/types/wallets/getAllWalletsList.d.ts.map +1 -1
  190. package/dist/types/wallets/injected/index.d.ts +15 -8
  191. package/dist/types/wallets/injected/index.d.ts.map +1 -1
  192. package/package.json +1 -1
  193. package/src/adapters/eip1193/from-eip1193.test.ts +138 -0
  194. package/src/adapters/eip1193/from-eip1193.ts +171 -0
  195. package/src/adapters/eip1193/index.ts +11 -0
  196. package/src/adapters/eip1193/to-eip1193.test.ts +187 -0
  197. package/src/adapters/eip1193/to-eip1193.ts +132 -0
  198. package/src/adapters/eip1193/types.ts +9 -0
  199. package/src/analytics/track/transaction.ts +1 -1
  200. package/src/exports/wallets.native.ts +3 -0
  201. package/src/exports/wallets.ts +3 -0
  202. package/src/react/core/hooks/wallets/useAdminWallet.ts +1 -0
  203. package/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx +21 -22
  204. package/src/react/web/wallets/shared/CoinbaseSDKConnection.tsx +3 -4
  205. package/src/transaction/actions/to-serializable-transaction.ts +21 -0
  206. package/src/transaction/actions/zksync/send-eip712-transaction.ts +78 -53
  207. package/src/utils/bigint.ts +41 -0
  208. package/src/version.ts +1 -1
  209. package/src/wallets/__generated__/getWalletInfo.ts +39 -3
  210. package/src/wallets/__generated__/wallet/com.blazpay.wallet/image.ts +7 -0
  211. package/src/wallets/__generated__/wallet/com.blazpay.wallet/index.ts +32 -0
  212. package/src/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/index.ts +4 -3
  213. package/src/wallets/__generated__/wallet/com.okex.wallet/index.ts +1 -1
  214. package/src/wallets/__generated__/wallet/com.tomi/image.ts +1 -1
  215. package/src/wallets/__generated__/wallet/com.tomi/index.ts +2 -2
  216. package/src/wallets/__generated__/wallet/com.walletconnect.com/image.ts +1 -1
  217. package/src/wallets/__generated__/wallet/com.walletconnect.com/index.ts +1 -1
  218. package/src/wallets/__generated__/wallet/net.myrenegade/index.ts +1 -1
  219. package/src/wallets/__generated__/wallet/nl.greenhood.wallet/image.ts +7 -0
  220. package/src/wallets/__generated__/wallet/nl.greenhood.wallet/index.ts +32 -0
  221. package/src/wallets/__generated__/wallet/social.gm2/image.ts +7 -0
  222. package/src/wallets/__generated__/wallet/social.gm2/index.ts +32 -0
  223. package/src/wallets/__generated__/wallet/xyz.abs/image.ts +7 -0
  224. package/src/wallets/__generated__/wallet/xyz.abs/index.ts +31 -0
  225. package/src/wallets/__generated__/wallet-ids.ts +11 -5
  226. package/src/wallets/__generated__/wallet-infos.ts +22 -2
  227. package/src/wallets/create-wallet.ts +11 -8
  228. package/src/wallets/injected/index.ts +75 -42
  229. package/dist/cjs/wallets/__generated__/wallet/com.crypto/index.js.map +0 -1
  230. package/dist/esm/wallets/__generated__/wallet/com.crypto/index.js.map +0 -1
  231. package/dist/types/wallets/__generated__/wallet/com.crypto/image.d.ts.map +0 -1
  232. /package/dist/cjs/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/image.js +0 -0
  233. /package/dist/esm/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/image.js +0 -0
  234. /package/dist/types/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/image.d.ts +0 -0
  235. /package/src/wallets/__generated__/wallet/{com.crypto → com.crypto.wallet}/image.ts +0 -0
@@ -95,7 +95,7 @@ const ALL_MINIMAL_WALLET_INFOS = (<const>[
95
95
  hasMobileSupport: true,
96
96
  },
97
97
  {
98
- id: "com.crypto",
98
+ id: "com.crypto.wallet",
99
99
  name: "Crypto.com | DeFi Wallet",
100
100
  hasMobileSupport: true,
101
101
  },
@@ -906,7 +906,7 @@ const ALL_MINIMAL_WALLET_INFOS = (<const>[
906
906
  },
907
907
  {
908
908
  id: "com.tomi",
909
- name: "tomiPAY",
909
+ name: "tomi Wallet",
910
910
  hasMobileSupport: true,
911
911
  },
912
912
  {
@@ -1814,6 +1814,16 @@ const ALL_MINIMAL_WALLET_INFOS = (<const>[
1814
1814
  name: "Plumaa ID",
1815
1815
  hasMobileSupport: true,
1816
1816
  },
1817
+ {
1818
+ id: "social.gm2",
1819
+ name: "GM² Social",
1820
+ hasMobileSupport: true,
1821
+ },
1822
+ {
1823
+ id: "nl.greenhood.wallet",
1824
+ name: "Greenhood",
1825
+ hasMobileSupport: true,
1826
+ },
1817
1827
  {
1818
1828
  id: "com.coinbase.wallet",
1819
1829
  name: "Coinbase Wallet",
@@ -1889,6 +1899,11 @@ const ALL_MINIMAL_WALLET_INFOS = (<const>[
1889
1899
  name: "Nightly",
1890
1900
  hasMobileSupport: false,
1891
1901
  },
1902
+ {
1903
+ id: "com.blazpay.wallet",
1904
+ name: "Blazpay",
1905
+ hasMobileSupport: false,
1906
+ },
1892
1907
  {
1893
1908
  id: "com.lootrush",
1894
1909
  name: "LootRush",
@@ -1904,6 +1919,11 @@ const ALL_MINIMAL_WALLET_INFOS = (<const>[
1904
1919
  name: "Dawn Wallet",
1905
1920
  hasMobileSupport: false,
1906
1921
  },
1922
+ {
1923
+ id: "xyz.abs",
1924
+ name: "Abstract Global Wallet",
1925
+ hasMobileSupport: false,
1926
+ },
1907
1927
  {
1908
1928
  id: "smart",
1909
1929
  name: "Smart Wallet",
@@ -7,7 +7,6 @@ import type { Account, Wallet } from "./interfaces/wallet.js";
7
7
  import type {
8
8
  CreateWalletArgs,
9
9
  EcosystemWalletId,
10
- InjectedConnectOptions,
11
10
  WalletAutoConnectionOption,
12
11
  WalletId,
13
12
  } from "./wallet-types.js";
@@ -23,6 +22,7 @@ import { COINBASE } from "./constants.js";
23
22
  import { isEcosystemWallet } from "./ecosystem/is-ecosystem-wallet.js";
24
23
  import { ecosystemWallet } from "./in-app/web/ecosystem.js";
25
24
  import { inAppWallet } from "./in-app/web/in-app.js";
25
+ import { getInjectedProvider } from "./injected/index.js";
26
26
  import { smartWallet } from "./smart/smart-wallet.js";
27
27
  import type { WCConnectOptions } from "./wallet-connect/types.js";
28
28
  import { createWalletEmitter } from "./wallet-emitter.js";
@@ -226,7 +226,7 @@ export function createWallet<const ID extends WalletId>(
226
226
  const { injectedProvider } = await import("./injected/mipdStore.js");
227
227
  // injected wallet priority for autoConnect
228
228
  if (id !== "walletConnect" && injectedProvider(id)) {
229
- const { autoConnectInjectedWallet } = await import(
229
+ const { autoConnectEip1193Wallet } = await import(
230
230
  "./injected/index.js"
231
231
  );
232
232
 
@@ -235,8 +235,9 @@ export function createWallet<const ID extends WalletId>(
235
235
  connectedChain,
236
236
  doDisconnect,
237
237
  doSwitchChain,
238
- ] = await autoConnectInjectedWallet({
238
+ ] = await autoConnectEip1193Wallet({
239
239
  id: id as InjectedSupportedWalletIds,
240
+ provider: getInjectedProvider(id),
240
241
  emitter,
241
242
  chain: options.chain,
242
243
  client: options.client,
@@ -339,7 +340,7 @@ export function createWallet<const ID extends WalletId>(
339
340
 
340
341
  const { injectedProvider } = await import("./injected/mipdStore.js");
341
342
  if (injectedProvider(id) && !forceWalletConnectOption) {
342
- const { connectInjectedWallet } = await import(
343
+ const { connectEip1193Wallet } = await import(
343
344
  "./injected/index.js"
344
345
  );
345
346
 
@@ -348,11 +349,13 @@ export function createWallet<const ID extends WalletId>(
348
349
  connectedChain,
349
350
  doDisconnect,
350
351
  doSwitchChain,
351
- ] = await connectInjectedWallet(
352
- id as InjectedSupportedWalletIds,
353
- options as InjectedConnectOptions,
352
+ ] = await connectEip1193Wallet({
353
+ id: id as InjectedSupportedWalletIds,
354
+ provider: getInjectedProvider(id),
355
+ client: options.client,
356
+ chain: options.chain,
354
357
  emitter,
355
- );
358
+ });
356
359
  // set the states
357
360
  account = connectedAccount;
358
361
  chain = connectedChain;
@@ -1,4 +1,4 @@
1
- import type { Address } from "abitype";
1
+ import type { EIP1193Provider } from "viem";
2
2
  import {
3
3
  type SignTypedDataParameters,
4
4
  getTypesForEIP712Domain,
@@ -18,13 +18,12 @@ import {
18
18
  } from "../../utils/encoding/hex.js";
19
19
  import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js";
20
20
  import type { InjectedSupportedWalletIds } from "../__generated__/wallet-ids.js";
21
- import type { Ethereum } from "../interfaces/ethereum.js";
22
21
  import type { Account, SendTransactionOption } from "../interfaces/wallet.js";
23
22
  import type { DisconnectFn, SwitchChainFn } from "../types.js";
24
23
  import { getValidPublicRPCUrl } from "../utils/chains.js";
25
24
  import { normalizeChainId } from "../utils/normalizeChainId.js";
26
25
  import type { WalletEmitter } from "../wallet-emitter.js";
27
- import type { InjectedConnectOptions, WalletId } from "../wallet-types.js";
26
+ import type { WalletId } from "../wallet-types.js";
28
27
  import { injectedProvider } from "./mipdStore.js";
29
28
 
30
29
  // TODO: save the provider in data
@@ -40,19 +39,38 @@ export function getInjectedProvider(walletId: WalletId) {
40
39
  /**
41
40
  * @internal
42
41
  */
43
- export async function connectInjectedWallet(
44
- id: InjectedSupportedWalletIds,
45
- options: InjectedConnectOptions,
46
- emitter: WalletEmitter<InjectedSupportedWalletIds>,
47
- ): Promise<ReturnType<typeof onConnect>> {
48
- const provider = getInjectedProvider(id);
49
- const addresses = await provider.request({
50
- method: "eth_requestAccounts",
51
- });
42
+ export async function connectEip1193Wallet({
43
+ id,
44
+ provider,
45
+ emitter,
46
+ client,
47
+ chain,
48
+ }: {
49
+ id: InjectedSupportedWalletIds | ({} & string);
50
+ provider: EIP1193Provider;
51
+ client: ThirdwebClient;
52
+ chain?: Chain;
53
+ emitter: WalletEmitter<InjectedSupportedWalletIds>;
54
+ }): Promise<ReturnType<typeof onConnect>> {
55
+ let addresses: string[] | undefined;
56
+ const retries = 3;
57
+ let attempts = 0;
58
+ // retry 3 times, some providers take a while to return accounts on connect
59
+ while (!addresses?.[0] && attempts < retries) {
60
+ try {
61
+ addresses = await provider.request({
62
+ method: "eth_requestAccounts",
63
+ });
64
+ } catch (e) {
65
+ console.error(e);
66
+ await new Promise((resolve) => setTimeout(resolve, 500));
67
+ }
68
+ attempts++;
69
+ }
52
70
 
53
- const addr = addresses[0];
71
+ const addr = addresses?.[0];
54
72
  if (!addr) {
55
- throw new Error("no accounts available");
73
+ throw new Error("Failed to connect to wallet, no accounts available");
56
74
  }
57
75
 
58
76
  // use the first account
@@ -64,14 +82,12 @@ export async function connectInjectedWallet(
64
82
  .then(normalizeChainId);
65
83
 
66
84
  let connectedChain =
67
- options.chain && options.chain.id === chainId
68
- ? options.chain
69
- : getCachedChain(chainId);
85
+ chain && chain.id === chainId ? chain : getCachedChain(chainId);
70
86
 
71
87
  // if we want a specific chainId and it is not the same as the provider chainId, trigger switchChain
72
- if (options.chain && options.chain.id !== chainId) {
73
- await switchChain(provider, options.chain);
74
- connectedChain = options.chain;
88
+ if (chain && chain.id !== chainId) {
89
+ await switchChain(provider, chain);
90
+ connectedChain = chain;
75
91
  }
76
92
 
77
93
  return onConnect({
@@ -79,7 +95,7 @@ export async function connectInjectedWallet(
79
95
  address,
80
96
  chain: connectedChain,
81
97
  emitter,
82
- client: options.client,
98
+ client,
83
99
  id,
84
100
  });
85
101
  }
@@ -87,19 +103,19 @@ export async function connectInjectedWallet(
87
103
  /**
88
104
  * @internal
89
105
  */
90
- export async function autoConnectInjectedWallet({
106
+ export async function autoConnectEip1193Wallet({
91
107
  id,
108
+ provider,
92
109
  emitter,
93
110
  client,
94
111
  chain,
95
112
  }: {
96
- id: InjectedSupportedWalletIds;
113
+ id: InjectedSupportedWalletIds | ({} & string);
114
+ provider: EIP1193Provider;
97
115
  emitter: WalletEmitter<InjectedSupportedWalletIds>;
98
116
  client: ThirdwebClient;
99
117
  chain?: Chain;
100
118
  }): Promise<ReturnType<typeof onConnect>> {
101
- const provider = getInjectedProvider(id);
102
-
103
119
  // connected accounts
104
120
  const addresses = await provider.request({
105
121
  method: "eth_accounts",
@@ -107,7 +123,7 @@ export async function autoConnectInjectedWallet({
107
123
 
108
124
  const addr = addresses[0];
109
125
  if (!addr) {
110
- throw new Error("no accounts available");
126
+ throw new Error("Failed to connect to wallet, no accounts available");
111
127
  }
112
128
 
113
129
  // use the first account
@@ -137,27 +153,44 @@ function createAccount({
137
153
  client,
138
154
  id,
139
155
  }: {
140
- provider: Ethereum;
156
+ provider: EIP1193Provider;
141
157
  address: string;
142
158
  client: ThirdwebClient;
143
- id: WalletId;
159
+ id: WalletId | ({} & string);
144
160
  }) {
145
161
  const account: Account = {
146
162
  address: getAddress(address),
147
163
  async sendTransaction(tx: SendTransactionOption) {
164
+ const gasFees = tx.gasPrice
165
+ ? {
166
+ gasPrice: tx.gasPrice ? numberToHex(tx.gasPrice) : undefined,
167
+ }
168
+ : {
169
+ maxFeePerGas: tx.maxFeePerGas
170
+ ? numberToHex(tx.maxFeePerGas)
171
+ : undefined,
172
+ maxPriorityFeePerGas: tx.maxPriorityFeePerGas
173
+ ? numberToHex(tx.maxPriorityFeePerGas)
174
+ : undefined,
175
+ };
176
+ const params = [
177
+ {
178
+ ...gasFees,
179
+ nonce: tx.nonce ? numberToHex(tx.nonce) : undefined,
180
+ accessList: tx.accessList,
181
+ value: tx.value ? numberToHex(tx.value) : undefined,
182
+ gas: tx.gas ? numberToHex(tx.gas) : undefined,
183
+ from: this.address,
184
+ to: tx.to ? getAddress(tx.to) : undefined,
185
+ data: tx.data,
186
+ ...tx.eip712,
187
+ },
188
+ ];
189
+
148
190
  const transactionHash = (await provider.request({
149
191
  method: "eth_sendTransaction",
150
- params: [
151
- {
152
- accessList: tx.accessList,
153
- value: tx.value ? numberToHex(tx.value) : undefined,
154
- gas: tx.gas ? numberToHex(tx.gas) : undefined,
155
- gasPrice: tx.gasPrice ? numberToHex(tx.gasPrice) : undefined,
156
- from: this.address,
157
- to: tx.to as Address,
158
- data: tx.data,
159
- },
160
- ],
192
+ // @ts-expect-error - overriding types here
193
+ params,
161
194
  })) as Hex;
162
195
 
163
196
  trackTransaction({
@@ -251,12 +284,12 @@ async function onConnect({
251
284
  client,
252
285
  id,
253
286
  }: {
254
- provider: Ethereum;
287
+ provider: EIP1193Provider;
255
288
  address: string;
256
289
  chain: Chain;
257
290
  emitter: WalletEmitter<InjectedSupportedWalletIds>;
258
291
  client: ThirdwebClient;
259
- id: WalletId;
292
+ id: WalletId | ({} & string);
260
293
  }): Promise<[Account, Chain, DisconnectFn, SwitchChainFn]> {
261
294
  const account = createAccount({ provider, address, client, id });
262
295
  async function disconnect() {
@@ -308,7 +341,7 @@ async function onConnect({
308
341
  /**
309
342
  * @internal
310
343
  */
311
- async function switchChain(provider: Ethereum, chain: Chain) {
344
+ async function switchChain(provider: EIP1193Provider, chain: Chain) {
312
345
  const hexChainId = numberToHex(chain.id);
313
346
  try {
314
347
  await provider.request({
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallets/__generated__/wallet/com.crypto/index.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,oCAAoC;;;AAEvB,QAAA,MAAM,GAAG;IACpB,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,qBAAqB;IAC/B,QAAQ,EAAE,sCAAsC;IAChD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,iDAAiD;QACtD,OAAO,EAAE,+DAA+D;QACxE,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACZ;IACD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,2BAA2B;KACvC;IACD,OAAO,EAAE;QACP,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;KAChB;CACO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallets/__generated__/wallet/com.crypto/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,oCAAoC;AAEpC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,qBAAqB;IAC/B,QAAQ,EAAE,sCAAsC;IAChD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,iDAAiD;QACtD,OAAO,EAAE,+DAA+D;QACxE,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACZ;IACD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,2BAA2B;KACvC;IACD,OAAO,EAAE;QACP,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;KAChB;CACO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/__generated__/wallet/com.crypto/image.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,gqEACopE,CAAC;AAEhqE,eAAe,KAAK,CAAC"}