thirdweb 5.63.3-nightly-50f98d7486809c541252a9cfc6979d102960366b-20241022000337 → 5.64.0-nightly-e6e994479fb8386b1740de4170f33446f038f2b1-20241024000332

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 (511) hide show
  1. package/dist/cjs/analytics/track/connect.js +21 -0
  2. package/dist/cjs/analytics/track/connect.js.map +1 -0
  3. package/dist/cjs/analytics/track/index.js +21 -0
  4. package/dist/cjs/analytics/track/index.js.map +1 -0
  5. package/dist/cjs/analytics/track/pay.js +26 -0
  6. package/dist/cjs/analytics/track/pay.js.map +1 -0
  7. package/dist/cjs/analytics/track/siwe.js +32 -0
  8. package/dist/cjs/analytics/track/siwe.js.map +1 -0
  9. package/dist/cjs/analytics/track/transaction.js +36 -0
  10. package/dist/cjs/analytics/track/transaction.js.map +1 -0
  11. package/dist/cjs/auth/core/verify-login-payload.js +19 -1
  12. package/dist/cjs/auth/core/verify-login-payload.js.map +1 -1
  13. package/dist/cjs/exports/extensions/erc1155.js +3 -1
  14. package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
  15. package/dist/cjs/exports/extensions/erc721.js +3 -1
  16. package/dist/cjs/exports/extensions/erc721.js.map +1 -1
  17. package/dist/cjs/exports/wallets/in-app.js +2 -1
  18. package/dist/cjs/exports/wallets/in-app.js.map +1 -1
  19. package/dist/cjs/extensions/erc1155/write/mintAdditionalSupplyToBatch.js +88 -0
  20. package/dist/cjs/extensions/erc1155/write/mintAdditionalSupplyToBatch.js.map +1 -0
  21. package/dist/cjs/extensions/erc1155/write/mintToBatch.js +9 -17
  22. package/dist/cjs/extensions/erc1155/write/mintToBatch.js.map +1 -1
  23. package/dist/cjs/extensions/erc721/drops/write/claimToBatch.js +115 -0
  24. package/dist/cjs/extensions/erc721/drops/write/claimToBatch.js.map +1 -0
  25. package/dist/cjs/react/core/utils/walletIcon.js +6 -2
  26. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  27. package/dist/cjs/react/native/ui/components/WalletImage.js +2 -0
  28. package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
  29. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +1 -0
  30. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  31. package/dist/cjs/react/native/ui/icons/svgs.js +5 -1
  32. package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
  33. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +3 -4
  34. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +2 -2
  36. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  37. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -3
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +2 -2
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +2 -2
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  43. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +2 -2
  44. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  45. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +5 -5
  46. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  47. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +1 -1
  48. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +2 -2
  49. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  50. package/dist/cjs/react/web/ui/components/WalletImage.js +1 -1
  51. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +5 -3
  52. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  53. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -0
  54. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  55. package/dist/cjs/version.js +1 -1
  56. package/dist/cjs/wallets/__generated__/getWalletInfo.js +45 -15
  57. package/dist/cjs/wallets/__generated__/getWalletInfo.js.map +1 -1
  58. package/dist/cjs/wallets/__generated__/wallet/app.nightly/image.js +7 -0
  59. package/dist/cjs/wallets/__generated__/wallet/app.nightly/image.js.map +1 -0
  60. package/dist/cjs/wallets/__generated__/wallet/app.nightly/index.js +34 -0
  61. package/dist/cjs/wallets/__generated__/wallet/app.nightly/index.js.map +1 -0
  62. package/dist/cjs/wallets/__generated__/wallet/app.status/image.js +1 -1
  63. package/dist/cjs/wallets/__generated__/wallet/app.status/image.js.map +1 -1
  64. package/dist/cjs/wallets/__generated__/wallet/app.status/index.js +1 -1
  65. package/dist/cjs/wallets/__generated__/wallet/app.walletnow/index.js +1 -1
  66. package/dist/cjs/wallets/__generated__/wallet/app.walletnow/index.js.map +1 -1
  67. package/dist/cjs/wallets/__generated__/wallet/com.beexo/image.js +7 -0
  68. package/dist/cjs/wallets/__generated__/wallet/com.beexo/image.js.map +1 -0
  69. package/dist/cjs/wallets/__generated__/wallet/{org.nitrogen → com.beexo}/index.js +9 -9
  70. package/dist/cjs/wallets/__generated__/wallet/com.beexo/index.js.map +1 -0
  71. package/dist/cjs/wallets/__generated__/wallet/com.brave.wallet/image.js +1 -1
  72. package/dist/cjs/wallets/__generated__/wallet/com.brave.wallet/image.js.map +1 -1
  73. package/dist/cjs/wallets/__generated__/wallet/com.brave.wallet/index.js +9 -9
  74. package/dist/cjs/wallets/__generated__/wallet/com.brave.wallet/index.js.map +1 -1
  75. package/dist/cjs/wallets/__generated__/wallet/com.coin98/image.js +1 -1
  76. package/dist/cjs/wallets/__generated__/wallet/com.coin98/image.js.map +1 -1
  77. package/dist/cjs/wallets/__generated__/wallet/com.coin98/index.js +1 -1
  78. package/dist/cjs/wallets/__generated__/wallet/com.crypto/image.js +1 -1
  79. package/dist/cjs/wallets/__generated__/wallet/com.crypto/image.js.map +1 -1
  80. package/dist/cjs/wallets/__generated__/wallet/com.crypto/index.js +1 -1
  81. package/dist/cjs/wallets/__generated__/wallet/com.daffione/image.js +7 -0
  82. package/dist/cjs/wallets/__generated__/wallet/{org.nitrogen → com.daffione}/image.js.map +1 -1
  83. package/dist/cjs/wallets/__generated__/wallet/com.daffione/index.js +34 -0
  84. package/dist/cjs/wallets/__generated__/wallet/com.daffione/index.js.map +1 -0
  85. package/dist/cjs/wallets/__generated__/wallet/com.ipmb/image.js +7 -0
  86. package/dist/cjs/wallets/__generated__/wallet/com.ipmb/image.js.map +1 -0
  87. package/dist/cjs/wallets/__generated__/wallet/com.ipmb/index.js +34 -0
  88. package/dist/cjs/wallets/__generated__/wallet/com.ipmb/index.js.map +1 -0
  89. package/dist/cjs/wallets/__generated__/wallet/com.webauth/image.js +7 -0
  90. package/dist/cjs/wallets/__generated__/wallet/com.webauth/image.js.map +1 -0
  91. package/dist/cjs/wallets/__generated__/wallet/com.webauth/index.js +34 -0
  92. package/dist/cjs/wallets/__generated__/wallet/com.webauth/index.js.map +1 -0
  93. package/dist/cjs/wallets/__generated__/wallet/finance.openwallet/index.js +2 -2
  94. package/dist/cjs/wallets/__generated__/wallet/finance.openwallet/index.js.map +1 -1
  95. package/dist/cjs/wallets/__generated__/wallet/finance.plena/index.js +1 -1
  96. package/dist/cjs/wallets/__generated__/wallet/finance.plena/index.js.map +1 -1
  97. package/dist/cjs/wallets/__generated__/wallet/id.plumaa/image.js +7 -0
  98. package/dist/cjs/wallets/__generated__/wallet/id.plumaa/image.js.map +1 -0
  99. package/dist/cjs/wallets/__generated__/wallet/id.plumaa/index.js +34 -0
  100. package/dist/cjs/wallets/__generated__/wallet/id.plumaa/index.js.map +1 -0
  101. package/dist/cjs/wallets/__generated__/wallet/io.miraiapp/image.js +1 -1
  102. package/dist/cjs/wallets/__generated__/wallet/io.miraiapp/image.js.map +1 -1
  103. package/dist/cjs/wallets/__generated__/wallet/io.miraiapp/index.js +1 -1
  104. package/dist/cjs/wallets/__generated__/wallet/io.owallet/image.js +7 -0
  105. package/dist/cjs/wallets/__generated__/wallet/io.owallet/image.js.map +1 -0
  106. package/dist/cjs/wallets/__generated__/wallet/io.owallet/index.js +34 -0
  107. package/dist/cjs/wallets/__generated__/wallet/io.owallet/index.js.map +1 -0
  108. package/dist/cjs/wallets/__generated__/wallet/io.tradestrike/image.js +1 -1
  109. package/dist/cjs/wallets/__generated__/wallet/io.tradestrike/image.js.map +1 -1
  110. package/dist/cjs/wallets/__generated__/wallet/io.tradestrike/index.js +2 -2
  111. package/dist/cjs/wallets/__generated__/wallet/io.tradestrike/index.js.map +1 -1
  112. package/dist/cjs/wallets/__generated__/wallet-infos.js +45 -15
  113. package/dist/cjs/wallets/__generated__/wallet-infos.js.map +1 -1
  114. package/dist/cjs/wallets/coinbase/coinbase-wallet.js +3 -3
  115. package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
  116. package/dist/cjs/wallets/coinbase/coinbaseWebSDK.js +20 -8
  117. package/dist/cjs/wallets/coinbase/coinbaseWebSDK.js.map +1 -1
  118. package/dist/cjs/wallets/create-wallet.js +11 -6
  119. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  120. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-auth-options.js +3 -3
  121. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-auth-options.js.map +1 -1
  122. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js +13 -3
  123. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
  124. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +8 -6
  125. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  126. package/dist/cjs/wallets/in-app/core/wallet/index.js +50 -2
  127. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  128. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +9 -2
  129. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  130. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +2 -0
  131. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  132. package/dist/cjs/wallets/injected/index.js +36 -8
  133. package/dist/cjs/wallets/injected/index.js.map +1 -1
  134. package/dist/cjs/wallets/native/create-wallet.js +3 -3
  135. package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
  136. package/dist/cjs/wallets/smart/index.js +30 -2
  137. package/dist/cjs/wallets/smart/index.js.map +1 -1
  138. package/dist/cjs/wallets/smart/smart-wallet.js +6 -9
  139. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  140. package/dist/cjs/wallets/types.js +1 -0
  141. package/dist/cjs/wallets/types.js.map +1 -1
  142. package/dist/cjs/wallets/wallet-connect/controller.js +20 -8
  143. package/dist/cjs/wallets/wallet-connect/controller.js.map +1 -1
  144. package/dist/esm/analytics/track/connect.js +18 -0
  145. package/dist/esm/analytics/track/connect.js.map +1 -0
  146. package/dist/esm/analytics/track/index.js +18 -0
  147. package/dist/esm/analytics/track/index.js.map +1 -0
  148. package/dist/esm/analytics/track/pay.js +23 -0
  149. package/dist/esm/analytics/track/pay.js.map +1 -0
  150. package/dist/esm/analytics/track/siwe.js +29 -0
  151. package/dist/esm/analytics/track/siwe.js.map +1 -0
  152. package/dist/esm/analytics/track/transaction.js +33 -0
  153. package/dist/esm/analytics/track/transaction.js.map +1 -0
  154. package/dist/esm/auth/core/verify-login-payload.js +19 -1
  155. package/dist/esm/auth/core/verify-login-payload.js.map +1 -1
  156. package/dist/esm/exports/extensions/erc1155.js +1 -0
  157. package/dist/esm/exports/extensions/erc1155.js.map +1 -1
  158. package/dist/esm/exports/extensions/erc721.js +1 -0
  159. package/dist/esm/exports/extensions/erc721.js.map +1 -1
  160. package/dist/esm/exports/wallets/in-app.js +1 -1
  161. package/dist/esm/exports/wallets/in-app.js.map +1 -1
  162. package/dist/esm/extensions/erc1155/write/mintAdditionalSupplyToBatch.js +84 -0
  163. package/dist/esm/extensions/erc1155/write/mintAdditionalSupplyToBatch.js.map +1 -0
  164. package/dist/esm/extensions/erc1155/write/mintToBatch.js +9 -17
  165. package/dist/esm/extensions/erc1155/write/mintToBatch.js.map +1 -1
  166. package/dist/esm/extensions/erc721/drops/write/claimToBatch.js +111 -0
  167. package/dist/esm/extensions/erc721/drops/write/claimToBatch.js.map +1 -0
  168. package/dist/esm/react/core/utils/walletIcon.js +5 -1
  169. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  170. package/dist/esm/react/native/ui/components/WalletImage.js +3 -1
  171. package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
  172. package/dist/esm/react/native/ui/connect/InAppWalletUI.js +2 -1
  173. package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  174. package/dist/esm/react/native/ui/icons/svgs.js +4 -0
  175. package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
  176. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +3 -4
  177. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  178. package/dist/esm/react/web/ui/ConnectWallet/Details.js +1 -1
  179. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  180. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
  181. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  182. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +1 -1
  183. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  184. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +1 -1
  185. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  186. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +1 -1
  187. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  188. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +1 -1
  189. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  190. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +2 -2
  191. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +1 -1
  192. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  193. package/dist/esm/react/web/ui/components/WalletImage.js +2 -2
  194. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +7 -5
  195. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  196. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +1 -0
  197. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  198. package/dist/esm/version.js +1 -1
  199. package/dist/esm/wallets/__generated__/getWalletInfo.js +45 -15
  200. package/dist/esm/wallets/__generated__/getWalletInfo.js.map +1 -1
  201. package/dist/esm/wallets/__generated__/wallet/app.nightly/image.js +5 -0
  202. package/dist/esm/wallets/__generated__/wallet/app.nightly/image.js.map +1 -0
  203. package/dist/esm/wallets/__generated__/wallet/app.nightly/index.js +31 -0
  204. package/dist/esm/wallets/__generated__/wallet/app.nightly/index.js.map +1 -0
  205. package/dist/esm/wallets/__generated__/wallet/app.status/image.js +1 -1
  206. package/dist/esm/wallets/__generated__/wallet/app.status/image.js.map +1 -1
  207. package/dist/esm/wallets/__generated__/wallet/app.status/index.js +1 -1
  208. package/dist/esm/wallets/__generated__/wallet/app.walletnow/index.js +1 -1
  209. package/dist/esm/wallets/__generated__/wallet/app.walletnow/index.js.map +1 -1
  210. package/dist/esm/wallets/__generated__/wallet/com.beexo/image.js +5 -0
  211. package/dist/esm/wallets/__generated__/wallet/com.beexo/image.js.map +1 -0
  212. package/dist/esm/wallets/__generated__/wallet/{org.nitrogen → com.beexo}/index.js +9 -9
  213. package/dist/esm/wallets/__generated__/wallet/com.beexo/index.js.map +1 -0
  214. package/dist/esm/wallets/__generated__/wallet/com.brave.wallet/image.js +1 -1
  215. package/dist/esm/wallets/__generated__/wallet/com.brave.wallet/image.js.map +1 -1
  216. package/dist/esm/wallets/__generated__/wallet/com.brave.wallet/index.js +9 -9
  217. package/dist/esm/wallets/__generated__/wallet/com.brave.wallet/index.js.map +1 -1
  218. package/dist/esm/wallets/__generated__/wallet/com.coin98/image.js +1 -1
  219. package/dist/esm/wallets/__generated__/wallet/com.coin98/image.js.map +1 -1
  220. package/dist/esm/wallets/__generated__/wallet/com.coin98/index.js +1 -1
  221. package/dist/esm/wallets/__generated__/wallet/com.crypto/image.js +1 -1
  222. package/dist/esm/wallets/__generated__/wallet/com.crypto/image.js.map +1 -1
  223. package/dist/esm/wallets/__generated__/wallet/com.crypto/index.js +1 -1
  224. package/dist/esm/wallets/__generated__/wallet/com.daffione/image.js +5 -0
  225. package/dist/esm/wallets/__generated__/wallet/{org.nitrogen → com.daffione}/image.js.map +1 -1
  226. package/dist/esm/wallets/__generated__/wallet/com.daffione/index.js +31 -0
  227. package/dist/esm/wallets/__generated__/wallet/com.daffione/index.js.map +1 -0
  228. package/dist/esm/wallets/__generated__/wallet/com.ipmb/image.js +5 -0
  229. package/dist/esm/wallets/__generated__/wallet/com.ipmb/image.js.map +1 -0
  230. package/dist/esm/wallets/__generated__/wallet/com.ipmb/index.js +31 -0
  231. package/dist/esm/wallets/__generated__/wallet/com.ipmb/index.js.map +1 -0
  232. package/dist/esm/wallets/__generated__/wallet/com.webauth/image.js +5 -0
  233. package/dist/esm/wallets/__generated__/wallet/com.webauth/image.js.map +1 -0
  234. package/dist/esm/wallets/__generated__/wallet/com.webauth/index.js +31 -0
  235. package/dist/esm/wallets/__generated__/wallet/com.webauth/index.js.map +1 -0
  236. package/dist/esm/wallets/__generated__/wallet/finance.openwallet/index.js +2 -2
  237. package/dist/esm/wallets/__generated__/wallet/finance.openwallet/index.js.map +1 -1
  238. package/dist/esm/wallets/__generated__/wallet/finance.plena/index.js +1 -1
  239. package/dist/esm/wallets/__generated__/wallet/finance.plena/index.js.map +1 -1
  240. package/dist/esm/wallets/__generated__/wallet/id.plumaa/image.js +5 -0
  241. package/dist/esm/wallets/__generated__/wallet/id.plumaa/image.js.map +1 -0
  242. package/dist/esm/wallets/__generated__/wallet/id.plumaa/index.js +31 -0
  243. package/dist/esm/wallets/__generated__/wallet/id.plumaa/index.js.map +1 -0
  244. package/dist/esm/wallets/__generated__/wallet/io.miraiapp/image.js +1 -1
  245. package/dist/esm/wallets/__generated__/wallet/io.miraiapp/image.js.map +1 -1
  246. package/dist/esm/wallets/__generated__/wallet/io.miraiapp/index.js +1 -1
  247. package/dist/esm/wallets/__generated__/wallet/io.owallet/image.js +5 -0
  248. package/dist/esm/wallets/__generated__/wallet/io.owallet/image.js.map +1 -0
  249. package/dist/esm/wallets/__generated__/wallet/io.owallet/index.js +31 -0
  250. package/dist/esm/wallets/__generated__/wallet/io.owallet/index.js.map +1 -0
  251. package/dist/esm/wallets/__generated__/wallet/io.tradestrike/image.js +1 -1
  252. package/dist/esm/wallets/__generated__/wallet/io.tradestrike/image.js.map +1 -1
  253. package/dist/esm/wallets/__generated__/wallet/io.tradestrike/index.js +2 -2
  254. package/dist/esm/wallets/__generated__/wallet/io.tradestrike/index.js.map +1 -1
  255. package/dist/esm/wallets/__generated__/wallet-infos.js +45 -15
  256. package/dist/esm/wallets/__generated__/wallet-infos.js.map +1 -1
  257. package/dist/esm/wallets/coinbase/coinbase-wallet.js +1 -1
  258. package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
  259. package/dist/esm/wallets/coinbase/coinbaseWebSDK.js +20 -8
  260. package/dist/esm/wallets/coinbase/coinbaseWebSDK.js.map +1 -1
  261. package/dist/esm/wallets/create-wallet.js +7 -2
  262. package/dist/esm/wallets/create-wallet.js.map +1 -1
  263. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-auth-options.js +2 -2
  264. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-auth-options.js.map +1 -1
  265. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js +13 -3
  266. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
  267. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +6 -4
  268. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  269. package/dist/esm/wallets/in-app/core/wallet/index.js +50 -2
  270. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  271. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +9 -2
  272. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  273. package/dist/esm/wallets/in-app/web/lib/web-connector.js +2 -0
  274. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  275. package/dist/esm/wallets/injected/index.js +36 -8
  276. package/dist/esm/wallets/injected/index.js.map +1 -1
  277. package/dist/esm/wallets/native/create-wallet.js +1 -1
  278. package/dist/esm/wallets/native/create-wallet.js.map +1 -1
  279. package/dist/esm/wallets/smart/index.js +30 -2
  280. package/dist/esm/wallets/smart/index.js.map +1 -1
  281. package/dist/esm/wallets/smart/smart-wallet.js +4 -7
  282. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  283. package/dist/esm/wallets/types.js +1 -0
  284. package/dist/esm/wallets/types.js.map +1 -1
  285. package/dist/esm/wallets/wallet-connect/controller.js +20 -8
  286. package/dist/esm/wallets/wallet-connect/controller.js.map +1 -1
  287. package/dist/types/analytics/track/connect.d.ts +12 -0
  288. package/dist/types/analytics/track/connect.d.ts.map +1 -0
  289. package/dist/types/analytics/track/index.d.ts +11 -0
  290. package/dist/types/analytics/track/index.d.ts.map +1 -0
  291. package/dist/types/analytics/{track.d.ts → track/pay.d.ts} +5 -11
  292. package/dist/types/analytics/track/pay.d.ts.map +1 -0
  293. package/dist/types/analytics/track/siwe.d.ts +19 -0
  294. package/dist/types/analytics/track/siwe.d.ts.map +1 -0
  295. package/dist/types/analytics/track/transaction.d.ts +24 -0
  296. package/dist/types/analytics/track/transaction.d.ts.map +1 -0
  297. package/dist/types/auth/core/verify-login-payload.d.ts.map +1 -1
  298. package/dist/types/exports/extensions/erc1155.d.ts +1 -0
  299. package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
  300. package/dist/types/exports/extensions/erc721.d.ts +1 -0
  301. package/dist/types/exports/extensions/erc721.d.ts.map +1 -1
  302. package/dist/types/exports/wallets/in-app.d.ts +1 -1
  303. package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
  304. package/dist/types/extensions/erc1155/write/mintAdditionalSupplyToBatch.d.ts +51 -0
  305. package/dist/types/extensions/erc1155/write/mintAdditionalSupplyToBatch.d.ts.map +1 -0
  306. package/dist/types/extensions/erc1155/write/mintToBatch.d.ts.map +1 -1
  307. package/dist/types/extensions/erc721/drops/write/claimToBatch.d.ts +71 -0
  308. package/dist/types/extensions/erc721/drops/write/claimToBatch.d.ts.map +1 -0
  309. package/dist/types/react/core/utils/walletIcon.d.ts +3 -1
  310. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  311. package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
  312. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  313. package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
  314. package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
  315. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts +3 -4
  316. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  317. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  318. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
  319. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  320. package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
  321. package/dist/types/version.d.ts +1 -1
  322. package/dist/types/wallets/__generated__/getWalletInfo.d.ts.map +1 -1
  323. package/dist/types/wallets/__generated__/wallet/app.nightly/image.d.ts +3 -0
  324. package/dist/types/wallets/__generated__/wallet/app.nightly/image.d.ts.map +1 -0
  325. package/dist/types/wallets/__generated__/wallet/app.nightly/index.d.ts +29 -0
  326. package/dist/types/wallets/__generated__/wallet/app.nightly/index.d.ts.map +1 -0
  327. package/dist/types/wallets/__generated__/wallet/app.status/image.d.ts +1 -1
  328. package/dist/types/wallets/__generated__/wallet/app.status/image.d.ts.map +1 -1
  329. package/dist/types/wallets/__generated__/wallet/app.status/index.d.ts +1 -1
  330. package/dist/types/wallets/__generated__/wallet/app.walletnow/index.d.ts +1 -1
  331. package/dist/types/wallets/__generated__/wallet/com.beexo/image.d.ts +3 -0
  332. package/dist/types/wallets/__generated__/wallet/com.beexo/image.d.ts.map +1 -0
  333. package/dist/types/wallets/__generated__/wallet/{org.nitrogen → com.beexo}/index.d.ts +9 -9
  334. package/dist/types/wallets/__generated__/wallet/com.beexo/index.d.ts.map +1 -0
  335. package/dist/types/wallets/__generated__/wallet/com.brave.wallet/image.d.ts +1 -1
  336. package/dist/types/wallets/__generated__/wallet/com.brave.wallet/image.d.ts.map +1 -1
  337. package/dist/types/wallets/__generated__/wallet/com.brave.wallet/index.d.ts +9 -9
  338. package/dist/types/wallets/__generated__/wallet/com.brave.wallet/index.d.ts.map +1 -1
  339. package/dist/types/wallets/__generated__/wallet/com.coin98/image.d.ts +1 -1
  340. package/dist/types/wallets/__generated__/wallet/com.coin98/image.d.ts.map +1 -1
  341. package/dist/types/wallets/__generated__/wallet/com.coin98/index.d.ts +1 -1
  342. package/dist/types/wallets/__generated__/wallet/com.crypto/image.d.ts +1 -1
  343. package/dist/types/wallets/__generated__/wallet/com.crypto/image.d.ts.map +1 -1
  344. package/dist/types/wallets/__generated__/wallet/com.crypto/index.d.ts +1 -1
  345. package/dist/types/wallets/__generated__/wallet/com.daffione/image.d.ts +3 -0
  346. package/dist/types/wallets/__generated__/wallet/com.daffione/image.d.ts.map +1 -0
  347. package/dist/types/wallets/__generated__/wallet/com.daffione/index.d.ts +29 -0
  348. package/dist/types/wallets/__generated__/wallet/{org.nitrogen → com.daffione}/index.d.ts.map +1 -1
  349. package/dist/types/wallets/__generated__/wallet/com.ipmb/image.d.ts +3 -0
  350. package/dist/types/wallets/__generated__/wallet/com.ipmb/image.d.ts.map +1 -0
  351. package/dist/types/wallets/__generated__/wallet/com.ipmb/index.d.ts +29 -0
  352. package/dist/types/wallets/__generated__/wallet/com.ipmb/index.d.ts.map +1 -0
  353. package/dist/types/wallets/__generated__/wallet/com.webauth/image.d.ts +3 -0
  354. package/dist/types/wallets/__generated__/wallet/com.webauth/image.d.ts.map +1 -0
  355. package/dist/types/wallets/__generated__/wallet/com.webauth/index.d.ts +29 -0
  356. package/dist/types/wallets/__generated__/wallet/com.webauth/index.d.ts.map +1 -0
  357. package/dist/types/wallets/__generated__/wallet/finance.openwallet/index.d.ts +2 -2
  358. package/dist/types/wallets/__generated__/wallet/finance.plena/index.d.ts +1 -1
  359. package/dist/types/wallets/__generated__/wallet/id.plumaa/image.d.ts +3 -0
  360. package/dist/types/wallets/__generated__/wallet/id.plumaa/image.d.ts.map +1 -0
  361. package/dist/types/wallets/__generated__/wallet/id.plumaa/index.d.ts +29 -0
  362. package/dist/types/wallets/__generated__/wallet/id.plumaa/index.d.ts.map +1 -0
  363. package/dist/types/wallets/__generated__/wallet/io.miraiapp/image.d.ts +1 -1
  364. package/dist/types/wallets/__generated__/wallet/io.miraiapp/image.d.ts.map +1 -1
  365. package/dist/types/wallets/__generated__/wallet/io.miraiapp/index.d.ts +1 -1
  366. package/dist/types/wallets/__generated__/wallet/io.owallet/image.d.ts +3 -0
  367. package/dist/types/wallets/__generated__/wallet/io.owallet/image.d.ts.map +1 -0
  368. package/dist/types/wallets/__generated__/wallet/io.owallet/index.d.ts +29 -0
  369. package/dist/types/wallets/__generated__/wallet/io.owallet/index.d.ts.map +1 -0
  370. package/dist/types/wallets/__generated__/wallet/io.tradestrike/image.d.ts +1 -1
  371. package/dist/types/wallets/__generated__/wallet/io.tradestrike/image.d.ts.map +1 -1
  372. package/dist/types/wallets/__generated__/wallet/io.tradestrike/index.d.ts +2 -2
  373. package/dist/types/wallets/__generated__/wallet-ids.d.ts +2 -2
  374. package/dist/types/wallets/__generated__/wallet-ids.d.ts.map +1 -1
  375. package/dist/types/wallets/__generated__/wallet-infos.d.ts +36 -12
  376. package/dist/types/wallets/__generated__/wallet-infos.d.ts.map +1 -1
  377. package/dist/types/wallets/coinbase/coinbaseWebSDK.d.ts +1 -1
  378. package/dist/types/wallets/coinbase/coinbaseWebSDK.d.ts.map +1 -1
  379. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  380. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts +11 -1
  381. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts.map +1 -1
  382. package/dist/types/wallets/getAllWalletsList.d.ts +36 -12
  383. package/dist/types/wallets/getAllWalletsList.d.ts.map +1 -1
  384. package/dist/types/wallets/in-app/core/authentication/types.d.ts +1 -1
  385. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  386. package/dist/types/wallets/in-app/core/wallet/enclave-wallet.d.ts.map +1 -1
  387. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  388. package/dist/types/wallets/in-app/core/wallet/index.d.ts +3 -2
  389. package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
  390. package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts.map +1 -1
  391. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  392. package/dist/types/wallets/injected/index.d.ts +15 -2
  393. package/dist/types/wallets/injected/index.d.ts.map +1 -1
  394. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  395. package/dist/types/wallets/smart/smart-wallet.d.ts +3 -6
  396. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  397. package/dist/types/wallets/types.d.ts +2 -2
  398. package/dist/types/wallets/types.d.ts.map +1 -1
  399. package/dist/types/wallets/wallet-connect/controller.d.ts +2 -1
  400. package/dist/types/wallets/wallet-connect/controller.d.ts.map +1 -1
  401. package/package.json +1 -1
  402. package/src/analytics/track/connect.test.ts +78 -0
  403. package/src/analytics/track/connect.ts +25 -0
  404. package/src/analytics/track/index.ts +30 -0
  405. package/src/analytics/track/pay.test.ts +98 -0
  406. package/src/analytics/track/pay.ts +37 -0
  407. package/src/analytics/track/siwe.test.ts +110 -0
  408. package/src/analytics/track/siwe.ts +48 -0
  409. package/src/analytics/track/track.test.ts +107 -0
  410. package/src/analytics/track/transaction.test.ts +130 -0
  411. package/src/analytics/track/transaction.ts +57 -0
  412. package/src/auth/core/verify-login-payload.ts +25 -1
  413. package/src/exports/extensions/erc1155.ts +5 -0
  414. package/src/exports/extensions/erc721.ts +4 -0
  415. package/src/exports/wallets/in-app.ts +4 -1
  416. package/src/extensions/erc1155/drop1155.test.ts +11 -0
  417. package/src/extensions/erc1155/token1155.test.ts +170 -2
  418. package/src/extensions/erc1155/write/lazyMint.test.ts +2 -22
  419. package/src/extensions/erc1155/write/mintAdditionalSupplyToBatch.test.ts +21 -0
  420. package/src/extensions/erc1155/write/mintAdditionalSupplyToBatch.ts +105 -0
  421. package/src/extensions/erc1155/write/mintToBatch.ts +15 -24
  422. package/src/extensions/erc721/drops/write/claimTo.test.ts +15 -0
  423. package/src/extensions/erc721/drops/write/claimToBatch.test.ts +154 -0
  424. package/src/extensions/erc721/drops/write/claimToBatch.ts +144 -0
  425. package/src/extensions/unstoppable-domains/read/resolveName.test.ts +9 -0
  426. package/src/react/core/utils/walletIcon.ts +8 -1
  427. package/src/react/native/ui/components/WalletImage.tsx +3 -0
  428. package/src/react/native/ui/connect/InAppWalletUI.tsx +2 -0
  429. package/src/react/native/ui/icons/svgs.ts +5 -0
  430. package/src/react/web/hooks/transaction/useSendTransaction.tsx +3 -4
  431. package/src/react/web/ui/ConnectWallet/Details.tsx +2 -4
  432. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +1 -1
  433. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +1 -1
  434. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +1 -1
  435. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +1 -1
  436. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +1 -1
  437. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +2 -2
  438. package/src/react/web/ui/TransactionButton/TransactionModal.tsx +1 -1
  439. package/src/react/web/ui/components/WalletImage.tsx +2 -2
  440. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +7 -5
  441. package/src/react/web/wallets/shared/oauthSignIn.ts +1 -0
  442. package/src/version.ts +1 -1
  443. package/src/wallets/__generated__/getWalletInfo.ts +67 -25
  444. package/src/wallets/__generated__/wallet/app.nightly/image.ts +7 -0
  445. package/src/wallets/__generated__/wallet/app.nightly/index.ts +34 -0
  446. package/src/wallets/__generated__/wallet/app.status/image.ts +1 -1
  447. package/src/wallets/__generated__/wallet/app.status/index.ts +1 -1
  448. package/src/wallets/__generated__/wallet/app.walletnow/index.ts +1 -1
  449. package/src/wallets/__generated__/wallet/com.beexo/image.ts +7 -0
  450. package/src/wallets/__generated__/wallet/com.beexo/index.ts +31 -0
  451. package/src/wallets/__generated__/wallet/com.brave.wallet/image.ts +1 -1
  452. package/src/wallets/__generated__/wallet/com.brave.wallet/index.ts +9 -11
  453. package/src/wallets/__generated__/wallet/com.coin98/image.ts +1 -1
  454. package/src/wallets/__generated__/wallet/com.coin98/index.ts +1 -1
  455. package/src/wallets/__generated__/wallet/com.crypto/image.ts +1 -1
  456. package/src/wallets/__generated__/wallet/com.crypto/index.ts +1 -1
  457. package/src/wallets/__generated__/wallet/com.daffione/image.ts +7 -0
  458. package/src/wallets/__generated__/wallet/com.daffione/index.ts +31 -0
  459. package/src/wallets/__generated__/wallet/com.ipmb/image.ts +7 -0
  460. package/src/wallets/__generated__/wallet/com.ipmb/index.ts +32 -0
  461. package/src/wallets/__generated__/wallet/com.webauth/image.ts +7 -0
  462. package/src/wallets/__generated__/wallet/{org.nitrogen → com.webauth}/index.ts +8 -8
  463. package/src/wallets/__generated__/wallet/finance.openwallet/index.ts +2 -2
  464. package/src/wallets/__generated__/wallet/finance.plena/index.ts +1 -1
  465. package/src/wallets/__generated__/wallet/id.plumaa/image.ts +7 -0
  466. package/src/wallets/__generated__/wallet/id.plumaa/index.ts +31 -0
  467. package/src/wallets/__generated__/wallet/io.miraiapp/image.ts +1 -1
  468. package/src/wallets/__generated__/wallet/io.miraiapp/index.ts +1 -1
  469. package/src/wallets/__generated__/wallet/io.owallet/image.ts +7 -0
  470. package/src/wallets/__generated__/wallet/io.owallet/index.ts +32 -0
  471. package/src/wallets/__generated__/wallet/io.tradestrike/image.ts +1 -1
  472. package/src/wallets/__generated__/wallet/io.tradestrike/index.ts +2 -2
  473. package/src/wallets/__generated__/wallet-ids.ts +9 -6
  474. package/src/wallets/__generated__/wallet-infos.ts +45 -15
  475. package/src/wallets/coinbase/coinbase-wallet.ts +1 -1
  476. package/src/wallets/coinbase/coinbaseWebSDK.ts +30 -7
  477. package/src/wallets/create-wallet.ts +6 -5
  478. package/src/wallets/ecosystem/get-ecosystem-wallet-auth-options.ts +14 -3
  479. package/src/wallets/in-app/core/authentication/types.ts +1 -0
  480. package/src/wallets/in-app/core/wallet/enclave-wallet.ts +16 -3
  481. package/src/wallets/in-app/core/wallet/in-app-core.ts +6 -1
  482. package/src/wallets/in-app/core/wallet/index.ts +59 -0
  483. package/src/wallets/in-app/web/lib/iframe-wallet.ts +12 -2
  484. package/src/wallets/in-app/web/lib/web-connector.ts +2 -0
  485. package/src/wallets/injected/index.ts +72 -17
  486. package/src/wallets/native/create-wallet.ts +1 -1
  487. package/src/wallets/smart/index.ts +40 -2
  488. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +2 -4
  489. package/src/wallets/smart/smart-wallet.ts +4 -7
  490. package/src/wallets/types.ts +1 -0
  491. package/src/wallets/wallet-connect/controller.ts +29 -7
  492. package/dist/cjs/analytics/track.js +0 -51
  493. package/dist/cjs/analytics/track.js.map +0 -1
  494. package/dist/cjs/wallets/__generated__/wallet/org.nitrogen/image.js +0 -7
  495. package/dist/cjs/wallets/__generated__/wallet/org.nitrogen/index.js.map +0 -1
  496. package/dist/esm/analytics/track.js +0 -47
  497. package/dist/esm/analytics/track.js.map +0 -1
  498. package/dist/esm/wallets/__generated__/wallet/org.nitrogen/image.js +0 -5
  499. package/dist/esm/wallets/__generated__/wallet/org.nitrogen/index.js.map +0 -1
  500. package/dist/types/analytics/track.d.ts.map +0 -1
  501. package/dist/types/wallets/__generated__/wallet/org.nitrogen/image.d.ts +0 -3
  502. package/dist/types/wallets/__generated__/wallet/org.nitrogen/image.d.ts.map +0 -1
  503. package/src/analytics/track.ts +0 -67
  504. package/src/extensions/erc1155/read/getNFTs.test.ts +0 -44
  505. package/src/extensions/erc1155/read/getOwnedNFTs.test.ts +0 -62
  506. package/src/extensions/erc1155/read/getOwnedTokenIds.test.ts +0 -50
  507. package/src/extensions/erc1155/write/mintAdditionalSupplyTo.test.ts +0 -38
  508. package/src/extensions/erc1155/write/mintTo.test.ts +0 -42
  509. package/src/extensions/erc1155/write/mintToBatch.test.ts +0 -77
  510. package/src/extensions/erc1155/write/updateTokenURI.test.ts +0 -54
  511. package/src/wallets/__generated__/wallet/org.nitrogen/image.ts +0 -7
