thirdweb 5.44.1 → 5.45.0-nightly-bbb4f1c53f982b1f9de00fb30efbf2c77f155e96-20240809000532

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 (588) hide show
  1. package/dist/cjs/adapters/ethers5.js +3 -2
  2. package/dist/cjs/adapters/ethers5.js.map +1 -1
  3. package/dist/cjs/adapters/wallet-adapter.js +3 -0
  4. package/dist/cjs/adapters/wallet-adapter.js.map +1 -1
  5. package/dist/cjs/auth/constants.js +1 -2
  6. package/dist/cjs/auth/constants.js.map +1 -1
  7. package/dist/cjs/auth/verify-hash.js +1 -1
  8. package/dist/cjs/auth/verify-hash.js.map +1 -1
  9. package/dist/cjs/chains/chain-definitions/abstract-testnet.js +20 -0
  10. package/dist/cjs/chains/chain-definitions/abstract-testnet.js.map +1 -0
  11. package/dist/cjs/chains/chain-definitions/fraxtal-testnet.js +20 -0
  12. package/dist/cjs/chains/chain-definitions/fraxtal-testnet.js.map +1 -0
  13. package/dist/cjs/chains/chain-definitions/mode-testnet.js +20 -0
  14. package/dist/cjs/chains/chain-definitions/mode-testnet.js.map +1 -0
  15. package/dist/cjs/chains/utils.js +7 -0
  16. package/dist/cjs/chains/utils.js.map +1 -1
  17. package/dist/cjs/exports/chains.js +3 -1
  18. package/dist/cjs/exports/chains.js.map +1 -1
  19. package/dist/cjs/exports/react.js +4 -2
  20. package/dist/cjs/exports/react.js.map +1 -1
  21. package/dist/cjs/exports/wallets/in-app.js +2 -2
  22. package/dist/cjs/exports/wallets/in-app.js.map +1 -1
  23. package/dist/cjs/exports/wallets.js +4 -1
  24. package/dist/cjs/exports/wallets.js.map +1 -1
  25. package/dist/cjs/react/core/hooks/others/useProfiles.js +36 -0
  26. package/dist/cjs/react/core/hooks/others/useProfiles.js.map +1 -0
  27. package/dist/cjs/react/core/utils/{socialIcons.js → walletIcon.js} +26 -1
  28. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -0
  29. package/dist/cjs/react/native/ui/components/TokenIcon.js +2 -2
  30. package/dist/cjs/react/native/ui/components/TokenIcon.js.map +1 -1
  31. package/dist/cjs/react/native/ui/connect/ConnectButton.js +13 -8
  32. package/dist/cjs/react/native/ui/connect/ConnectButton.js.map +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +13 -8
  34. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +22 -5
  36. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  37. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +2 -2
  38. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +13 -8
  40. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  41. package/dist/cjs/react/web/ui/ConnectWallet/Modal/screen.js +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/Modal/screen.js.map +1 -1
  43. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
  44. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  45. package/dist/cjs/react/web/ui/ConnectWallet/icons/AddUserIcon.js +12 -0
  46. package/dist/cjs/react/web/ui/ConnectWallet/icons/AddUserIcon.js.map +1 -0
  47. package/dist/cjs/react/web/ui/ConnectWallet/icons/MultiUserIcon.js +12 -0
  48. package/dist/cjs/react/web/ui/ConnectWallet/icons/MultiUserIcon.js.map +1 -0
  49. package/dist/cjs/react/web/ui/ConnectWallet/locale/de.js +6 -0
  50. package/dist/cjs/react/web/ui/ConnectWallet/locale/de.js.map +1 -1
  51. package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js +6 -0
  52. package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
  53. package/dist/cjs/react/web/ui/ConnectWallet/locale/es.js +6 -0
  54. package/dist/cjs/react/web/ui/ConnectWallet/locale/es.js.map +1 -1
  55. package/dist/cjs/react/web/ui/ConnectWallet/locale/fr.js +6 -0
  56. package/dist/cjs/react/web/ui/ConnectWallet/locale/fr.js.map +1 -1
  57. package/dist/cjs/react/web/ui/ConnectWallet/locale/ja.js +6 -0
  58. package/dist/cjs/react/web/ui/ConnectWallet/locale/ja.js.map +1 -1
  59. package/dist/cjs/react/web/ui/ConnectWallet/locale/kr.js +6 -0
  60. package/dist/cjs/react/web/ui/ConnectWallet/locale/kr.js.map +1 -1
  61. package/dist/cjs/react/web/ui/ConnectWallet/locale/tl.js +6 -0
  62. package/dist/cjs/react/web/ui/ConnectWallet/locale/tl.js.map +1 -1
  63. package/dist/cjs/react/web/ui/ConnectWallet/locale/vi.js +6 -0
  64. package/dist/cjs/react/web/ui/ConnectWallet/locale/vi.js.map +1 -1
  65. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -1
  66. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  67. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +42 -0
  68. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -0
  69. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +58 -0
  70. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -0
  71. package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +8 -5
  72. package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js.map +1 -1
  73. package/dist/cjs/react/web/ui/PayEmbed.js +13 -8
  74. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  75. package/dist/cjs/react/web/ui/components/Spinner.js +1 -1
  76. package/dist/cjs/react/web/ui/components/Spinner.js.map +1 -1
  77. package/dist/cjs/react/web/ui/components/TokenIcon.js +2 -2
  78. package/dist/cjs/react/web/ui/components/TokenIcon.js.map +1 -1
  79. package/dist/cjs/react/web/ui/components/WalletImage.js +6 -32
  80. package/dist/cjs/react/web/ui/components/WalletImage.js.map +1 -1
  81. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +8 -4
  82. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
  83. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletFormUI.js +1 -1
  84. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletFormUI.js.map +1 -1
  85. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js +8 -4
  86. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  87. package/dist/cjs/react/web/wallets/in-app/InAppWalletFormUI.js +5 -5
  88. package/dist/cjs/react/web/wallets/in-app/InAppWalletFormUI.js.map +1 -1
  89. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +22 -16
  90. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  91. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +36 -49
  92. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  93. package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js +47 -20
  94. package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
  95. package/dist/cjs/react/web/wallets/shared/SocialLogin.js +33 -13
  96. package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
  97. package/dist/cjs/react/web/wallets/shared/locale/en.js +1 -1
  98. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -1
  99. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  100. package/dist/cjs/reactive/store.js +3 -0
  101. package/dist/cjs/reactive/store.js.map +1 -1
  102. package/dist/cjs/transaction/serialize-transaction.js +20 -142
  103. package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
  104. package/dist/cjs/version.js +1 -1
  105. package/dist/cjs/version.js.map +1 -1
  106. package/dist/cjs/wallets/coinbase/coinbase-wallet.js +8 -1
  107. package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
  108. package/dist/cjs/wallets/create-wallet.js +8 -1
  109. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  110. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +14 -3
  111. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  112. package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js +67 -0
  113. package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js.map +1 -0
  114. package/dist/cjs/wallets/in-app/core/authentication/siwe.js +47 -0
  115. package/dist/cjs/wallets/in-app/core/authentication/siwe.js.map +1 -0
  116. package/dist/cjs/wallets/in-app/core/authentication/{type.js → types.js} +1 -1
  117. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -0
  118. package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js +8 -1
  119. package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js.map +1 -1
  120. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +47 -1
  121. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  122. package/dist/cjs/wallets/in-app/core/wallet/index.js +3 -3
  123. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  124. package/dist/cjs/wallets/in-app/core/wallet/profiles.js +60 -0
  125. package/dist/cjs/wallets/in-app/core/wallet/profiles.js.map +1 -0
  126. package/dist/cjs/wallets/in-app/native/auth/index.js +3 -3
  127. package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -1
  128. package/dist/cjs/wallets/in-app/native/auth/native-auth.js +47 -112
  129. package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
  130. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +5 -5
  131. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  132. package/dist/cjs/wallets/in-app/native/native-connector.js +76 -36
  133. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  134. package/dist/cjs/wallets/in-app/web/lib/auth/abstract-login.js +0 -2
  135. package/dist/cjs/wallets/in-app/web/lib/auth/abstract-login.js.map +1 -1
  136. package/dist/cjs/wallets/in-app/web/lib/auth/base-login.js +49 -148
  137. package/dist/cjs/wallets/in-app/web/lib/auth/base-login.js.map +1 -1
  138. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +26 -12
  139. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  140. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +3 -3
  141. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  142. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js +2 -2
  143. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
  144. package/dist/cjs/wallets/in-app/web/lib/auth/otp.js +89 -0
  145. package/dist/cjs/wallets/in-app/web/lib/auth/otp.js.map +1 -0
  146. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js +7 -7
  147. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  148. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +89 -30
  149. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  150. package/dist/cjs/wallets/manager/index.js +41 -5
  151. package/dist/cjs/wallets/manager/index.js.map +1 -1
  152. package/dist/cjs/wallets/native/create-wallet.js +8 -1
  153. package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
  154. package/dist/cjs/wallets/smart/lib/utils.js +4 -1
  155. package/dist/cjs/wallets/smart/lib/utils.js.map +1 -1
  156. package/dist/cjs/wallets/smart/smart-wallet.js +8 -1
  157. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  158. package/dist/esm/adapters/ethers5.js +3 -2
  159. package/dist/esm/adapters/ethers5.js.map +1 -1
  160. package/dist/esm/adapters/wallet-adapter.js +3 -0
  161. package/dist/esm/adapters/wallet-adapter.js.map +1 -1
  162. package/dist/esm/auth/constants.js +0 -1
  163. package/dist/esm/auth/constants.js.map +1 -1
  164. package/dist/esm/auth/verify-hash.js +2 -2
  165. package/dist/esm/auth/verify-hash.js.map +1 -1
  166. package/dist/esm/chains/chain-definitions/abstract-testnet.js +17 -0
  167. package/dist/esm/chains/chain-definitions/abstract-testnet.js.map +1 -0
  168. package/dist/esm/chains/chain-definitions/fraxtal-testnet.js +17 -0
  169. package/dist/esm/chains/chain-definitions/fraxtal-testnet.js.map +1 -0
  170. package/dist/esm/chains/chain-definitions/mode-testnet.js +17 -0
  171. package/dist/esm/chains/chain-definitions/mode-testnet.js.map +1 -0
  172. package/dist/esm/chains/utils.js +6 -0
  173. package/dist/esm/chains/utils.js.map +1 -1
  174. package/dist/esm/exports/chains.js +1 -0
  175. package/dist/esm/exports/chains.js.map +1 -1
  176. package/dist/esm/exports/react.js +1 -0
  177. package/dist/esm/exports/react.js.map +1 -1
  178. package/dist/esm/exports/wallets/embedded.js +1 -1
  179. package/dist/esm/exports/wallets/embedded.js.map +1 -1
  180. package/dist/esm/exports/wallets/in-app.js +2 -2
  181. package/dist/esm/exports/wallets/in-app.js.map +1 -1
  182. package/dist/esm/exports/wallets/in-app.native.js +1 -1
  183. package/dist/esm/exports/wallets/in-app.native.js.map +1 -1
  184. package/dist/esm/exports/wallets.js +1 -0
  185. package/dist/esm/exports/wallets.js.map +1 -1
  186. package/dist/esm/react/core/hooks/others/useProfiles.js +33 -0
  187. package/dist/esm/react/core/hooks/others/useProfiles.js.map +1 -0
  188. package/dist/esm/react/core/utils/{socialIcons.js → walletIcon.js} +25 -1
  189. package/dist/esm/react/core/utils/walletIcon.js.map +1 -0
  190. package/dist/esm/react/native/ui/components/TokenIcon.js +1 -1
  191. package/dist/esm/react/native/ui/components/TokenIcon.js.map +1 -1
  192. package/dist/esm/react/native/ui/connect/ConnectButton.js +14 -9
  193. package/dist/esm/react/native/ui/connect/ConnectButton.js.map +1 -1
  194. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +13 -8
  195. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  196. package/dist/esm/react/web/ui/ConnectWallet/Details.js +22 -5
  197. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  198. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +1 -1
  199. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  200. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +13 -8
  201. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  202. package/dist/esm/react/web/ui/ConnectWallet/Modal/screen.js +1 -1
  203. package/dist/esm/react/web/ui/ConnectWallet/Modal/screen.js.map +1 -1
  204. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +1 -1
  205. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  206. package/dist/esm/react/web/ui/ConnectWallet/icons/AddUserIcon.js +8 -0
  207. package/dist/esm/react/web/ui/ConnectWallet/icons/AddUserIcon.js.map +1 -0
  208. package/dist/esm/react/web/ui/ConnectWallet/icons/MultiUserIcon.js +8 -0
  209. package/dist/esm/react/web/ui/ConnectWallet/icons/MultiUserIcon.js.map +1 -0
  210. package/dist/esm/react/web/ui/ConnectWallet/locale/de.js +6 -0
  211. package/dist/esm/react/web/ui/ConnectWallet/locale/de.js.map +1 -1
  212. package/dist/esm/react/web/ui/ConnectWallet/locale/en.js +6 -0
  213. package/dist/esm/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
  214. package/dist/esm/react/web/ui/ConnectWallet/locale/es.js +6 -0
  215. package/dist/esm/react/web/ui/ConnectWallet/locale/es.js.map +1 -1
  216. package/dist/esm/react/web/ui/ConnectWallet/locale/fr.js +6 -0
  217. package/dist/esm/react/web/ui/ConnectWallet/locale/fr.js.map +1 -1
  218. package/dist/esm/react/web/ui/ConnectWallet/locale/ja.js +6 -0
  219. package/dist/esm/react/web/ui/ConnectWallet/locale/ja.js.map +1 -1
  220. package/dist/esm/react/web/ui/ConnectWallet/locale/kr.js +6 -0
  221. package/dist/esm/react/web/ui/ConnectWallet/locale/kr.js.map +1 -1
  222. package/dist/esm/react/web/ui/ConnectWallet/locale/tl.js +6 -0
  223. package/dist/esm/react/web/ui/ConnectWallet/locale/tl.js.map +1 -1
  224. package/dist/esm/react/web/ui/ConnectWallet/locale/vi.js +6 -0
  225. package/dist/esm/react/web/ui/ConnectWallet/locale/vi.js.map +1 -1
  226. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -1
  227. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  228. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +39 -0
  229. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -0
  230. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +55 -0
  231. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -0
  232. package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +8 -5
  233. package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js.map +1 -1
  234. package/dist/esm/react/web/ui/PayEmbed.js +14 -9
  235. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  236. package/dist/esm/react/web/ui/components/Spinner.js +1 -1
  237. package/dist/esm/react/web/ui/components/Spinner.js.map +1 -1
  238. package/dist/esm/react/web/ui/components/TokenIcon.js +1 -1
  239. package/dist/esm/react/web/ui/components/TokenIcon.js.map +1 -1
  240. package/dist/esm/react/web/ui/components/WalletImage.js +4 -30
  241. package/dist/esm/react/web/ui/components/WalletImage.js.map +1 -1
  242. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +8 -4
  243. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
  244. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletFormUI.js +2 -2
  245. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletFormUI.js.map +1 -1
  246. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js +8 -4
  247. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  248. package/dist/esm/react/web/wallets/in-app/InAppWalletFormUI.js +5 -5
  249. package/dist/esm/react/web/wallets/in-app/InAppWalletFormUI.js.map +1 -1
  250. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +18 -12
  251. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  252. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +36 -49
  253. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  254. package/dist/esm/react/web/wallets/shared/PassKeyLogin.js +47 -20
  255. package/dist/esm/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
  256. package/dist/esm/react/web/wallets/shared/SocialLogin.js +33 -13
  257. package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
  258. package/dist/esm/react/web/wallets/shared/locale/en.js +1 -1
  259. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -2
  260. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  261. package/dist/esm/reactive/store.js +3 -0
  262. package/dist/esm/reactive/store.js.map +1 -1
  263. package/dist/esm/transaction/serialize-transaction.js +21 -142
  264. package/dist/esm/transaction/serialize-transaction.js.map +1 -1
  265. package/dist/esm/version.js +1 -1
  266. package/dist/esm/version.js.map +1 -1
  267. package/dist/esm/wallets/coinbase/coinbase-wallet.js +8 -1
  268. package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
  269. package/dist/esm/wallets/create-wallet.js +8 -1
  270. package/dist/esm/wallets/create-wallet.js.map +1 -1
  271. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +11 -1
  272. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  273. package/dist/esm/wallets/in-app/core/authentication/linkAccount.js +63 -0
  274. package/dist/esm/wallets/in-app/core/authentication/linkAccount.js.map +1 -0
  275. package/dist/esm/wallets/in-app/core/authentication/siwe.js +44 -0
  276. package/dist/esm/wallets/in-app/core/authentication/siwe.js.map +1 -0
  277. package/dist/esm/wallets/in-app/core/authentication/{type.js → types.js} +1 -1
  278. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -0
  279. package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js +8 -1
  280. package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js.map +1 -1
  281. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +47 -1
  282. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  283. package/dist/esm/wallets/in-app/core/wallet/index.js +2 -2
  284. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  285. package/dist/esm/wallets/in-app/core/wallet/profiles.js +56 -0
  286. package/dist/esm/wallets/in-app/core/wallet/profiles.js.map +1 -0
  287. package/dist/esm/wallets/in-app/native/auth/index.js +2 -2
  288. package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -1
  289. package/dist/esm/wallets/in-app/native/auth/native-auth.js +47 -112
  290. package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
  291. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +1 -1
  292. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  293. package/dist/esm/wallets/in-app/native/native-connector.js +67 -27
  294. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  295. package/dist/esm/wallets/in-app/web/lib/auth/abstract-login.js +0 -2
  296. package/dist/esm/wallets/in-app/web/lib/auth/abstract-login.js.map +1 -1
  297. package/dist/esm/wallets/in-app/web/lib/auth/base-login.js +49 -148
  298. package/dist/esm/wallets/in-app/web/lib/auth/base-login.js.map +1 -1
  299. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +26 -12
  300. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  301. package/dist/esm/wallets/in-app/web/lib/auth/index.js +2 -2
  302. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  303. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js +3 -3
  304. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
  305. package/dist/esm/wallets/in-app/web/lib/auth/otp.js +84 -0
  306. package/dist/esm/wallets/in-app/web/lib/auth/otp.js.map +1 -0
  307. package/dist/esm/wallets/in-app/web/lib/in-app-account.js +1 -1
  308. package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  309. package/dist/esm/wallets/in-app/web/lib/web-connector.js +88 -29
  310. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  311. package/dist/esm/wallets/manager/index.js +41 -5
  312. package/dist/esm/wallets/manager/index.js.map +1 -1
  313. package/dist/esm/wallets/native/create-wallet.js +8 -1
  314. package/dist/esm/wallets/native/create-wallet.js.map +1 -1
  315. package/dist/esm/wallets/smart/lib/utils.js +4 -1
  316. package/dist/esm/wallets/smart/lib/utils.js.map +1 -1
  317. package/dist/esm/wallets/smart/smart-wallet.js +8 -1
  318. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  319. package/dist/types/adapters/ethers5.d.ts +1 -1
  320. package/dist/types/adapters/ethers5.d.ts.map +1 -1
  321. package/dist/types/adapters/wallet-adapter.d.ts.map +1 -1
  322. package/dist/types/auth/constants.d.ts +0 -1
  323. package/dist/types/auth/constants.d.ts.map +1 -1
  324. package/dist/types/auth/verify-hash.d.ts.map +1 -1
  325. package/dist/types/chains/chain-definitions/abstract-testnet.d.ts +7 -0
  326. package/dist/types/chains/chain-definitions/abstract-testnet.d.ts.map +1 -0
  327. package/dist/types/chains/chain-definitions/fraxtal-testnet.d.ts +7 -0
  328. package/dist/types/chains/chain-definitions/fraxtal-testnet.d.ts.map +1 -0
  329. package/dist/types/chains/chain-definitions/mode-testnet.d.ts +7 -0
  330. package/dist/types/chains/chain-definitions/mode-testnet.d.ts.map +1 -0
  331. package/dist/types/chains/utils.d.ts +6 -0
  332. package/dist/types/chains/utils.d.ts.map +1 -1
  333. package/dist/types/exports/chains.d.ts +1 -0
  334. package/dist/types/exports/chains.d.ts.map +1 -1
  335. package/dist/types/exports/react.d.ts +1 -0
  336. package/dist/types/exports/react.d.ts.map +1 -1
  337. package/dist/types/exports/wallets/embedded.d.ts +1 -1
  338. package/dist/types/exports/wallets/embedded.d.ts.map +1 -1
  339. package/dist/types/exports/wallets/in-app.d.ts +2 -2
  340. package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
  341. package/dist/types/exports/wallets/in-app.native.d.ts +1 -1
  342. package/dist/types/exports/wallets/in-app.native.d.ts.map +1 -1
  343. package/dist/types/exports/wallets.d.ts +1 -0
  344. package/dist/types/exports/wallets.d.ts.map +1 -1
  345. package/dist/types/react/core/hooks/others/useProfiles.d.ts +23 -0
  346. package/dist/types/react/core/hooks/others/useProfiles.d.ts.map +1 -0
  347. package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
  348. package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
  349. package/dist/types/react/core/utils/storage.d.ts +2 -2
  350. package/dist/types/react/core/utils/storage.d.ts.map +1 -1
  351. package/dist/types/react/core/utils/{socialIcons.d.ts → walletIcon.d.ts} +2 -1
  352. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -0
  353. package/dist/types/react/native/ui/connect/ConnectButton.d.ts.map +1 -1
  354. package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -1
  355. package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
  356. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts +1 -1
  357. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  358. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  359. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  360. package/dist/types/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.d.ts.map +1 -1
  361. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  362. package/dist/types/react/web/ui/ConnectWallet/icons/AddUserIcon.d.ts +6 -0
  363. package/dist/types/react/web/ui/ConnectWallet/icons/AddUserIcon.d.ts.map +1 -0
  364. package/dist/types/react/web/ui/ConnectWallet/icons/MultiUserIcon.d.ts +6 -0
  365. package/dist/types/react/web/ui/ConnectWallet/icons/MultiUserIcon.d.ts.map +1 -0
  366. package/dist/types/react/web/ui/ConnectWallet/locale/de.d.ts.map +1 -1
  367. package/dist/types/react/web/ui/ConnectWallet/locale/en.d.ts.map +1 -1
  368. package/dist/types/react/web/ui/ConnectWallet/locale/es.d.ts.map +1 -1
  369. package/dist/types/react/web/ui/ConnectWallet/locale/fr.d.ts.map +1 -1
  370. package/dist/types/react/web/ui/ConnectWallet/locale/ja.d.ts.map +1 -1
  371. package/dist/types/react/web/ui/ConnectWallet/locale/kr.d.ts.map +1 -1
  372. package/dist/types/react/web/ui/ConnectWallet/locale/tl.d.ts.map +1 -1
  373. package/dist/types/react/web/ui/ConnectWallet/locale/types.d.ts +6 -0
  374. package/dist/types/react/web/ui/ConnectWallet/locale/types.d.ts.map +1 -1
  375. package/dist/types/react/web/ui/ConnectWallet/locale/vi.d.ts.map +1 -1
  376. package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts +11 -0
  377. package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts.map +1 -0
  378. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts +13 -0
  379. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -0
  380. package/dist/types/react/web/ui/ConnectWallet/screens/ManageWalletScreen.d.ts.map +1 -1
  381. package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts +1 -1
  382. package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts.map +1 -1
  383. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  384. package/dist/types/react/web/ui/components/WalletImage.d.ts.map +1 -1
  385. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts +1 -0
  386. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts.map +1 -1
  387. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletFormUI.d.ts +1 -0
  388. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletFormUI.d.ts.map +1 -1
  389. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts +2 -1
  390. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
  391. package/dist/types/react/web/wallets/in-app/InAppWalletFormUI.d.ts +2 -1
  392. package/dist/types/react/web/wallets/in-app/InAppWalletFormUI.d.ts.map +1 -1
  393. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts +3 -1
  394. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  395. package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts +1 -0
  396. package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
  397. package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts +4 -1
  398. package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts.map +1 -1
  399. package/dist/types/react/web/wallets/shared/SocialLogin.d.ts +3 -0
  400. package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
  401. package/dist/types/reactive/store.d.ts.map +1 -1
  402. package/dist/types/transaction/serialize-transaction.d.ts +8 -8
  403. package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
  404. package/dist/types/utils/any-evm/keyless-transaction.d.ts +1 -1
  405. package/dist/types/version.d.ts +1 -1
  406. package/dist/types/version.d.ts.map +1 -1
  407. package/dist/types/wallets/coinbase/coinbase-wallet.d.ts.map +1 -1
  408. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  409. package/dist/types/wallets/ecosystem/types.d.ts +2 -8
  410. package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
  411. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +8 -3
  412. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
  413. package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts +24 -0
  414. package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts.map +1 -0
  415. package/dist/types/wallets/in-app/core/authentication/siwe.d.ts +14 -0
  416. package/dist/types/wallets/in-app/core/authentication/siwe.d.ts.map +1 -0
  417. package/dist/types/wallets/in-app/core/authentication/{type.d.ts → types.d.ts} +17 -2
  418. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -0
  419. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts +4 -3
  420. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts.map +1 -1
  421. package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts.map +1 -1
  422. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  423. package/dist/types/wallets/in-app/core/wallet/profiles.d.ts +48 -0
  424. package/dist/types/wallets/in-app/core/wallet/profiles.d.ts.map +1 -0
  425. package/dist/types/wallets/in-app/core/wallet/types.d.ts +1 -1
  426. package/dist/types/wallets/in-app/core/wallet/types.d.ts.map +1 -1
  427. package/dist/types/wallets/in-app/native/auth/index.d.ts +3 -3
  428. package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -1
  429. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +7 -13
  430. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
  431. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts +1 -1
  432. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
  433. package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts +1 -1
  434. package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts.map +1 -1
  435. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts +3 -3
  436. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts.map +1 -1
  437. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts +1 -1
  438. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts.map +1 -1
  439. package/dist/types/wallets/in-app/native/helpers/types.d.ts +1 -1
  440. package/dist/types/wallets/in-app/native/helpers/types.d.ts.map +1 -1
  441. package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts +1 -1
  442. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts +1 -1
  443. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
  444. package/dist/types/wallets/in-app/native/native-connector.d.ts +6 -4
  445. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  446. package/dist/types/wallets/in-app/web/lib/auth/abstract-login.d.ts +4 -12
  447. package/dist/types/wallets/in-app/web/lib/auth/abstract-login.d.ts.map +1 -1
  448. package/dist/types/wallets/in-app/web/lib/auth/base-login.d.ts +12 -15
  449. package/dist/types/wallets/in-app/web/lib/auth/base-login.d.ts.map +1 -1
  450. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +11 -9
  451. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
  452. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +4 -4
  453. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
  454. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts +1 -1
  455. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -1
  456. package/dist/types/wallets/in-app/web/lib/auth/otp.d.ts +15 -0
  457. package/dist/types/wallets/in-app/web/lib/auth/otp.d.ts.map +1 -0
  458. package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts +1 -1
  459. package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +1 -1
  460. package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts +1 -1
  461. package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts.map +1 -1
  462. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts +1 -1
  463. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +1 -1
  464. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +11 -4
  465. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  466. package/dist/types/wallets/in-app/web/types.d.ts +1 -1
  467. package/dist/types/wallets/in-app/web/types.d.ts.map +1 -1
  468. package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
  469. package/dist/types/wallets/manager/index.d.ts +1 -0
  470. package/dist/types/wallets/manager/index.d.ts.map +1 -1
  471. package/dist/types/wallets/native/create-wallet.d.ts.map +1 -1
  472. package/dist/types/wallets/smart/lib/utils.d.ts.map +1 -1
  473. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  474. package/dist/types/wallets/types.d.ts +1 -1
  475. package/dist/types/wallets/types.d.ts.map +1 -1
  476. package/package.json +3 -3
  477. package/src/adapters/ethers5.ts +4 -2
  478. package/src/adapters/wallet-adapter.ts +3 -0
  479. package/src/auth/constants.ts +0 -3
  480. package/src/auth/verify-hash.ts +7 -5
  481. package/src/chains/chain-definitions/abstract-testnet.ts +17 -0
  482. package/src/chains/chain-definitions/fraxtal-testnet.ts +17 -0
  483. package/src/chains/chain-definitions/mode-testnet.ts +17 -0
  484. package/src/chains/utils.ts +7 -0
  485. package/src/exports/chains.ts +1 -0
  486. package/src/exports/react.ts +1 -0
  487. package/src/exports/wallets/embedded.ts +1 -1
  488. package/src/exports/wallets/in-app.native.ts +1 -1
  489. package/src/exports/wallets/in-app.ts +2 -2
  490. package/src/exports/wallets.ts +5 -0
  491. package/src/extensions/marketplace/direct-listings/direct-listings.test.ts +334 -337
  492. package/src/extensions/marketplace/english-auctions/english-auctions.test.ts +231 -236
  493. package/src/extensions/marketplace/offers/offers.test.ts +1 -1
  494. package/src/extensions/prebuilts/deploy-modular-core.test.ts +1 -1
  495. package/src/react/core/hooks/others/useProfiles.ts +36 -0
  496. package/src/react/core/utils/storage.ts +1 -1
  497. package/src/react/core/utils/{socialIcons.ts → walletIcon.ts} +25 -0
  498. package/src/react/native/ui/components/TokenIcon.tsx +1 -1
  499. package/src/react/native/ui/connect/ConnectButton.tsx +14 -9
  500. package/src/react/native/ui/connect/ConnectModal.tsx +1 -1
  501. package/src/react/native/ui/connect/InAppWalletUI.tsx +1 -1
  502. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +13 -8
  503. package/src/react/web/ui/ConnectWallet/Details.tsx +45 -11
  504. package/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx +3 -1
  505. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +13 -8
  506. package/src/react/web/ui/ConnectWallet/Modal/screen.tsx +1 -1
  507. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +1 -1
  508. package/src/react/web/ui/ConnectWallet/icons/AddUserIcon.tsx +25 -0
  509. package/src/react/web/ui/ConnectWallet/icons/MultiUserIcon.tsx +25 -0
  510. package/src/react/web/ui/ConnectWallet/locale/de.ts +6 -0
  511. package/src/react/web/ui/ConnectWallet/locale/en.ts +6 -0
  512. package/src/react/web/ui/ConnectWallet/locale/es.ts +6 -0
  513. package/src/react/web/ui/ConnectWallet/locale/fr.ts +6 -0
  514. package/src/react/web/ui/ConnectWallet/locale/ja.ts +6 -0
  515. package/src/react/web/ui/ConnectWallet/locale/kr.ts +6 -0
  516. package/src/react/web/ui/ConnectWallet/locale/tl.ts +6 -1
  517. package/src/react/web/ui/ConnectWallet/locale/types.ts +6 -0
  518. package/src/react/web/ui/ConnectWallet/locale/vi.ts +6 -0
  519. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +5 -1
  520. package/src/react/web/ui/ConnectWallet/screens/LinkProfileScreen.tsx +88 -0
  521. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +119 -0
  522. package/src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.tsx +20 -4
  523. package/src/react/web/ui/ConnectWallet/screens/types.ts +3 -1
  524. package/src/react/web/ui/PayEmbed.tsx +14 -9
  525. package/src/react/web/ui/components/Spinner.tsx +1 -1
  526. package/src/react/web/ui/components/TokenIcon.tsx +1 -1
  527. package/src/react/web/ui/components/WalletImage.tsx +7 -41
  528. package/src/react/web/wallets/ecosystem/EcosystemWalletConnectUI.tsx +16 -4
  529. package/src/react/web/wallets/ecosystem/EcosystemWalletFormUI.tsx +14 -6
  530. package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +17 -5
  531. package/src/react/web/wallets/in-app/InAppWalletFormUI.tsx +13 -12
  532. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +20 -15
  533. package/src/react/web/wallets/shared/OTPLoginUI.tsx +49 -54
  534. package/src/react/web/wallets/shared/PassKeyLogin.tsx +59 -20
  535. package/src/react/web/wallets/shared/SocialLogin.tsx +46 -14
  536. package/src/react/web/wallets/shared/locale/en.ts +1 -1
  537. package/src/react/web/wallets/shared/oauthSignIn.ts +2 -2
  538. package/src/reactive/store.ts +3 -0
  539. package/src/transaction/serialize-transaction.test.ts +13 -9
  540. package/src/transaction/serialize-transaction.ts +31 -258
  541. package/src/version.ts +1 -1
  542. package/src/wallets/coinbase/coinbase-wallet.ts +9 -1
  543. package/src/wallets/create-wallet.ts +9 -1
  544. package/src/wallets/ecosystem/types.ts +2 -10
  545. package/src/wallets/in-app/core/authentication/getLoginPath.ts +22 -3
  546. package/src/wallets/in-app/core/authentication/linkAccount.ts +96 -0
  547. package/src/wallets/in-app/core/authentication/siwe.ts +63 -0
  548. package/src/wallets/in-app/core/authentication/{type.ts → types.ts} +18 -1
  549. package/src/wallets/in-app/core/interfaces/connector.ts +14 -5
  550. package/src/wallets/in-app/core/wallet/ecosystem-core.ts +10 -1
  551. package/src/wallets/in-app/core/wallet/in-app-core.ts +68 -3
  552. package/src/wallets/in-app/core/wallet/index.ts +2 -2
  553. package/src/wallets/in-app/core/wallet/profiles.ts +74 -0
  554. package/src/wallets/in-app/core/wallet/types.ts +1 -1
  555. package/src/wallets/in-app/native/auth/index.ts +2 -2
  556. package/src/wallets/in-app/native/auth/native-auth.ts +70 -183
  557. package/src/wallets/in-app/native/helpers/api/fetchers.ts +1 -1
  558. package/src/wallets/in-app/native/helpers/auth/logout.ts +1 -1
  559. package/src/wallets/in-app/native/helpers/auth/middleware.ts +1 -1
  560. package/src/wallets/in-app/native/helpers/storage/local.ts +1 -1
  561. package/src/wallets/in-app/native/helpers/types.ts +1 -1
  562. package/src/wallets/in-app/native/helpers/wallet/creation.ts +1 -1
  563. package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +1 -1
  564. package/src/wallets/in-app/native/native-connector.ts +96 -35
  565. package/src/wallets/in-app/web/lib/auth/abstract-login.ts +4 -14
  566. package/src/wallets/in-app/web/lib/auth/base-login.ts +75 -177
  567. package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +37 -18
  568. package/src/wallets/in-app/web/lib/auth/index.ts +2 -2
  569. package/src/wallets/in-app/web/lib/auth/oauth.ts +4 -4
  570. package/src/wallets/in-app/web/lib/auth/otp.ts +114 -0
  571. package/src/wallets/in-app/web/lib/auth/passkeys.ts +1 -1
  572. package/src/wallets/in-app/web/lib/get-url-token.ts +1 -1
  573. package/src/wallets/in-app/web/lib/in-app-account.ts +1 -1
  574. package/src/wallets/in-app/web/lib/web-connector.ts +93 -37
  575. package/src/wallets/in-app/web/types.ts +1 -1
  576. package/src/wallets/interfaces/wallet.ts +1 -0
  577. package/src/wallets/manager/index.ts +51 -5
  578. package/src/wallets/native/create-wallet.ts +9 -1
  579. package/src/wallets/smart/lib/utils.ts +6 -1
  580. package/src/wallets/smart/smart-wallet-integration.test.ts +3 -3
  581. package/src/wallets/smart/smart-wallet.ts +9 -1
  582. package/src/wallets/types.ts +6 -1
  583. package/dist/cjs/react/core/utils/socialIcons.js.map +0 -1
  584. package/dist/cjs/wallets/in-app/core/authentication/type.js.map +0 -1
  585. package/dist/esm/react/core/utils/socialIcons.js.map +0 -1
  586. package/dist/esm/wallets/in-app/core/authentication/type.js.map +0 -1
  587. package/dist/types/react/core/utils/socialIcons.d.ts.map +0 -1
  588. package/dist/types/wallets/in-app/core/authentication/type.d.ts.map +0 -1