@@ -0,0 +1,110 @@
1
+ import { http, HttpResponse } from "msw";
2
+ import { setupServer } from "msw/node";
3
+ import { afterAll, afterEach, beforeAll, describe, expect, it } from "vitest";
4
+ import type { ThirdwebClient } from "../../client/client.js";
5
+ import { trackLogin } from "./siwe.js";
6
+
7
+ const server = setupServer(
8
+ http.post("https://c.thirdweb.com/event", () => {
9
+ return HttpResponse.json({});
10
+ }),
11
+ );
12
+
13
+ describe("SIWE tracking", () => {
14
+ beforeAll(() => server.listen());
15
+ afterEach(() => server.resetHandlers());
16
+ afterAll(() => server.close());
17
+
18
+ const mockClient: ThirdwebClient = {
19
+ clientId: "test-client-id",
20
+ secretKey: undefined,
21
+ };
22
+
23
+ it("should track successful logins", async () => {
24
+ let requestBody: unknown;
25
+ server.use(
26
+ http.post("https://c.thirdweb.com/event", async (handler) => {
27
+ requestBody = await handler.request.json();
28
+ return HttpResponse.json({});
29
+ }),
30
+ );
31
+
32
+ await trackLogin({
33
+ client: mockClient,
34
+ walletAddress: "0x1234567890123456789012345678901234567890",
35
+ walletType: "metamask",
36
+ chainId: 1,
37
+ });
38
+
39
+ expect(requestBody).toEqual({
40
+ source: "sdk",
41
+ action: "login:attempt",
42
+ clientId: "test-client-id",
43
+ walletAddress: "0x1234567890123456789012345678901234567890",
44
+ walletType: "metamask",
45
+ chainId: 1,
46
+ errorCode: undefined,
47
+ });
48
+ });
49
+
50
+ it("should track login errors", async () => {
51
+ let requestBody: unknown;
52
+ server.use(
53
+ http.post("https://c.thirdweb.com/event", async (handler) => {
54
+ requestBody = await handler.request.json();
55
+ return HttpResponse.json({});
56
+ }),
57
+ );
58
+
59
+ await trackLogin({
60
+ client: mockClient,
61
+ walletAddress: "0x1234567890123456789012345678901234567890",
62
+ walletType: "metamask",
63
+ chainId: 1,
64
+ error: {
65
+ message: "Signature verification failed",
66
+ code: "SIGNATURE_VERIFICATION_FAILED",
67
+ },
68
+ });
69
+
70
+ expect(requestBody).toEqual({
71
+ source: "sdk",
72
+ action: "login:attempt",
73
+ clientId: "test-client-id",
74
+ walletAddress: "0x1234567890123456789012345678901234567890",
75
+ walletType: "metamask",
76
+ chainId: 1,
77
+ errorCode:
78
+ '{"message":"Signature verification failed","code":"SIGNATURE_VERIFICATION_FAILED"}',
79
+ });
80
+ });
81
+
82
+ it("should send a POST request with correct headers", async () => {
83
+ let requestHeaders: Headers | undefined;
84
+ server.use(
85
+ http.post("https://c.thirdweb.com/event", (handler) => {
86
+ requestHeaders = handler.request.headers;
87
+ return HttpResponse.json({});
88
+ }),
89
+ );
90
+
91
+ await trackLogin({
92
+ client: mockClient,
93
+ ecosystem: {
94
+ id: "ecosystem.test-ecosystem-id",
95
+ partnerId: "test-partner-id",
96
+ },
97
+ walletAddress: "0x1234567890123456789012345678901234567890",
98
+ walletType: "metamask",
99
+ chainId: 1,
100
+ });
101
+
102
+ expect(requestHeaders?.get("x-client-id")).toEqual("test-client-id");
103
+ expect(requestHeaders?.get("x-ecosystem-id")).toEqual(
104
+ "ecosystem.test-ecosystem-id",
105
+ );
106
+ expect(requestHeaders?.get("x-ecosystem-partner-id")).toEqual(
107
+ "test-partner-id",
108
+ );
109
+ });
110
+ });
@@ -0,0 +1,48 @@
1
+ import type { ThirdwebClient } from "../../client/client.js";
2
+ import { stringify } from "../../utils/json.js";
3
+ import type { Ecosystem } from "../../wallets/in-app/core/wallet/types.js";
4
+ import { track } from "./index.js";
5
+
6
+ type SiweEvent = {
7
+ client: ThirdwebClient;
8
+ ecosystem?: Ecosystem;
9
+ walletAddress?: string;
10
+ walletType?: string;
11
+ chainId?: number;
12
+ error?: {
13
+ message: string;
14
+ code: string;
15
+ };
16
+ };
17
+
18
+ /**
19
+ * @internal
20
+ */
21
+ export async function trackLogin(event: SiweEvent) {
22
+ return trackSiweEvent({
23
+ ...event,
24
+ action: "login:attempt",
25
+ });
26
+ }
27
+
28
+ /**
29
+ * @internal
30
+ */
31
+ async function trackSiweEvent(
32
+ event: SiweEvent & {
33
+ action: "login:attempt";
34
+ },
35
+ ) {
36
+ return track({
37
+ client: event.client,
38
+ ecosystem: event.ecosystem,
39
+ data: {
40
+ action: event.action,
41
+ clientId: event.client.clientId,
42
+ chainId: event.chainId,
43
+ walletAddress: event.walletAddress,
44
+ walletType: event.walletType,
45
+ errorCode: stringify(event.error),
46
+ },
47
+ });
48
+ }
@@ -0,0 +1,107 @@
1
+ import { http, HttpResponse } from "msw";
2
+ import { setupServer } from "msw/node";
3
+ import { afterAll, afterEach, beforeAll, describe, expect, it } from "vitest";
4
+ import type { ThirdwebClient } from "../../client/client.js";
5
+ import { track } from "./index.js";
6
+
7
+ const server = setupServer(
8
+ http.post("https://c.thirdweb.com/event", () => {
9
+ return HttpResponse.json({});
10
+ }),
11
+ );
12
+
13
+ describe("track", () => {
14
+ beforeAll(() => server.listen());
15
+ afterEach(() => server.resetHandlers());
16
+ afterAll(() => server.close());
17
+
18
+ it("should send a POST request with correct data", async () => {
19
+ const mockClient: ThirdwebClient = {
20
+ clientId: "test-client-id",
21
+ secretKey: undefined,
22
+ };
23
+
24
+ let requestBody: unknown;
25
+ server.use(
26
+ http.post("https://c.thirdweb.com/event", async (handler) => {
27
+ requestBody = await handler.request.json();
28
+ return HttpResponse.json({});
29
+ }),
30
+ );
31
+
32
+ await track({
33
+ client: mockClient,
34
+ data: {
35
+ action: "test-action",
36
+ data: "test-data",
37
+ },
38
+ });
39
+
40
+ expect(requestBody).toEqual({
41
+ source: "sdk",
42
+ action: "test-action",
43
+ data: "test-data",
44
+ });
45
+ });
46
+
47
+ it("should not throw an error if the request fails", async () => {
48
+ const mockClient: ThirdwebClient = {
49
+ clientId: "test-client-id",
50
+ secretKey: undefined,
51
+ };
52
+
53
+ server.use(
54
+ http.post("https://c.thirdweb.com/event", () => {
55
+ return HttpResponse.error();
56
+ }),
57
+ );
58
+
59
+ expect(() =>
60
+ track({
61
+ client: mockClient,
62
+ data: {
63
+ action: "test-action",
64
+ data: "test-data",
65
+ },
66
+ }),
67
+ ).not.toThrowError();
68
+
69
+ // Wait for the asynchronous POST request to complete
70
+ await new Promise((resolve) => setTimeout(resolve, 100));
71
+ });
72
+
73
+ it("should send a POST request with correct headers", async () => {
74
+ const mockClient: ThirdwebClient = {
75
+ clientId: "test-client-id",
76
+ secretKey: undefined,
77
+ };
78
+
79
+ let requestHeaders: Headers | undefined;
80
+ server.use(
81
+ http.post("https://c.thirdweb.com/event", (handler) => {
82
+ requestHeaders = handler.request.headers;
83
+ return HttpResponse.json({});
84
+ }),
85
+ );
86
+
87
+ await track({
88
+ client: mockClient,
89
+ ecosystem: {
90
+ id: "ecosystem.test-ecosystem-id",
91
+ partnerId: "test-partner-id",
92
+ },
93
+ data: {
94
+ action: "test-action",
95
+ data: "test-data",
96
+ },
97
+ });
98
+
99
+ expect(requestHeaders?.get("x-client-id")).toEqual("test-client-id");
100
+ expect(requestHeaders?.get("x-ecosystem-id")).toEqual(
101
+ "ecosystem.test-ecosystem-id",
102
+ );
103
+ expect(requestHeaders?.get("x-ecosystem-partner-id")).toEqual(
104
+ "test-partner-id",
105
+ );
106
+ });
107
+ });
@@ -0,0 +1,130 @@
1
+ import { http, HttpResponse } from "msw";
2
+ import { setupServer } from "msw/node";
3
+ import { afterAll, afterEach, beforeAll, describe, expect, it } from "vitest";
4
+ import type { ThirdwebClient } from "../../client/client.js";
5
+ import { trackTransaction } from "./transaction.js";
6
+
7
+ const server = setupServer(
8
+ http.post("https://c.thirdweb.com/event", () => {
9
+ return HttpResponse.json({});
10
+ }),
11
+ );
12
+
13
+ describe("transaction tracking", () => {
14
+ beforeAll(() => server.listen());
15
+ afterEach(() => server.resetHandlers());
16
+ afterAll(() => server.close());
17
+
18
+ const mockClient: ThirdwebClient = {
19
+ clientId: "test-client-id",
20
+ secretKey: undefined,
21
+ };
22
+
23
+ it("should track successful transactions", async () => {
24
+ let requestBody: unknown;
25
+ server.use(
26
+ http.post("https://c.thirdweb.com/event", async (handler) => {
27
+ requestBody = await handler.request.json();
28
+ return HttpResponse.json({});
29
+ }),
30
+ );
31
+
32
+ await trackTransaction({
33
+ client: mockClient,
34
+ transactionHash: "0xabcdef1234567890",
35
+ walletAddress: "0x1234567890123456789012345678901234567890",
36
+ walletType: "io.metamask",
37
+ chainId: 1,
38
+ contractAddress: "0x0987654321098765432109876543210987654321",
39
+ functionName: "transfer",
40
+ gasPrice: BigInt(20000000000),
41
+ });
42
+
43
+ expect(requestBody).toEqual({
44
+ source: "sdk",
45
+ action: "transaction:sent",
46
+ clientId: "test-client-id",
47
+ transactionHash: "0xabcdef1234567890",
48
+ walletAddress: "0x1234567890123456789012345678901234567890",
49
+ walletType: "io.metamask",
50
+ chainId: 1,
51
+ contractAddress: "0x0987654321098765432109876543210987654321",
52
+ functionName: "transfer",
53
+ gasPrice: "20000000000",
54
+ errorCode: undefined,
55
+ });
56
+ });
57
+
58
+ it("should track transaction errors", async () => {
59
+ let requestBody: unknown;
60
+ server.use(
61
+ http.post("https://c.thirdweb.com/event", async (handler) => {
62
+ requestBody = await handler.request.json();
63
+ return HttpResponse.json({});
64
+ }),
65
+ );
66
+
67
+ await trackTransaction({
68
+ client: mockClient,
69
+ walletAddress: "0x1234567890123456789012345678901234567890",
70
+ walletType: "io.metamask",
71
+ chainId: 1,
72
+ error: {
73
+ message: "Insufficient funds",
74
+ code: "INSUFFICIENT_FUNDS",
75
+ },
76
+ });
77
+
78
+ expect(requestBody).toEqual({
79
+ source: "sdk",
80
+ action: "transaction:sent",
81
+ clientId: "test-client-id",
82
+ walletAddress: "0x1234567890123456789012345678901234567890",
83
+ walletType: "io.metamask",
84
+ chainId: 1,
85
+ errorCode: '{"message":"Insufficient funds","code":"INSUFFICIENT_FUNDS"}',
86
+ transactionHash: undefined,
87
+ contractAddress: undefined,
88
+ functionName: undefined,
89
+ gasPrice: undefined,
90
+ });
91
+ });
92
+
93
+ it("should send a POST request with correct headers", async () => {
94
+ const mockClient: ThirdwebClient = {
95
+ clientId: "test-client-id",
96
+ secretKey: undefined,
97
+ };
98
+
99
+ let requestHeaders: Headers | undefined;
100
+ server.use(
101
+ http.post("https://c.thirdweb.com/event", (handler) => {
102
+ requestHeaders = handler.request.headers;
103
+ return HttpResponse.json({});
104
+ }),
105
+ );
106
+
107
+ await trackTransaction({
108
+ client: mockClient,
109
+ ecosystem: {
110
+ id: "ecosystem.test-ecosystem-id",
111
+ partnerId: "test-partner-id",
112
+ },
113
+ transactionHash: "0xabcdef1234567890",
114
+ walletAddress: "0x1234567890123456789012345678901234567890",
115
+ walletType: "io.metamask",
116
+ chainId: 1,
117
+ contractAddress: "0x0987654321098765432109876543210987654321",
118
+ functionName: "transfer",
119
+ gasPrice: BigInt(20000000000),
120
+ });
121
+
122
+ expect(requestHeaders?.get("x-client-id")).toEqual("test-client-id");
123
+ expect(requestHeaders?.get("x-ecosystem-id")).toEqual(
124
+ "ecosystem.test-ecosystem-id",
125
+ );
126
+ expect(requestHeaders?.get("x-ecosystem-partner-id")).toEqual(
127
+ "test-partner-id",
128
+ );
129
+ });
130
+ });
@@ -0,0 +1,57 @@
1
+ import type { ThirdwebClient } from "../../client/client.js";
2
+ import { stringify } from "../../utils/json.js";
3
+ import type { Ecosystem } from "../../wallets/in-app/core/wallet/types.js";
4
+ import type { WalletId } from "../../wallets/wallet-types.js";
5
+ import { track } from "./index.js";
6
+
7
+ type TransactionEvent = {
8
+ client: ThirdwebClient;
9
+ ecosystem?: Ecosystem;
10
+ transactionHash?: string;
11
+ walletAddress?: string;
12
+ walletType?: WalletId;
13
+ chainId?: number;
14
+ contractAddress?: string;
15
+ functionName?: string;
16
+ gasPrice?: bigint;
17
+ error?: {
18
+ message: string;
19
+ code: string;
20
+ };
21
+ };
22
+
23
+ /**
24
+ * @internal
25
+ */
26
+ export async function trackTransaction(args: TransactionEvent) {
27
+ return trackTransactionEvent({
28
+ ...args,
29
+ action: "transaction:sent",
30
+ });
31
+ }
32
+
33
+ /**
34
+ * @internal
35
+ */
36
+ function trackTransactionEvent(
37
+ args: TransactionEvent & {
38
+ action: "transaction:sent";
39
+ },
40
+ ) {
41
+ return track({
42
+ client: args.client,
43
+ ecosystem: args.ecosystem,
44
+ data: {
45
+ action: args.action,
46
+ clientId: args.client.clientId,
47
+ chainId: args.chainId,
48
+ transactionHash: args.transactionHash,
49
+ walletAddress: args.walletAddress,
50
+ walletType: args.walletType,
51
+ contractAddress: args.contractAddress,
52
+ functionName: args.functionName,
53
+ gasPrice: args.gasPrice,
54
+ errorCode: stringify(args.error),
55
+ },
56
+ });
57
+ }
@@ -1,3 +1,4 @@
1
+ import { trackLogin } from "../../analytics/track/siwe.js";
1
2
  import { getCachedChain } from "../../chains/utils.js";
2
3
  import { verifySignature } from "../verify-signature.js";
3
4
  import { DEFAULT_LOGIN_STATEMENT, DEFAULT_LOGIN_VERSION } from "./constants.js";
@@ -42,7 +43,7 @@ export type VerifyLoginPayloadResult =
42
43
  * @internal
43
44
  */
44
45
  export function verifyLoginPayload(options: AuthOptions) {
45
- return async ({
46
+ const verifyLoginPayloadFn = async ({
46
47
  payload,
47
48
  signature,
48
49
  }: VerifyLoginPayloadParams): Promise<VerifyLoginPayloadResult> => {
@@ -152,4 +153,27 @@ export function verifyLoginPayload(options: AuthOptions) {
152
153
  payload: { ...payload, [VERIFIED_SYMBOL]: true },
153
154
  };
154
155
  };
156
+
157
+ return async ({
158
+ payload,
159
+ signature,
160
+ }: VerifyLoginPayloadParams): Promise<VerifyLoginPayloadResult> => {
161
+ const result = await verifyLoginPayloadFn({ payload, signature });
162
+
163
+ // We can only track logins if the client is provided
164
+ if (options.client) {
165
+ trackLogin({
166
+ client: options.client,
167
+ walletAddress: payload.address,
168
+ chainId: payload.chain_id
169
+ ? Number.parseInt(payload.chain_id)
170
+ : undefined,
171
+ error: !result.valid
172
+ ? { message: result.error, code: "401" }
173
+ : undefined,
174
+ });
175
+ }
176
+
177
+ return result;
178
+ };
155
179
  }
@@ -203,3 +203,8 @@ export {
203
203
  mintToBatch,
204
204
  type MintToBatchParams,
205
205
  } from "../../extensions/erc1155/write/mintToBatch.js";
206
+
207
+ export {
208
+ mintAdditionalSupplyToBatch,
209
+ type MintAdditionalSupplyToBatchParams,
210
+ } from "../../extensions/erc1155/write/mintAdditionalSupplyToBatch.js";
@@ -213,3 +213,7 @@ export {
213
213
  type UpdateTokenURIParams,
214
214
  isUpdateTokenURISupported,
215
215
  } from "../../extensions/erc721/write/updateTokenURI.js";
216
+ export {
217
+ claimToBatch,
218
+ type ClaimToBatchParams,
219
+ } from "../../extensions/erc721/drops/write/claimToBatch.js";
@@ -21,4 +21,7 @@ export type {
21
21
 
22
22
  export { hasStoredPasskey } from "../../wallets/in-app/web/lib/auth/passkeys.js";
23
23
 
24
- export { socialIcons } from "../../react/core/utils/walletIcon.js";
24
+ export {
25
+ socialIcons,
26
+ getSocialIcon,
27
+ } from "../../react/core/utils/walletIcon.js";
@@ -1,3 +1,4 @@
1
+ import { type Abi, toFunctionSelector } from "viem";
1
2
  import { beforeAll, describe, expect, it } from "vitest";
2
3
  import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
3
4
  import { VITALIK_WALLET } from "../../../test/src/addresses.js";
@@ -8,6 +9,7 @@ import {
8
9
  TEST_ACCOUNT_B,
9
10
  TEST_ACCOUNT_D,
10
11
  } from "../../../test/src/test-wallets.js";
12
+ import { resolveContractAbi } from "../../contract/actions/resolve-abi.js";
11
13
  import { type ThirdwebContract, getContract } from "../../contract/contract.js";
12
14
  import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
13
15
  import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js";
@@ -20,6 +22,7 @@ import { claimTo } from "./drops/write/claimTo.js";
20
22
  import { resetClaimEligibility } from "./drops/write/resetClaimEligibility.js";
21
23
  import { setClaimConditions } from "./drops/write/setClaimConditions.js";
22
24
  import { getNFT } from "./read/getNFT.js";
25
+ import { isGetNFTsSupported } from "./read/getNFTs.js";
23
26
  import { lazyMint } from "./write/lazyMint.js";
24
27
 
25
28
  describe.runIf(process.env.TW_SECRET_KEY)(
@@ -398,5 +401,13 @@ describe.runIf(process.env.TW_SECRET_KEY)(
398
401
  balanceOf({ tokenId: 6n, contract, owner: TEST_ACCOUNT_D.address }),
399
402
  ).resolves.toBe(2n);
400
403
  });
404
+
405
+ it("isGetNFTsSupported should work with our Edition Drop contracts", async () => {
406
+ const abi = await resolveContractAbi<Abi>(contract);
407
+ const selectors = abi
408
+ .filter((f) => f.type === "function")
409
+ .map((f) => toFunctionSelector(f));
410
+ expect(isGetNFTsSupported(selectors)).toBe(true);
411
+ });
401
412
  },
402
413
  );