@@ -32,133 +32,131 @@ import { isListingValid } from "./utils.js";
32
32
  import { buyFromListing } from "./write/buyFromListing.js";
33
33
  import { createListing } from "./write/createListing.js";
34
34
 
35
- describe.runIf(process.env.TW_SECRET_KEY)(
36
- "Marketplace: Direct Listings",
37
- () => {
38
- describe("ERC721", () => {
39
- let nftTokenId: bigint;
40
- let marketplaceContract: ThirdwebContract;
41
- let erc721Contract: ThirdwebContract;
42
- beforeAll(async () => {
43
- marketplaceContract = getContract({
44
- address: await deployMarketplaceContract({
45
- account: TEST_ACCOUNT_A,
46
- chain: ANVIL_CHAIN,
47
- client: TEST_CLIENT,
48
- params: {
49
- name: "TestMarketPlace",
50
- },
51
- }),
52
- client: TEST_CLIENT,
35
+ describe.skip("Marketplace: Direct Listings", () => {
36
+ describe("ERC721", () => {
37
+ let nftTokenId: bigint;
38
+ let marketplaceContract: ThirdwebContract;
39
+ let erc721Contract: ThirdwebContract;
40
+ beforeAll(async () => {
41
+ marketplaceContract = getContract({
42
+ address: await deployMarketplaceContract({
43
+ account: TEST_ACCOUNT_A,
53
44
  chain: ANVIL_CHAIN,
54
- });
55
-
56
- // also deploy an ERC721 contract
57
- erc721Contract = getContract({
58
- address: await deployERC721Contract({
59
- type: "TokenERC721",
60
- account: TEST_ACCOUNT_A,
61
- chain: ANVIL_CHAIN,
62
- client: TEST_CLIENT,
63
- params: {
64
- name: "TestERC721",
65
- },
66
- }),
67
45
  client: TEST_CLIENT,
68
- chain: ANVIL_CHAIN,
69
- });
46
+ params: {
47
+ name: "TestMarketPlace",
48
+ },
49
+ }),
50
+ client: TEST_CLIENT,
51
+ chain: ANVIL_CHAIN,
52
+ });
70
53
 
71
- const receipt = await sendAndConfirmTransaction({
72
- transaction: mintToErc721({
73
- contract: erc721Contract,
74
- to: TEST_ACCOUNT_A.address,
75
- nft: { name: "Test:ERC721:DirectListing" },
76
- }),
54
+ // also deploy an ERC721 contract
55
+ erc721Contract = getContract({
56
+ address: await deployERC721Contract({
57
+ type: "TokenERC721",
77
58
  account: TEST_ACCOUNT_A,
78
- });
59
+ chain: ANVIL_CHAIN,
60
+ client: TEST_CLIENT,
61
+ params: {
62
+ name: "TestERC721",
63
+ },
64
+ }),
65
+ client: TEST_CLIENT,
66
+ chain: ANVIL_CHAIN,
67
+ });
79
68
 
80
- const mintEvents = parseEventLogs({
81
- events: [tokensMintedEventErc721()],
82
- logs: receipt.logs,
83
- });
69
+ const receipt = await sendAndConfirmTransaction({
70
+ transaction: mintToErc721({
71
+ contract: erc721Contract,
72
+ to: TEST_ACCOUNT_A.address,
73
+ nft: { name: "Test:ERC721:DirectListing" },
74
+ }),
75
+ account: TEST_ACCOUNT_A,
76
+ });
84
77
 
85
- expect(mintEvents.length).toBe(1);
86
- expect(mintEvents[0]?.args.tokenIdMinted).toBeDefined();
78
+ const mintEvents = parseEventLogs({
79
+ events: [tokensMintedEventErc721()],
80
+ logs: receipt.logs,
81
+ });
87
82
 
88
- nftTokenId = mintEvents[0]?.args.tokenIdMinted as bigint;
89
- // does a lot of stuff, this may take a while
90
- }, 120_000);
83
+ expect(mintEvents.length).toBe(1);
84
+ expect(mintEvents[0]?.args.tokenIdMinted).toBeDefined();
91
85
 
92
- it("should work for basic listings (Native Currency)", async () => {
93
- // listings should be 0 length to start
94
- const listings = await getAllListings({
95
- contract: marketplaceContract,
96
- });
97
- expect(listings.length).toBe(0);
98
- // oh and so should totalListings
99
- expect(await totalListings({ contract: marketplaceContract })).toBe(0n);
86
+ nftTokenId = mintEvents[0]?.args.tokenIdMinted as bigint;
87
+ // does a lot of stuff, this may take a while
88
+ }, 120_000);
100
89
 
101
- // approve first
102
- const approveTx = approveErc721({
103
- contract: erc721Contract,
104
- to: marketplaceContract.address,
105
- tokenId: nftTokenId,
106
- });
90
+ it("should work for basic listings (Native Currency)", async () => {
91
+ // listings should be 0 length to start
92
+ const listings = await getAllListings({
93
+ contract: marketplaceContract,
94
+ });
95
+ expect(listings.length).toBe(0);
96
+ // oh and so should totalListings
97
+ expect(await totalListings({ contract: marketplaceContract })).toBe(0n);
98
+
99
+ // approve first
100
+ const approveTx = approveErc721({
101
+ contract: erc721Contract,
102
+ to: marketplaceContract.address,
103
+ tokenId: nftTokenId,
104
+ });
107
105
 
108
- await sendAndConfirmTransaction({
109
- transaction: approveTx,
110
- account: TEST_ACCOUNT_A,
111
- });
106
+ await sendAndConfirmTransaction({
107
+ transaction: approveTx,
108
+ account: TEST_ACCOUNT_A,
109
+ });
112
110
 
113
- const transaction = createListing({
114
- contract: marketplaceContract,
115
- assetContractAddress: erc721Contract.address,
116
- tokenId: nftTokenId,
117
- pricePerToken: "1",
118
- });
119
- const receipt = await sendAndConfirmTransaction({
120
- transaction,
121
- account: TEST_ACCOUNT_A,
122
- });
111
+ const transaction = createListing({
112
+ contract: marketplaceContract,
113
+ assetContractAddress: erc721Contract.address,
114
+ tokenId: nftTokenId,
115
+ pricePerToken: "1",
116
+ });
117
+ const receipt = await sendAndConfirmTransaction({
118
+ transaction,
119
+ account: TEST_ACCOUNT_A,
120
+ });
123
121
 
124
- const listingEvents = parseEventLogs({
125
- events: [newListingEvent()],
126
- logs: receipt.logs,
127
- });
122
+ const listingEvents = parseEventLogs({
123
+ events: [newListingEvent()],
124
+ logs: receipt.logs,
125
+ });
128
126
 
129
- expect(listingEvents.length).toBe(1);
127
+ expect(listingEvents.length).toBe(1);
130
128
 
131
- // biome-ignore lint/style/noNonNullAssertion: OK in tests
132
- const listingEvent = listingEvents[0]!;
129
+ // biome-ignore lint/style/noNonNullAssertion: OK in tests
130
+ const listingEvent = listingEvents[0]!;
133
131
 
134
- expect(listingEvent.args.listingCreator).toBe(TEST_ACCOUNT_A.address);
135
- expect(listingEvent.args.assetContract).toBe(erc721Contract.address);
132
+ expect(listingEvent.args.listingCreator).toBe(TEST_ACCOUNT_A.address);
133
+ expect(listingEvent.args.assetContract).toBe(erc721Contract.address);
136
134
 
137
- // at this point listings should be 1
138
- const listingsAfter = await getAllListings({
139
- contract: marketplaceContract,
140
- });
141
- expect(listingsAfter.length).toBe(1);
142
- // valid listings should also be 1!
143
- const validListings = await getAllValidListings({
144
- contract: marketplaceContract,
145
- });
146
- expect(validListings.length).toBe(1);
147
- // and totalListings should be 1
148
- expect(await totalListings({ contract: marketplaceContract })).toBe(1n);
135
+ // at this point listings should be 1
136
+ const listingsAfter = await getAllListings({
137
+ contract: marketplaceContract,
138
+ });
139
+ expect(listingsAfter.length).toBe(1);
140
+ // valid listings should also be 1!
141
+ const validListings = await getAllValidListings({
142
+ contract: marketplaceContract,
143
+ });
144
+ expect(validListings.length).toBe(1);
145
+ // and totalListings should be 1
146
+ expect(await totalListings({ contract: marketplaceContract })).toBe(1n);
147
+
148
+ // explicitly retrieve the listing!
149
+ const listing = await getListing({
150
+ contract: marketplaceContract,
151
+ listingId: listingEvent.args.listingId,
152
+ });
149
153
 
150
- // explicitly retrieve the listing!
151
- const listing = await getListing({
152
- contract: marketplaceContract,
153
- listingId: listingEvent.args.listingId,
154
- });
155
-
156
- expect(listing).toBeDefined();
157
- expect(listing.status).toBe("ACTIVE");
158
- expect(listing.creatorAddress).toBe(TEST_ACCOUNT_A.address);
159
- expect(listing.assetContractAddress).toBe(erc721Contract.address);
160
- expect(listing.tokenId).toBe(nftTokenId);
161
- expect(listing.currencyValuePerToken).toMatchInlineSnapshot(`
154
+ expect(listing).toBeDefined();
155
+ expect(listing.status).toBe("ACTIVE");
156
+ expect(listing.creatorAddress).toBe(TEST_ACCOUNT_A.address);
157
+ expect(listing.assetContractAddress).toBe(erc721Contract.address);
158
+ expect(listing.tokenId).toBe(nftTokenId);
159
+ expect(listing.currencyValuePerToken).toMatchInlineSnapshot(`
162
160
  {
163
161
  "decimals": 18,
164
162
  "displayValue": "1",
@@ -167,7 +165,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
167
165
  "value": 1000000000000000000n,
168
166
  }
169
167
  `);
170
- expect(listing.asset).toMatchInlineSnapshot(`
168
+ expect(listing.asset).toMatchInlineSnapshot(`
171
169
  {
172
170
  "id": 0n,
173
171
  "metadata": {
@@ -179,218 +177,218 @@ describe.runIf(process.env.TW_SECRET_KEY)(
179
177
  }
180
178
  `);
181
179
 
182
- // check the listing is valid
183
- const listingValidity = await isListingValid({
184
- listing,
185
- contract: marketplaceContract,
186
- quantity: 1n,
187
- });
180
+ // check the listing is valid
181
+ const listingValidity = await isListingValid({
182
+ listing,
183
+ contract: marketplaceContract,
184
+ quantity: 1n,
185
+ });
188
186
 
189
- expect(listingValidity).toMatchInlineSnapshot(`
187
+ expect(listingValidity).toMatchInlineSnapshot(`
190
188
  {
191
189
  "valid": true,
192
190
  }
193
191
  `);
194
192
 
195
- // expect the buyer to have an initial balance of 0
196
- await expect(
197
- balanceOfErc721({
198
- contract: erc721Contract,
199
- owner: TEST_ACCOUNT_B.address,
200
- }),
201
- ).resolves.toBe(0n);
193
+ // expect the buyer to have an initial balance of 0
194
+ await expect(
195
+ balanceOfErc721({
196
+ contract: erc721Contract,
197
+ owner: TEST_ACCOUNT_B.address,
198
+ }),
199
+ ).resolves.toBe(0n);
200
+
201
+ const buyTx = buyFromListing({
202
+ contract: marketplaceContract,
203
+ listingId: listingEvent.args.listingId,
204
+ recipient: TEST_ACCOUNT_B.address,
205
+ quantity: 1n,
206
+ });
202
207
 
203
- const buyTx = buyFromListing({
204
- contract: marketplaceContract,
205
- listingId: listingEvent.args.listingId,
206
- recipient: TEST_ACCOUNT_B.address,
207
- quantity: 1n,
208
- });
209
-
210
- await sendAndConfirmTransaction({
211
- transaction: buyTx,
212
- account: TEST_ACCOUNT_B,
213
- });
214
-
215
- // expect the buyer to have a new balance of 1
216
- await expect(
217
- balanceOfErc721({
218
- contract: erc721Contract,
219
- owner: TEST_ACCOUNT_B.address,
220
- }),
221
- ).resolves.toBe(1n);
222
- // expect the seller to no longer have the token
223
- await expect(
224
- balanceOfErc721({
225
- contract: erc721Contract,
226
- owner: TEST_ACCOUNT_A.address,
227
- }),
228
- ).resolves.toBe(0n);
208
+ await sendAndConfirmTransaction({
209
+ transaction: buyTx,
210
+ account: TEST_ACCOUNT_B,
229
211
  });
230
- });
231
212
 
232
- describe("ERC1155 Drop", () => {
233
- let nftTokenId: bigint;
234
- let marketplaceContract: ThirdwebContract;
235
- let erc1155Contract: ThirdwebContract;
236
- beforeAll(async () => {
237
- marketplaceContract = getContract({
238
- address: await deployMarketplaceContract({
239
- account: TEST_ACCOUNT_A,
240
- chain: ANVIL_CHAIN,
241
- client: TEST_CLIENT,
242
- params: {
243
- name: "TestMarketPlace",
244
- },
245
- }),
246
- client: TEST_CLIENT,
213
+ // expect the buyer to have a new balance of 1
214
+ await expect(
215
+ balanceOfErc721({
216
+ contract: erc721Contract,
217
+ owner: TEST_ACCOUNT_B.address,
218
+ }),
219
+ ).resolves.toBe(1n);
220
+ // expect the seller to no longer have the token
221
+ await expect(
222
+ balanceOfErc721({
223
+ contract: erc721Contract,
224
+ owner: TEST_ACCOUNT_A.address,
225
+ }),
226
+ ).resolves.toBe(0n);
227
+ });
228
+ });
229
+
230
+ describe("ERC1155 Drop", () => {
231
+ let nftTokenId: bigint;
232
+ let marketplaceContract: ThirdwebContract;
233
+ let erc1155Contract: ThirdwebContract;
234
+ beforeAll(async () => {
235
+ marketplaceContract = getContract({
236
+ address: await deployMarketplaceContract({
237
+ account: TEST_ACCOUNT_A,
247
238
  chain: ANVIL_CHAIN,
248
- });
249
-
250
- // also deploy an ERC721 contract
251
- erc1155Contract = getContract({
252
- address: await deployERC1155Contract({
253
- type: "DropERC1155",
254
- account: TEST_ACCOUNT_A,
255
- chain: ANVIL_CHAIN,
256
- client: TEST_CLIENT,
257
- params: {
258
- name: "TestERC1155",
259
- },
260
- }),
261
239
  client: TEST_CLIENT,
262
- chain: ANVIL_CHAIN,
263
- });
264
-
265
- // lazy mint 10 tokens
266
- await expect(
267
- sendAndConfirmTransaction({
268
- transaction: lazyMint({
269
- contract: erc1155Contract,
270
- nfts: [{ name: "Test:ERC1155:DirectListing" }],
271
- }),
272
- account: TEST_ACCOUNT_A,
273
- }),
274
- ).resolves.toBeDefined();
275
-
276
- // set claim condition (just public is fine)
277
- await expect(
278
- sendAndConfirmTransaction({
279
- transaction: setClaimConditions({
280
- contract: erc1155Contract,
281
- tokenId: 0n,
282
- phases: [{}],
283
- }),
284
- account: TEST_ACCOUNT_A,
285
- }),
286
- ).resolves.toBeDefined();
287
-
288
- // claim 10 tokens
289
- await expect(
290
- sendAndConfirmTransaction({
291
- transaction: claimTo({
292
- contract: erc1155Contract,
293
- tokenId: 0n,
294
- to: TEST_ACCOUNT_A.address,
295
- quantity: 10n,
296
- }),
297
- account: TEST_ACCOUNT_A,
298
- }),
299
- ).resolves.toBeDefined();
300
-
301
- nftTokenId = 0n;
302
- // does a lot of stuff, this may take a while
303
- }, 120_000);
240
+ params: {
241
+ name: "TestMarketPlace",
242
+ },
243
+ }),
244
+ client: TEST_CLIENT,
245
+ chain: ANVIL_CHAIN,
246
+ });
304
247
 
305
- it("should work for basic listings (Native Currency)", async () => {
306
- // listings should be 0 length to start
307
- const listings = await getAllListings({
308
- contract: marketplaceContract,
309
- });
310
- expect(listings.length).toBe(0);
311
- // oh and so should totalListings
312
- expect(await totalListings({ contract: marketplaceContract })).toBe(0n);
248
+ // also deploy an ERC721 contract
249
+ erc1155Contract = getContract({
250
+ address: await deployERC1155Contract({
251
+ type: "DropERC1155",
252
+ account: TEST_ACCOUNT_A,
253
+ chain: ANVIL_CHAIN,
254
+ client: TEST_CLIENT,
255
+ params: {
256
+ name: "TestERC1155",
257
+ },
258
+ }),
259
+ client: TEST_CLIENT,
260
+ chain: ANVIL_CHAIN,
261
+ });
313
262
 
314
- // approve first
263
+ // lazy mint 10 tokens
264
+ await expect(
265
+ sendAndConfirmTransaction({
266
+ transaction: lazyMint({
267
+ contract: erc1155Contract,
268
+ nfts: [{ name: "Test:ERC1155:DirectListing" }],
269
+ }),
270
+ account: TEST_ACCOUNT_A,
271
+ }),
272
+ ).resolves.toBeDefined();
315
273
 
316
- await sendAndConfirmTransaction({
317
- transaction: setApprovalForAll({
274
+ // set claim condition (just public is fine)
275
+ await expect(
276
+ sendAndConfirmTransaction({
277
+ transaction: setClaimConditions({
318
278
  contract: erc1155Contract,
319
- operator: marketplaceContract.address,
320
- approved: true,
279
+ tokenId: 0n,
280
+ phases: [{}],
321
281
  }),
322
282
  account: TEST_ACCOUNT_A,
323
- });
324
-
325
- // this should fail because we're listing more than we have
326
- await expect(
327
- sendAndConfirmTransaction({
328
- transaction: createListing({
329
- contract: marketplaceContract,
330
- assetContractAddress: erc1155Contract.address,
331
- tokenId: nftTokenId,
332
- pricePerToken: "1",
333
- quantity: 20n,
334
- }),
335
- account: TEST_ACCOUNT_A,
283
+ }),
284
+ ).resolves.toBeDefined();
285
+
286
+ // claim 10 tokens
287
+ await expect(
288
+ sendAndConfirmTransaction({
289
+ transaction: claimTo({
290
+ contract: erc1155Contract,
291
+ tokenId: 0n,
292
+ to: TEST_ACCOUNT_A.address,
293
+ quantity: 10n,
336
294
  }),
337
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
338
- [TransactionError: Error - Marketplace: not owner or approved tokens.
295
+ account: TEST_ACCOUNT_A,
296
+ }),
297
+ ).resolves.toBeDefined();
339
298
 
340
- contract: ${marketplaceContract.address}
341
- chainId: 31337]
342
- `);
299
+ nftTokenId = 0n;
300
+ // does a lot of stuff, this may take a while
301
+ }, 120_000);
302
+
303
+ it("should work for basic listings (Native Currency)", async () => {
304
+ // listings should be 0 length to start
305
+ const listings = await getAllListings({
306
+ contract: marketplaceContract,
307
+ });
308
+ expect(listings.length).toBe(0);
309
+ // oh and so should totalListings
310
+ expect(await totalListings({ contract: marketplaceContract })).toBe(0n);
311
+
312
+ // approve first
313
+
314
+ await sendAndConfirmTransaction({
315
+ transaction: setApprovalForAll({
316
+ contract: erc1155Contract,
317
+ operator: marketplaceContract.address,
318
+ approved: true,
319
+ }),
320
+ account: TEST_ACCOUNT_A,
321
+ });
343
322
 
344
- // this should work because we're listing the correct amount
345
- const receipt = await sendAndConfirmTransaction({
323
+ // this should fail because we're listing more than we have
324
+ await expect(
325
+ sendAndConfirmTransaction({
346
326
  transaction: createListing({
347
327
  contract: marketplaceContract,
348
328
  assetContractAddress: erc1155Contract.address,
349
329
  tokenId: nftTokenId,
350
- pricePerToken: "0.01",
351
- quantity: 1n,
330
+ pricePerToken: "1",
331
+ quantity: 20n,
352
332
  }),
353
333
  account: TEST_ACCOUNT_A,
354
- });
334
+ }),
335
+ ).rejects.toThrowErrorMatchingInlineSnapshot(`
336
+ [TransactionError: Error - Marketplace: not owner or approved tokens.
355
337
 
356
- const listingEvents = parseEventLogs({
357
- events: [newListingEvent()],
358
- logs: receipt.logs,
359
- });
338
+ contract: ${marketplaceContract.address}
339
+ chainId: 31337]
340
+ `);
360
341
 
361
- expect(listingEvents.length).toBe(1);
342
+ // this should work because we're listing the correct amount
343
+ const receipt = await sendAndConfirmTransaction({
344
+ transaction: createListing({
345
+ contract: marketplaceContract,
346
+ assetContractAddress: erc1155Contract.address,
347
+ tokenId: nftTokenId,
348
+ pricePerToken: "0.01",
349
+ quantity: 1n,
350
+ }),
351
+ account: TEST_ACCOUNT_A,
352
+ });
362
353
 
363
- // biome-ignore lint/style/noNonNullAssertion: OK in tests
364
- const listingEvent = listingEvents[0]!;
354
+ const listingEvents = parseEventLogs({
355
+ events: [newListingEvent()],
356
+ logs: receipt.logs,
357
+ });
365
358
 
366
- expect(listingEvent.args.listingCreator).toBe(TEST_ACCOUNT_A.address);
367
- expect(listingEvent.args.assetContract).toBe(erc1155Contract.address);
359
+ expect(listingEvents.length).toBe(1);
368
360
 
369
- // at this point listings should be 1
370
- const listingsAfter = await getAllListings({
371
- contract: marketplaceContract,
372
- });
373
- expect(listingsAfter.length).toBe(1);
374
- // valid listings should also be 1!
375
- const validListings = await getAllValidListings({
376
- contract: marketplaceContract,
377
- });
378
- expect(validListings.length).toBe(1);
379
- // and totalListings should be 1
380
- expect(await totalListings({ contract: marketplaceContract })).toBe(1n);
361
+ // biome-ignore lint/style/noNonNullAssertion: OK in tests
362
+ const listingEvent = listingEvents[0]!;
381
363
 
382
- // explicitly retrieve the listing!
383
- const listing = await getListing({
384
- contract: marketplaceContract,
385
- listingId: listingEvent.args.listingId,
386
- });
387
-
388
- expect(listing).toBeDefined();
389
- expect(listing.status).toBe("ACTIVE");
390
- expect(listing.creatorAddress).toBe(TEST_ACCOUNT_A.address);
391
- expect(listing.assetContractAddress).toBe(erc1155Contract.address);
392
- expect(listing.tokenId).toBe(nftTokenId);
393
- expect(listing.currencyValuePerToken).toMatchInlineSnapshot(`
364
+ expect(listingEvent.args.listingCreator).toBe(TEST_ACCOUNT_A.address);
365
+ expect(listingEvent.args.assetContract).toBe(erc1155Contract.address);
366
+
367
+ // at this point listings should be 1
368
+ const listingsAfter = await getAllListings({
369
+ contract: marketplaceContract,
370
+ });
371
+ expect(listingsAfter.length).toBe(1);
372
+ // valid listings should also be 1!
373
+ const validListings = await getAllValidListings({
374
+ contract: marketplaceContract,
375
+ });
376
+ expect(validListings.length).toBe(1);
377
+ // and totalListings should be 1
378
+ expect(await totalListings({ contract: marketplaceContract })).toBe(1n);
379
+
380
+ // explicitly retrieve the listing!
381
+ const listing = await getListing({
382
+ contract: marketplaceContract,
383
+ listingId: listingEvent.args.listingId,
384
+ });
385
+
386
+ expect(listing).toBeDefined();
387
+ expect(listing.status).toBe("ACTIVE");
388
+ expect(listing.creatorAddress).toBe(TEST_ACCOUNT_A.address);
389
+ expect(listing.assetContractAddress).toBe(erc1155Contract.address);
390
+ expect(listing.tokenId).toBe(nftTokenId);
391
+ expect(listing.currencyValuePerToken).toMatchInlineSnapshot(`
394
392
  {
395
393
  "decimals": 18,
396
394
  "displayValue": "0.01",
@@ -399,7 +397,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
399
397
  "value": 10000000000000000n,
400
398
  }
401
399
  `);
402
- expect(listing.asset).toMatchInlineSnapshot(`
400
+ expect(listing.asset).toMatchInlineSnapshot(`
403
401
  {
404
402
  "id": 0n,
405
403
  "metadata": {
@@ -412,57 +410,56 @@ describe.runIf(process.env.TW_SECRET_KEY)(
412
410
  }
413
411
  `);
414
412
 
415
- // check the listing is valid
416
- const listingValidity = await isListingValid({
417
- listing,
418
- contract: marketplaceContract,
419
- quantity: 1n,
420
- });
413
+ // check the listing is valid
414
+ const listingValidity = await isListingValid({
415
+ listing,
416
+ contract: marketplaceContract,
417
+ quantity: 1n,
418
+ });
421
419
 
422
- expect(listingValidity).toMatchInlineSnapshot(`
420
+ expect(listingValidity).toMatchInlineSnapshot(`
423
421
  {
424
422
  "valid": true,
425
423
  }
426
424
  `);
427
425
 
428
- // expect the buyer to have an initial balance of 0
429
- await expect(
430
- balanceOfErc1155({
431
- contract: erc1155Contract,
432
- owner: TEST_ACCOUNT_B.address,
433
- tokenId: nftTokenId,
434
- }),
435
- ).resolves.toBe(0n);
436
-
437
- const buyTx = buyFromListing({
438
- contract: marketplaceContract,
439
- listingId: listingEvent.args.listingId,
440
- recipient: TEST_ACCOUNT_B.address,
441
- quantity: 1n,
442
- });
443
-
444
- await sendAndConfirmTransaction({
445
- transaction: buyTx,
446
- account: TEST_ACCOUNT_B,
447
- });
426
+ // expect the buyer to have an initial balance of 0
427
+ await expect(
428
+ balanceOfErc1155({
429
+ contract: erc1155Contract,
430
+ owner: TEST_ACCOUNT_B.address,
431
+ tokenId: nftTokenId,
432
+ }),
433
+ ).resolves.toBe(0n);
434
+
435
+ const buyTx = buyFromListing({
436
+ contract: marketplaceContract,
437
+ listingId: listingEvent.args.listingId,
438
+ recipient: TEST_ACCOUNT_B.address,
439
+ quantity: 1n,
440
+ });
448
441
 
449
- // expect the buyer to have a new balance of 1
450
- await expect(
451
- balanceOfErc1155({
452
- contract: erc1155Contract,
453
- owner: TEST_ACCOUNT_B.address,
454
- tokenId: nftTokenId,
455
- }),
456
- ).resolves.toBe(1n);
457
- // expect the seller to only have 9 of the tokens
458
- await expect(
459
- balanceOfErc1155({
460
- contract: erc1155Contract,
461
- owner: TEST_ACCOUNT_A.address,
462
- tokenId: nftTokenId,
463
- }),
464
- ).resolves.toBe(9n);
442
+ await sendAndConfirmTransaction({
443
+ transaction: buyTx,
444
+ account: TEST_ACCOUNT_B,
465
445
  });
446
+
447
+ // expect the buyer to have a new balance of 1
448
+ await expect(
449
+ balanceOfErc1155({
450
+ contract: erc1155Contract,
451
+ owner: TEST_ACCOUNT_B.address,
452
+ tokenId: nftTokenId,
453
+ }),
454
+ ).resolves.toBe(1n);
455
+ // expect the seller to only have 9 of the tokens
456
+ await expect(
457
+ balanceOfErc1155({
458
+ contract: erc1155Contract,
459
+ owner: TEST_ACCOUNT_A.address,
460
+ tokenId: nftTokenId,
461
+ }),
462
+ ).resolves.toBe(9n);
466
463
  });
467
- },
468
- );
464
+ });
465
+ });