@0xsequence/connect 5.4.7 → 6.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (660) hide show
  1. package/README.md +108 -191
  2. package/dist/cjs/components/Connect/Banner.js +1 -1
  3. package/dist/cjs/components/Connect/Banner.js.map +1 -1
  4. package/dist/cjs/components/Connect/Connect.d.ts +7 -1
  5. package/dist/cjs/components/Connect/Connect.d.ts.map +1 -1
  6. package/dist/cjs/components/Connect/Connect.js +381 -45
  7. package/dist/cjs/components/Connect/Connect.js.map +1 -1
  8. package/dist/cjs/components/Connect/ConnectedWallets.d.ts.map +1 -1
  9. package/dist/cjs/components/Connect/ConnectedWallets.js +4 -3
  10. package/dist/cjs/components/Connect/ConnectedWallets.js.map +1 -1
  11. package/dist/cjs/components/Connect/EmailWaasVerify.d.ts.map +1 -1
  12. package/dist/cjs/components/Connect/EmailWaasVerify.js +1 -0
  13. package/dist/cjs/components/Connect/EmailWaasVerify.js.map +1 -1
  14. package/dist/cjs/components/Connect/ExtendedWalletList.d.ts +2 -1
  15. package/dist/cjs/components/Connect/ExtendedWalletList.d.ts.map +1 -1
  16. package/dist/cjs/components/Connect/ExtendedWalletList.js +6 -4
  17. package/dist/cjs/components/Connect/ExtendedWalletList.js.map +1 -1
  18. package/dist/cjs/components/Connect/WalletListItem.js +1 -1
  19. package/dist/cjs/components/Connect/WalletListItem.js.map +1 -1
  20. package/dist/cjs/components/ConnectButton/ConnectButton.d.ts.map +1 -1
  21. package/dist/cjs/components/ConnectButton/ConnectButton.js +11 -6
  22. package/dist/cjs/components/ConnectButton/ConnectButton.js.map +1 -1
  23. package/dist/cjs/components/ConnectButton/index.d.ts +1 -1
  24. package/dist/cjs/components/ConnectButton/index.d.ts.map +1 -1
  25. package/dist/cjs/components/ConnectButton/index.js +3 -1
  26. package/dist/cjs/components/ConnectButton/index.js.map +1 -1
  27. package/dist/cjs/components/CryptoOption.js +1 -1
  28. package/dist/cjs/components/CryptoOption.js.map +1 -1
  29. package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.d.ts +2 -1
  30. package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.d.ts.map +1 -1
  31. package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.js +7 -10
  32. package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.js.map +1 -1
  33. package/dist/cjs/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.d.ts.map +1 -1
  34. package/dist/cjs/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js +24 -6
  35. package/dist/cjs/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js.map +1 -1
  36. package/dist/cjs/components/SequenceConnectPreview/SequenceConnectPreviewProvider.d.ts.map +1 -1
  37. package/dist/cjs/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js +19 -2
  38. package/dist/cjs/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js.map +1 -1
  39. package/dist/cjs/components/SequenceConnectProvider/SequenceConnectProvider.d.ts.map +1 -1
  40. package/dist/cjs/components/SequenceConnectProvider/SequenceConnectProvider.js +21 -11
  41. package/dist/cjs/components/SequenceConnectProvider/SequenceConnectProvider.js.map +1 -1
  42. package/dist/cjs/components/SocialLink/SocialLink.d.ts.map +1 -1
  43. package/dist/cjs/components/SocialLink/SocialLink.js +28 -28
  44. package/dist/cjs/components/SocialLink/SocialLink.js.map +1 -1
  45. package/dist/cjs/config/createConfig.d.ts +2 -1
  46. package/dist/cjs/config/createConfig.d.ts.map +1 -1
  47. package/dist/cjs/config/createConfig.js +8 -4
  48. package/dist/cjs/config/createConfig.js.map +1 -1
  49. package/dist/cjs/config/defaultConnectors.d.ts +28 -27
  50. package/dist/cjs/config/defaultConnectors.d.ts.map +1 -1
  51. package/dist/cjs/config/defaultConnectors.js +94 -65
  52. package/dist/cjs/config/defaultConnectors.js.map +1 -1
  53. package/dist/cjs/connectors/X/XAuth.d.ts.map +1 -1
  54. package/dist/cjs/connectors/X/XAuth.js +0 -2
  55. package/dist/cjs/connectors/X/XAuth.js.map +1 -1
  56. package/dist/cjs/connectors/X/XWaas.d.ts +1 -1
  57. package/dist/cjs/connectors/X/XWaas.d.ts.map +1 -1
  58. package/dist/cjs/connectors/X/XWaas.js +2 -2
  59. package/dist/cjs/connectors/X/XWaas.js.map +1 -1
  60. package/dist/cjs/connectors/apple/AppleLogo.d.ts +1 -1
  61. package/dist/cjs/connectors/apple/AppleLogo.d.ts.map +1 -1
  62. package/dist/cjs/connectors/apple/AppleLogo.js +5 -5
  63. package/dist/cjs/connectors/apple/AppleLogo.js.map +1 -1
  64. package/dist/cjs/connectors/apple/appleWaas.js +2 -2
  65. package/dist/cjs/connectors/apple/applev3.d.ts +5 -0
  66. package/dist/cjs/connectors/apple/applev3.d.ts.map +1 -0
  67. package/dist/cjs/connectors/apple/applev3.js +23 -0
  68. package/dist/cjs/connectors/apple/applev3.js.map +1 -0
  69. package/dist/cjs/connectors/apple/index.d.ts +2 -1
  70. package/dist/cjs/connectors/apple/index.d.ts.map +1 -1
  71. package/dist/cjs/connectors/apple/index.js +2 -1
  72. package/dist/cjs/connectors/apple/index.js.map +1 -1
  73. package/dist/cjs/connectors/ecosystem/ecosystemV3.d.ts +11 -0
  74. package/dist/cjs/connectors/ecosystem/ecosystemV3.d.ts.map +1 -0
  75. package/dist/cjs/connectors/ecosystem/ecosystemV3.js +52 -0
  76. package/dist/cjs/connectors/ecosystem/ecosystemV3.js.map +1 -0
  77. package/dist/cjs/connectors/email/emailv3.d.ts +5 -0
  78. package/dist/cjs/connectors/email/emailv3.d.ts.map +1 -0
  79. package/dist/cjs/connectors/email/emailv3.js +21 -0
  80. package/dist/cjs/connectors/email/emailv3.js.map +1 -0
  81. package/dist/cjs/connectors/email/index.d.ts +2 -1
  82. package/dist/cjs/connectors/email/index.d.ts.map +1 -1
  83. package/dist/cjs/connectors/email/index.js +2 -1
  84. package/dist/cjs/connectors/email/index.js.map +1 -1
  85. package/dist/cjs/connectors/epic/EpicLogo.d.ts +5 -4
  86. package/dist/cjs/connectors/epic/EpicLogo.d.ts.map +1 -1
  87. package/dist/cjs/connectors/epic/EpicLogo.js +1 -1
  88. package/dist/cjs/connectors/epic/EpicLogo.js.map +1 -1
  89. package/dist/cjs/connectors/epic/epicWaas.d.ts.map +1 -1
  90. package/dist/cjs/connectors/epic/epicWaas.js +2 -3
  91. package/dist/cjs/connectors/epic/epicWaas.js.map +1 -1
  92. package/dist/cjs/connectors/google/googleV3.d.ts +5 -0
  93. package/dist/cjs/connectors/google/googleV3.d.ts.map +1 -0
  94. package/dist/cjs/connectors/google/googleV3.js +23 -0
  95. package/dist/cjs/connectors/google/googleV3.js.map +1 -0
  96. package/dist/cjs/connectors/google/index.d.ts +2 -1
  97. package/dist/cjs/connectors/google/index.d.ts.map +1 -1
  98. package/dist/cjs/connectors/google/index.js +2 -1
  99. package/dist/cjs/connectors/google/index.js.map +1 -1
  100. package/dist/cjs/connectors/guest/guestWaas.d.ts.map +1 -1
  101. package/dist/cjs/connectors/guest/guestWaas.js +3 -2
  102. package/dist/cjs/connectors/guest/guestWaas.js.map +1 -1
  103. package/dist/cjs/connectors/guest/index.d.ts +2 -0
  104. package/dist/cjs/connectors/guest/index.d.ts.map +1 -0
  105. package/dist/cjs/connectors/{sequence → guest}/index.js +1 -1
  106. package/dist/cjs/connectors/guest/index.js.map +1 -0
  107. package/dist/cjs/connectors/mock/SequenceLogo.d.ts.map +1 -0
  108. package/dist/cjs/connectors/mock/SequenceLogo.js.map +1 -0
  109. package/dist/cjs/connectors/mock/mock.d.ts.map +1 -1
  110. package/dist/cjs/connectors/mock/mock.js +1 -1
  111. package/dist/cjs/connectors/mock/mock.js.map +1 -1
  112. package/dist/cjs/connectors/passkey/PasskeyLogo.d.ts +9 -0
  113. package/dist/cjs/connectors/passkey/PasskeyLogo.d.ts.map +1 -0
  114. package/dist/cjs/connectors/passkey/PasskeyLogo.js +13 -0
  115. package/dist/cjs/connectors/passkey/PasskeyLogo.js.map +1 -0
  116. package/dist/cjs/connectors/passkey/passkeyV3.d.ts +5 -0
  117. package/dist/cjs/connectors/passkey/passkeyV3.d.ts.map +1 -0
  118. package/dist/cjs/connectors/passkey/passkeyV3.js +21 -0
  119. package/dist/cjs/connectors/passkey/passkeyV3.js.map +1 -0
  120. package/dist/cjs/connectors/wagmiConnectors/index.d.ts +1 -1
  121. package/dist/cjs/connectors/wagmiConnectors/index.d.ts.map +1 -1
  122. package/dist/cjs/connectors/wagmiConnectors/index.js +1 -1
  123. package/dist/cjs/connectors/wagmiConnectors/index.js.map +1 -1
  124. package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.d.ts +69 -0
  125. package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.d.ts.map +1 -0
  126. package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.js +468 -0
  127. package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.js.map +1 -0
  128. package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.d.ts +15 -8
  129. package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.d.ts.map +1 -1
  130. package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.js +153 -40
  131. package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.js.map +1 -1
  132. package/dist/cjs/connectors/walletConnect/walletConnect.d.ts.map +1 -1
  133. package/dist/cjs/connectors/walletConnect/walletConnect.js +1 -1
  134. package/dist/cjs/connectors/walletConnect/walletConnect.js.map +1 -1
  135. package/dist/cjs/constants/localStorage.d.ts +2 -1
  136. package/dist/cjs/constants/localStorage.d.ts.map +1 -1
  137. package/dist/cjs/constants/localStorage.js +2 -0
  138. package/dist/cjs/constants/localStorage.js.map +1 -1
  139. package/dist/cjs/constants/version.d.ts +1 -1
  140. package/dist/cjs/constants/version.d.ts.map +1 -1
  141. package/dist/cjs/constants/version.js +1 -1
  142. package/dist/cjs/constants/version.js.map +1 -1
  143. package/dist/cjs/constants.d.ts +38 -0
  144. package/dist/cjs/constants.d.ts.map +1 -0
  145. package/dist/cjs/constants.js +41 -0
  146. package/dist/cjs/constants.js.map +1 -0
  147. package/dist/cjs/contexts/ConnectConfig.d.ts +3 -2
  148. package/dist/cjs/contexts/ConnectConfig.d.ts.map +1 -1
  149. package/dist/cjs/contexts/ConnectConfig.js +15 -4
  150. package/dist/cjs/contexts/ConnectConfig.js.map +1 -1
  151. package/dist/cjs/hooks/useAuthStatus.d.ts +55 -0
  152. package/dist/cjs/hooks/useAuthStatus.d.ts.map +1 -0
  153. package/dist/cjs/hooks/useAuthStatus.js +80 -0
  154. package/dist/cjs/hooks/useAuthStatus.js.map +1 -0
  155. package/dist/cjs/hooks/useExplicitSessions.d.ts +76 -0
  156. package/dist/cjs/hooks/useExplicitSessions.d.ts.map +1 -0
  157. package/dist/cjs/hooks/useExplicitSessions.js +109 -0
  158. package/dist/cjs/hooks/useExplicitSessions.js.map +1 -0
  159. package/dist/cjs/hooks/useFeeOptions.d.ts +74 -0
  160. package/dist/cjs/hooks/useFeeOptions.d.ts.map +1 -0
  161. package/dist/cjs/hooks/useFeeOptions.js +155 -0
  162. package/dist/cjs/hooks/useFeeOptions.js.map +1 -0
  163. package/dist/cjs/hooks/useResolvedConnectConfig.d.ts +14 -0
  164. package/dist/cjs/hooks/useResolvedConnectConfig.d.ts.map +1 -0
  165. package/dist/cjs/hooks/useResolvedConnectConfig.js +101 -0
  166. package/dist/cjs/hooks/useResolvedConnectConfig.js.map +1 -0
  167. package/dist/cjs/hooks/useSequenceSessionState.d.ts +11 -0
  168. package/dist/cjs/hooks/useSequenceSessionState.d.ts.map +1 -0
  169. package/dist/cjs/hooks/useSequenceSessionState.js +37 -0
  170. package/dist/cjs/hooks/useSequenceSessionState.js.map +1 -0
  171. package/dist/cjs/hooks/useSignInEmail.d.ts.map +1 -1
  172. package/dist/cjs/hooks/useSignInEmail.js +2 -2
  173. package/dist/cjs/hooks/useSignInEmail.js.map +1 -1
  174. package/dist/cjs/hooks/useSyncWagmiChains.d.ts +4 -0
  175. package/dist/cjs/hooks/useSyncWagmiChains.d.ts.map +1 -0
  176. package/dist/cjs/hooks/useSyncWagmiChains.js +47 -0
  177. package/dist/cjs/hooks/useSyncWagmiChains.js.map +1 -0
  178. package/dist/cjs/hooks/useWaasEmailAuth.d.ts.map +1 -1
  179. package/dist/cjs/hooks/useWaasEmailAuth.js +1 -0
  180. package/dist/cjs/hooks/useWaasEmailAuth.js.map +1 -1
  181. package/dist/cjs/hooks/useWaasEmailConflict.d.ts +0 -39
  182. package/dist/cjs/hooks/useWaasEmailConflict.d.ts.map +1 -1
  183. package/dist/cjs/hooks/useWaasEmailConflict.js +2 -42
  184. package/dist/cjs/hooks/useWaasEmailConflict.js.map +1 -1
  185. package/dist/cjs/hooks/useWaasFeeOptions.d.ts +17 -58
  186. package/dist/cjs/hooks/useWaasFeeOptions.d.ts.map +1 -1
  187. package/dist/cjs/hooks/useWaasFeeOptions.js +129 -120
  188. package/dist/cjs/hooks/useWaasFeeOptions.js.map +1 -1
  189. package/dist/cjs/hooks/useWaasSignInEmail.d.ts +0 -3
  190. package/dist/cjs/hooks/useWaasSignInEmail.d.ts.map +1 -1
  191. package/dist/cjs/hooks/useWaasSignInEmail.js +2 -6
  192. package/dist/cjs/hooks/useWaasSignInEmail.js.map +1 -1
  193. package/dist/cjs/hooks/useWallets.d.ts.map +1 -1
  194. package/dist/cjs/hooks/useWallets.js +199 -22
  195. package/dist/cjs/hooks/useWallets.js.map +1 -1
  196. package/dist/cjs/index.d.ts +26 -21
  197. package/dist/cjs/index.d.ts.map +1 -1
  198. package/dist/cjs/index.js +62 -41
  199. package/dist/cjs/index.js.map +1 -1
  200. package/dist/cjs/styles.d.ts.map +1 -1
  201. package/dist/cjs/styles.js +20 -59
  202. package/dist/cjs/styles.js.map +1 -1
  203. package/dist/cjs/types.d.ts +8 -3
  204. package/dist/cjs/types.d.ts.map +1 -1
  205. package/dist/cjs/utils/checkAuthStatus.d.ts +39 -0
  206. package/dist/cjs/utils/checkAuthStatus.d.ts.map +1 -0
  207. package/dist/cjs/utils/checkAuthStatus.js +115 -0
  208. package/dist/cjs/utils/checkAuthStatus.js.map +1 -0
  209. package/dist/cjs/utils/ethAuth.d.ts.map +1 -1
  210. package/dist/cjs/utils/ethAuth.js +77 -24
  211. package/dist/cjs/utils/ethAuth.js.map +1 -1
  212. package/dist/cjs/utils/session/constants.d.ts +8 -0
  213. package/dist/cjs/utils/session/constants.d.ts.map +1 -0
  214. package/dist/cjs/utils/session/constants.js +12 -0
  215. package/dist/cjs/utils/session/constants.js.map +1 -0
  216. package/dist/cjs/utils/session/createContractPermission.d.ts +79 -0
  217. package/dist/cjs/utils/session/createContractPermission.d.ts.map +1 -0
  218. package/dist/cjs/utils/session/createContractPermission.js +194 -0
  219. package/dist/cjs/utils/session/createContractPermission.js.map +1 -0
  220. package/dist/cjs/utils/session/createExplicitSessionParams.d.ts +14 -0
  221. package/dist/cjs/utils/session/createExplicitSessionParams.d.ts.map +1 -0
  222. package/dist/cjs/utils/session/createExplicitSessionParams.js +39 -0
  223. package/dist/cjs/utils/session/createExplicitSessionParams.js.map +1 -0
  224. package/dist/cjs/utils/session/index.d.ts +5 -0
  225. package/dist/cjs/utils/session/index.d.ts.map +1 -0
  226. package/dist/cjs/{connectors/twitch → utils/session}/index.js +4 -1
  227. package/dist/cjs/utils/session/index.js.map +1 -0
  228. package/dist/cjs/utils/session/types.d.ts +108 -0
  229. package/dist/cjs/utils/session/types.d.ts.map +1 -0
  230. package/dist/cjs/utils/session/types.js +3 -0
  231. package/dist/cjs/utils/session/types.js.map +1 -0
  232. package/dist/cjs/utils/setChains.d.ts +22 -0
  233. package/dist/cjs/utils/setChains.d.ts.map +1 -0
  234. package/dist/cjs/utils/setChains.js +49 -0
  235. package/dist/cjs/utils/setChains.js.map +1 -0
  236. package/dist/cjs/utils/walletConfiguration.d.ts +47 -0
  237. package/dist/cjs/utils/walletConfiguration.d.ts.map +1 -0
  238. package/dist/cjs/utils/walletConfiguration.js +152 -0
  239. package/dist/cjs/utils/walletConfiguration.js.map +1 -0
  240. package/dist/cjs/utils/wordlist.d.ts +3 -0
  241. package/dist/cjs/utils/wordlist.d.ts.map +1 -0
  242. package/dist/cjs/utils/wordlist.js +16 -0
  243. package/dist/cjs/utils/wordlist.js.map +1 -0
  244. package/dist/esm/components/Connect/Banner.js +1 -1
  245. package/dist/esm/components/Connect/Banner.js.map +1 -1
  246. package/dist/esm/components/Connect/Connect.d.ts +7 -1
  247. package/dist/esm/components/Connect/Connect.d.ts.map +1 -1
  248. package/dist/esm/components/Connect/Connect.js +385 -49
  249. package/dist/esm/components/Connect/Connect.js.map +1 -1
  250. package/dist/esm/components/Connect/ConnectedWallets.d.ts.map +1 -1
  251. package/dist/esm/components/Connect/ConnectedWallets.js +4 -3
  252. package/dist/esm/components/Connect/ConnectedWallets.js.map +1 -1
  253. package/dist/esm/components/Connect/EmailWaasVerify.d.ts.map +1 -1
  254. package/dist/esm/components/Connect/EmailWaasVerify.js +1 -0
  255. package/dist/esm/components/Connect/EmailWaasVerify.js.map +1 -1
  256. package/dist/esm/components/Connect/ExtendedWalletList.d.ts +2 -1
  257. package/dist/esm/components/Connect/ExtendedWalletList.d.ts.map +1 -1
  258. package/dist/esm/components/Connect/ExtendedWalletList.js +6 -4
  259. package/dist/esm/components/Connect/ExtendedWalletList.js.map +1 -1
  260. package/dist/esm/components/Connect/WalletListItem.js +1 -1
  261. package/dist/esm/components/Connect/WalletListItem.js.map +1 -1
  262. package/dist/esm/components/ConnectButton/ConnectButton.d.ts.map +1 -1
  263. package/dist/esm/components/ConnectButton/ConnectButton.js +11 -6
  264. package/dist/esm/components/ConnectButton/ConnectButton.js.map +1 -1
  265. package/dist/esm/components/ConnectButton/index.d.ts +1 -1
  266. package/dist/esm/components/ConnectButton/index.d.ts.map +1 -1
  267. package/dist/esm/components/ConnectButton/index.js +1 -1
  268. package/dist/esm/components/ConnectButton/index.js.map +1 -1
  269. package/dist/esm/components/CryptoOption.js +1 -1
  270. package/dist/esm/components/CryptoOption.js.map +1 -1
  271. package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.d.ts +2 -1
  272. package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.d.ts.map +1 -1
  273. package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.js +8 -11
  274. package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.js.map +1 -1
  275. package/dist/esm/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.d.ts.map +1 -1
  276. package/dist/esm/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js +26 -8
  277. package/dist/esm/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js.map +1 -1
  278. package/dist/esm/components/SequenceConnectPreview/SequenceConnectPreviewProvider.d.ts.map +1 -1
  279. package/dist/esm/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js +20 -3
  280. package/dist/esm/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js.map +1 -1
  281. package/dist/esm/components/SequenceConnectProvider/SequenceConnectProvider.d.ts.map +1 -1
  282. package/dist/esm/components/SequenceConnectProvider/SequenceConnectProvider.js +23 -13
  283. package/dist/esm/components/SequenceConnectProvider/SequenceConnectProvider.js.map +1 -1
  284. package/dist/esm/components/SocialLink/SocialLink.d.ts.map +1 -1
  285. package/dist/esm/components/SocialLink/SocialLink.js +30 -30
  286. package/dist/esm/components/SocialLink/SocialLink.js.map +1 -1
  287. package/dist/esm/config/createConfig.d.ts +2 -1
  288. package/dist/esm/config/createConfig.d.ts.map +1 -1
  289. package/dist/esm/config/createConfig.js +7 -2
  290. package/dist/esm/config/createConfig.js.map +1 -1
  291. package/dist/esm/config/defaultConnectors.d.ts +28 -27
  292. package/dist/esm/config/defaultConnectors.d.ts.map +1 -1
  293. package/dist/esm/config/defaultConnectors.js +92 -63
  294. package/dist/esm/config/defaultConnectors.js.map +1 -1
  295. package/dist/esm/connectors/X/XAuth.d.ts.map +1 -1
  296. package/dist/esm/connectors/X/XAuth.js +0 -2
  297. package/dist/esm/connectors/X/XAuth.js.map +1 -1
  298. package/dist/esm/connectors/X/XWaas.d.ts +1 -1
  299. package/dist/esm/connectors/X/XWaas.d.ts.map +1 -1
  300. package/dist/esm/connectors/X/XWaas.js +1 -1
  301. package/dist/esm/connectors/X/XWaas.js.map +1 -1
  302. package/dist/esm/connectors/apple/AppleLogo.d.ts +1 -1
  303. package/dist/esm/connectors/apple/AppleLogo.d.ts.map +1 -1
  304. package/dist/esm/connectors/apple/AppleLogo.js +4 -4
  305. package/dist/esm/connectors/apple/AppleLogo.js.map +1 -1
  306. package/dist/esm/connectors/apple/appleWaas.js +3 -3
  307. package/dist/esm/connectors/apple/applev3.d.ts +5 -0
  308. package/dist/esm/connectors/apple/applev3.d.ts.map +1 -0
  309. package/dist/esm/connectors/apple/applev3.js +19 -0
  310. package/dist/esm/connectors/apple/applev3.js.map +1 -0
  311. package/dist/esm/connectors/apple/index.d.ts +2 -1
  312. package/dist/esm/connectors/apple/index.d.ts.map +1 -1
  313. package/dist/esm/connectors/apple/index.js +2 -1
  314. package/dist/esm/connectors/apple/index.js.map +1 -1
  315. package/dist/esm/connectors/ecosystem/ecosystemV3.d.ts +11 -0
  316. package/dist/esm/connectors/ecosystem/ecosystemV3.d.ts.map +1 -0
  317. package/dist/esm/connectors/ecosystem/ecosystemV3.js +48 -0
  318. package/dist/esm/connectors/ecosystem/ecosystemV3.js.map +1 -0
  319. package/dist/esm/connectors/email/emailv3.d.ts +5 -0
  320. package/dist/esm/connectors/email/emailv3.d.ts.map +1 -0
  321. package/dist/esm/connectors/email/emailv3.js +17 -0
  322. package/dist/esm/connectors/email/emailv3.js.map +1 -0
  323. package/dist/esm/connectors/email/index.d.ts +2 -1
  324. package/dist/esm/connectors/email/index.d.ts.map +1 -1
  325. package/dist/esm/connectors/email/index.js +2 -1
  326. package/dist/esm/connectors/email/index.js.map +1 -1
  327. package/dist/esm/connectors/epic/EpicLogo.d.ts +5 -4
  328. package/dist/esm/connectors/epic/EpicLogo.d.ts.map +1 -1
  329. package/dist/esm/connectors/epic/EpicLogo.js +1 -1
  330. package/dist/esm/connectors/epic/EpicLogo.js.map +1 -1
  331. package/dist/esm/connectors/epic/epicWaas.d.ts.map +1 -1
  332. package/dist/esm/connectors/epic/epicWaas.js +1 -2
  333. package/dist/esm/connectors/epic/epicWaas.js.map +1 -1
  334. package/dist/esm/connectors/google/googleV3.d.ts +5 -0
  335. package/dist/esm/connectors/google/googleV3.d.ts.map +1 -0
  336. package/dist/esm/connectors/google/googleV3.js +19 -0
  337. package/dist/esm/connectors/google/googleV3.js.map +1 -0
  338. package/dist/esm/connectors/google/index.d.ts +2 -1
  339. package/dist/esm/connectors/google/index.d.ts.map +1 -1
  340. package/dist/esm/connectors/google/index.js +2 -1
  341. package/dist/esm/connectors/google/index.js.map +1 -1
  342. package/dist/esm/connectors/guest/guestWaas.d.ts.map +1 -1
  343. package/dist/esm/connectors/guest/guestWaas.js +3 -2
  344. package/dist/esm/connectors/guest/guestWaas.js.map +1 -1
  345. package/dist/esm/connectors/guest/index.d.ts +2 -0
  346. package/dist/esm/connectors/guest/index.d.ts.map +1 -0
  347. package/dist/esm/connectors/guest/index.js +2 -0
  348. package/dist/esm/connectors/guest/index.js.map +1 -0
  349. package/dist/esm/connectors/mock/SequenceLogo.d.ts.map +1 -0
  350. package/dist/esm/connectors/mock/SequenceLogo.js.map +1 -0
  351. package/dist/esm/connectors/mock/mock.d.ts.map +1 -1
  352. package/dist/esm/connectors/mock/mock.js +1 -1
  353. package/dist/esm/connectors/mock/mock.js.map +1 -1
  354. package/dist/esm/connectors/passkey/PasskeyLogo.d.ts +9 -0
  355. package/dist/esm/connectors/passkey/PasskeyLogo.d.ts.map +1 -0
  356. package/dist/esm/connectors/passkey/PasskeyLogo.js +9 -0
  357. package/dist/esm/connectors/passkey/PasskeyLogo.js.map +1 -0
  358. package/dist/esm/connectors/passkey/passkeyV3.d.ts +5 -0
  359. package/dist/esm/connectors/passkey/passkeyV3.d.ts.map +1 -0
  360. package/dist/esm/connectors/passkey/passkeyV3.js +17 -0
  361. package/dist/esm/connectors/passkey/passkeyV3.js.map +1 -0
  362. package/dist/esm/connectors/wagmiConnectors/index.d.ts +1 -1
  363. package/dist/esm/connectors/wagmiConnectors/index.d.ts.map +1 -1
  364. package/dist/esm/connectors/wagmiConnectors/index.js +1 -1
  365. package/dist/esm/connectors/wagmiConnectors/index.js.map +1 -1
  366. package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.d.ts +69 -0
  367. package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.d.ts.map +1 -0
  368. package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.js +463 -0
  369. package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.js.map +1 -0
  370. package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.d.ts +15 -8
  371. package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.d.ts.map +1 -1
  372. package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.js +153 -40
  373. package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.js.map +1 -1
  374. package/dist/esm/connectors/walletConnect/walletConnect.d.ts.map +1 -1
  375. package/dist/esm/connectors/walletConnect/walletConnect.js +1 -1
  376. package/dist/esm/connectors/walletConnect/walletConnect.js.map +1 -1
  377. package/dist/esm/constants/localStorage.d.ts +2 -1
  378. package/dist/esm/constants/localStorage.d.ts.map +1 -1
  379. package/dist/esm/constants/localStorage.js +2 -0
  380. package/dist/esm/constants/localStorage.js.map +1 -1
  381. package/dist/esm/constants/version.d.ts +1 -1
  382. package/dist/esm/constants/version.d.ts.map +1 -1
  383. package/dist/esm/constants/version.js +1 -1
  384. package/dist/esm/constants/version.js.map +1 -1
  385. package/dist/esm/constants.d.ts +38 -0
  386. package/dist/esm/constants.d.ts.map +1 -0
  387. package/dist/esm/constants.js +38 -0
  388. package/dist/esm/constants.js.map +1 -0
  389. package/dist/esm/contexts/ConnectConfig.d.ts +3 -2
  390. package/dist/esm/contexts/ConnectConfig.d.ts.map +1 -1
  391. package/dist/esm/contexts/ConnectConfig.js +13 -3
  392. package/dist/esm/contexts/ConnectConfig.js.map +1 -1
  393. package/dist/esm/hooks/useAuthStatus.d.ts +55 -0
  394. package/dist/esm/hooks/useAuthStatus.d.ts.map +1 -0
  395. package/dist/esm/hooks/useAuthStatus.js +76 -0
  396. package/dist/esm/hooks/useAuthStatus.js.map +1 -0
  397. package/dist/esm/hooks/useExplicitSessions.d.ts +76 -0
  398. package/dist/esm/hooks/useExplicitSessions.d.ts.map +1 -0
  399. package/dist/esm/hooks/useExplicitSessions.js +106 -0
  400. package/dist/esm/hooks/useExplicitSessions.js.map +1 -0
  401. package/dist/esm/hooks/useFeeOptions.d.ts +74 -0
  402. package/dist/esm/hooks/useFeeOptions.d.ts.map +1 -0
  403. package/dist/esm/hooks/useFeeOptions.js +152 -0
  404. package/dist/esm/hooks/useFeeOptions.js.map +1 -0
  405. package/dist/esm/hooks/useResolvedConnectConfig.d.ts +14 -0
  406. package/dist/esm/hooks/useResolvedConnectConfig.d.ts.map +1 -0
  407. package/dist/esm/hooks/useResolvedConnectConfig.js +97 -0
  408. package/dist/esm/hooks/useResolvedConnectConfig.js.map +1 -0
  409. package/dist/esm/hooks/useSequenceSessionState.d.ts +11 -0
  410. package/dist/esm/hooks/useSequenceSessionState.d.ts.map +1 -0
  411. package/dist/esm/hooks/useSequenceSessionState.js +34 -0
  412. package/dist/esm/hooks/useSequenceSessionState.js.map +1 -0
  413. package/dist/esm/hooks/useSignInEmail.d.ts.map +1 -1
  414. package/dist/esm/hooks/useSignInEmail.js +3 -3
  415. package/dist/esm/hooks/useSignInEmail.js.map +1 -1
  416. package/dist/esm/hooks/useSyncWagmiChains.d.ts +4 -0
  417. package/dist/esm/hooks/useSyncWagmiChains.d.ts.map +1 -0
  418. package/dist/esm/hooks/useSyncWagmiChains.js +43 -0
  419. package/dist/esm/hooks/useSyncWagmiChains.js.map +1 -0
  420. package/dist/esm/hooks/useWaasEmailAuth.d.ts.map +1 -1
  421. package/dist/esm/hooks/useWaasEmailAuth.js +1 -0
  422. package/dist/esm/hooks/useWaasEmailAuth.js.map +1 -1
  423. package/dist/esm/hooks/useWaasEmailConflict.d.ts +0 -39
  424. package/dist/esm/hooks/useWaasEmailConflict.d.ts.map +1 -1
  425. package/dist/esm/hooks/useWaasEmailConflict.js +3 -43
  426. package/dist/esm/hooks/useWaasEmailConflict.js.map +1 -1
  427. package/dist/esm/hooks/useWaasFeeOptions.d.ts +17 -58
  428. package/dist/esm/hooks/useWaasFeeOptions.d.ts.map +1 -1
  429. package/dist/esm/hooks/useWaasFeeOptions.js +126 -120
  430. package/dist/esm/hooks/useWaasFeeOptions.js.map +1 -1
  431. package/dist/esm/hooks/useWaasSignInEmail.d.ts +0 -3
  432. package/dist/esm/hooks/useWaasSignInEmail.d.ts.map +1 -1
  433. package/dist/esm/hooks/useWaasSignInEmail.js +3 -7
  434. package/dist/esm/hooks/useWaasSignInEmail.js.map +1 -1
  435. package/dist/esm/hooks/useWallets.d.ts.map +1 -1
  436. package/dist/esm/hooks/useWallets.js +201 -24
  437. package/dist/esm/hooks/useWallets.js.map +1 -1
  438. package/dist/esm/index.d.ts +26 -21
  439. package/dist/esm/index.d.ts.map +1 -1
  440. package/dist/esm/index.js +24 -21
  441. package/dist/esm/index.js.map +1 -1
  442. package/dist/esm/styles.d.ts.map +1 -1
  443. package/dist/esm/styles.js +20 -59
  444. package/dist/esm/styles.js.map +1 -1
  445. package/dist/esm/types.d.ts +8 -3
  446. package/dist/esm/types.d.ts.map +1 -1
  447. package/dist/esm/utils/checkAuthStatus.d.ts +39 -0
  448. package/dist/esm/utils/checkAuthStatus.d.ts.map +1 -0
  449. package/dist/esm/utils/checkAuthStatus.js +111 -0
  450. package/dist/esm/utils/checkAuthStatus.js.map +1 -0
  451. package/dist/esm/utils/ethAuth.d.ts.map +1 -1
  452. package/dist/esm/utils/ethAuth.js +77 -24
  453. package/dist/esm/utils/ethAuth.js.map +1 -1
  454. package/dist/esm/utils/session/constants.d.ts +9 -0
  455. package/dist/esm/utils/session/constants.d.ts.map +1 -0
  456. package/dist/esm/utils/session/constants.js +9 -0
  457. package/dist/esm/utils/session/constants.js.map +1 -0
  458. package/dist/esm/utils/session/createContractPermission.d.ts +79 -0
  459. package/dist/esm/utils/session/createContractPermission.d.ts.map +1 -0
  460. package/dist/esm/utils/session/createContractPermission.js +191 -0
  461. package/dist/esm/utils/session/createContractPermission.js.map +1 -0
  462. package/dist/esm/utils/session/createExplicitSessionParams.d.ts +14 -0
  463. package/dist/esm/utils/session/createExplicitSessionParams.d.ts.map +1 -0
  464. package/dist/esm/utils/session/createExplicitSessionParams.js +36 -0
  465. package/dist/esm/utils/session/createExplicitSessionParams.js.map +1 -0
  466. package/dist/esm/utils/session/index.d.ts +5 -0
  467. package/dist/esm/utils/session/index.d.ts.map +1 -0
  468. package/dist/esm/utils/session/index.js +5 -0
  469. package/dist/esm/utils/session/index.js.map +1 -0
  470. package/dist/esm/utils/session/types.d.ts +108 -0
  471. package/dist/esm/utils/session/types.d.ts.map +1 -0
  472. package/dist/esm/utils/session/types.js +2 -0
  473. package/dist/esm/utils/session/types.js.map +1 -0
  474. package/dist/esm/utils/setChains.d.ts +22 -0
  475. package/dist/esm/utils/setChains.d.ts.map +1 -0
  476. package/dist/esm/utils/setChains.js +46 -0
  477. package/dist/esm/utils/setChains.js.map +1 -0
  478. package/dist/esm/utils/walletConfiguration.d.ts +47 -0
  479. package/dist/esm/utils/walletConfiguration.d.ts.map +1 -0
  480. package/dist/esm/utils/walletConfiguration.js +143 -0
  481. package/dist/esm/utils/walletConfiguration.js.map +1 -0
  482. package/dist/esm/utils/wordlist.d.ts +3 -0
  483. package/dist/esm/utils/wordlist.d.ts.map +1 -0
  484. package/dist/esm/utils/wordlist.js +11 -0
  485. package/dist/esm/utils/wordlist.js.map +1 -0
  486. package/package.json +37 -19
  487. package/dist/cjs/connectors/apple/apple.d.ts +0 -5
  488. package/dist/cjs/connectors/apple/apple.d.ts.map +0 -1
  489. package/dist/cjs/connectors/apple/apple.js +0 -32
  490. package/dist/cjs/connectors/apple/apple.js.map +0 -1
  491. package/dist/cjs/connectors/discord/DiscordLogo.d.ts +0 -8
  492. package/dist/cjs/connectors/discord/DiscordLogo.d.ts.map +0 -1
  493. package/dist/cjs/connectors/discord/DiscordLogo.js +0 -13
  494. package/dist/cjs/connectors/discord/DiscordLogo.js.map +0 -1
  495. package/dist/cjs/connectors/discord/discord.d.ts +0 -6
  496. package/dist/cjs/connectors/discord/discord.d.ts.map +0 -1
  497. package/dist/cjs/connectors/discord/discord.js +0 -32
  498. package/dist/cjs/connectors/discord/discord.js.map +0 -1
  499. package/dist/cjs/connectors/discord/index.d.ts +0 -2
  500. package/dist/cjs/connectors/discord/index.d.ts.map +0 -1
  501. package/dist/cjs/connectors/discord/index.js +0 -18
  502. package/dist/cjs/connectors/discord/index.js.map +0 -1
  503. package/dist/cjs/connectors/ecosystem/ecosystemWallet.d.ts +0 -20
  504. package/dist/cjs/connectors/ecosystem/ecosystemWallet.d.ts.map +0 -1
  505. package/dist/cjs/connectors/ecosystem/ecosystemWallet.js +0 -90
  506. package/dist/cjs/connectors/ecosystem/ecosystemWallet.js.map +0 -1
  507. package/dist/cjs/connectors/ecosystem/index.d.ts +0 -7
  508. package/dist/cjs/connectors/ecosystem/index.d.ts.map +0 -1
  509. package/dist/cjs/connectors/ecosystem/index.js +0 -14
  510. package/dist/cjs/connectors/ecosystem/index.js.map +0 -1
  511. package/dist/cjs/connectors/ecosystem/provider.d.ts +0 -21
  512. package/dist/cjs/connectors/ecosystem/provider.d.ts.map +0 -1
  513. package/dist/cjs/connectors/ecosystem/provider.js +0 -105
  514. package/dist/cjs/connectors/ecosystem/provider.js.map +0 -1
  515. package/dist/cjs/connectors/ecosystem/providerTransport.d.ts +0 -27
  516. package/dist/cjs/connectors/ecosystem/providerTransport.d.ts.map +0 -1
  517. package/dist/cjs/connectors/ecosystem/providerTransport.js +0 -232
  518. package/dist/cjs/connectors/ecosystem/providerTransport.js.map +0 -1
  519. package/dist/cjs/connectors/email/email.d.ts +0 -6
  520. package/dist/cjs/connectors/email/email.d.ts.map +0 -1
  521. package/dist/cjs/connectors/email/email.js +0 -30
  522. package/dist/cjs/connectors/email/email.js.map +0 -1
  523. package/dist/cjs/connectors/facebook/FacebookLogo.d.ts +0 -9
  524. package/dist/cjs/connectors/facebook/FacebookLogo.d.ts.map +0 -1
  525. package/dist/cjs/connectors/facebook/FacebookLogo.js +0 -17
  526. package/dist/cjs/connectors/facebook/FacebookLogo.js.map +0 -1
  527. package/dist/cjs/connectors/facebook/facebook.d.ts +0 -6
  528. package/dist/cjs/connectors/facebook/facebook.d.ts.map +0 -1
  529. package/dist/cjs/connectors/facebook/facebook.js +0 -32
  530. package/dist/cjs/connectors/facebook/facebook.js.map +0 -1
  531. package/dist/cjs/connectors/facebook/index.d.ts +0 -2
  532. package/dist/cjs/connectors/facebook/index.d.ts.map +0 -1
  533. package/dist/cjs/connectors/facebook/index.js +0 -18
  534. package/dist/cjs/connectors/facebook/index.js.map +0 -1
  535. package/dist/cjs/connectors/google/google.d.ts +0 -5
  536. package/dist/cjs/connectors/google/google.d.ts.map +0 -1
  537. package/dist/cjs/connectors/google/google.js +0 -31
  538. package/dist/cjs/connectors/google/google.js.map +0 -1
  539. package/dist/cjs/connectors/sequence/SequenceLogo.d.ts.map +0 -1
  540. package/dist/cjs/connectors/sequence/SequenceLogo.js.map +0 -1
  541. package/dist/cjs/connectors/sequence/index.d.ts +0 -2
  542. package/dist/cjs/connectors/sequence/index.d.ts.map +0 -1
  543. package/dist/cjs/connectors/sequence/index.js.map +0 -1
  544. package/dist/cjs/connectors/sequence/sequence.d.ts +0 -6
  545. package/dist/cjs/connectors/sequence/sequence.d.ts.map +0 -1
  546. package/dist/cjs/connectors/sequence/sequence.js +0 -26
  547. package/dist/cjs/connectors/sequence/sequence.js.map +0 -1
  548. package/dist/cjs/connectors/twitch/TwitchLogo.d.ts +0 -8
  549. package/dist/cjs/connectors/twitch/TwitchLogo.d.ts.map +0 -1
  550. package/dist/cjs/connectors/twitch/TwitchLogo.js +0 -19
  551. package/dist/cjs/connectors/twitch/TwitchLogo.js.map +0 -1
  552. package/dist/cjs/connectors/twitch/index.d.ts +0 -2
  553. package/dist/cjs/connectors/twitch/index.d.ts.map +0 -1
  554. package/dist/cjs/connectors/twitch/index.js.map +0 -1
  555. package/dist/cjs/connectors/twitch/twitch.d.ts +0 -6
  556. package/dist/cjs/connectors/twitch/twitch.d.ts.map +0 -1
  557. package/dist/cjs/connectors/twitch/twitch.js +0 -32
  558. package/dist/cjs/connectors/twitch/twitch.js.map +0 -1
  559. package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.d.ts +0 -23
  560. package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.d.ts.map +0 -1
  561. package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.js +0 -141
  562. package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.js.map +0 -1
  563. package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts +0 -34
  564. package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts.map +0 -1
  565. package/dist/cjs/hooks/useDirectEcosystemConnect.js +0 -52
  566. package/dist/cjs/hooks/useDirectEcosystemConnect.js.map +0 -1
  567. package/dist/cjs/utils/adapters.d.ts +0 -5
  568. package/dist/cjs/utils/adapters.d.ts.map +0 -1
  569. package/dist/cjs/utils/adapters.js +0 -30
  570. package/dist/cjs/utils/adapters.js.map +0 -1
  571. package/dist/esm/connectors/apple/apple.d.ts +0 -5
  572. package/dist/esm/connectors/apple/apple.d.ts.map +0 -1
  573. package/dist/esm/connectors/apple/apple.js +0 -28
  574. package/dist/esm/connectors/apple/apple.js.map +0 -1
  575. package/dist/esm/connectors/discord/DiscordLogo.d.ts +0 -8
  576. package/dist/esm/connectors/discord/DiscordLogo.d.ts.map +0 -1
  577. package/dist/esm/connectors/discord/DiscordLogo.js +0 -9
  578. package/dist/esm/connectors/discord/DiscordLogo.js.map +0 -1
  579. package/dist/esm/connectors/discord/discord.d.ts +0 -6
  580. package/dist/esm/connectors/discord/discord.d.ts.map +0 -1
  581. package/dist/esm/connectors/discord/discord.js +0 -28
  582. package/dist/esm/connectors/discord/discord.js.map +0 -1
  583. package/dist/esm/connectors/discord/index.d.ts +0 -2
  584. package/dist/esm/connectors/discord/index.d.ts.map +0 -1
  585. package/dist/esm/connectors/discord/index.js +0 -2
  586. package/dist/esm/connectors/discord/index.js.map +0 -1
  587. package/dist/esm/connectors/ecosystem/ecosystemWallet.d.ts +0 -20
  588. package/dist/esm/connectors/ecosystem/ecosystemWallet.d.ts.map +0 -1
  589. package/dist/esm/connectors/ecosystem/ecosystemWallet.js +0 -87
  590. package/dist/esm/connectors/ecosystem/ecosystemWallet.js.map +0 -1
  591. package/dist/esm/connectors/ecosystem/index.d.ts +0 -7
  592. package/dist/esm/connectors/ecosystem/index.d.ts.map +0 -1
  593. package/dist/esm/connectors/ecosystem/index.js +0 -10
  594. package/dist/esm/connectors/ecosystem/index.js.map +0 -1
  595. package/dist/esm/connectors/ecosystem/provider.d.ts +0 -21
  596. package/dist/esm/connectors/ecosystem/provider.d.ts.map +0 -1
  597. package/dist/esm/connectors/ecosystem/provider.js +0 -101
  598. package/dist/esm/connectors/ecosystem/provider.js.map +0 -1
  599. package/dist/esm/connectors/ecosystem/providerTransport.d.ts +0 -27
  600. package/dist/esm/connectors/ecosystem/providerTransport.d.ts.map +0 -1
  601. package/dist/esm/connectors/ecosystem/providerTransport.js +0 -228
  602. package/dist/esm/connectors/ecosystem/providerTransport.js.map +0 -1
  603. package/dist/esm/connectors/email/email.d.ts +0 -6
  604. package/dist/esm/connectors/email/email.d.ts.map +0 -1
  605. package/dist/esm/connectors/email/email.js +0 -26
  606. package/dist/esm/connectors/email/email.js.map +0 -1
  607. package/dist/esm/connectors/facebook/FacebookLogo.d.ts +0 -9
  608. package/dist/esm/connectors/facebook/FacebookLogo.d.ts.map +0 -1
  609. package/dist/esm/connectors/facebook/FacebookLogo.js +0 -12
  610. package/dist/esm/connectors/facebook/FacebookLogo.js.map +0 -1
  611. package/dist/esm/connectors/facebook/facebook.d.ts +0 -6
  612. package/dist/esm/connectors/facebook/facebook.d.ts.map +0 -1
  613. package/dist/esm/connectors/facebook/facebook.js +0 -28
  614. package/dist/esm/connectors/facebook/facebook.js.map +0 -1
  615. package/dist/esm/connectors/facebook/index.d.ts +0 -2
  616. package/dist/esm/connectors/facebook/index.d.ts.map +0 -1
  617. package/dist/esm/connectors/facebook/index.js +0 -2
  618. package/dist/esm/connectors/facebook/index.js.map +0 -1
  619. package/dist/esm/connectors/google/google.d.ts +0 -5
  620. package/dist/esm/connectors/google/google.d.ts.map +0 -1
  621. package/dist/esm/connectors/google/google.js +0 -27
  622. package/dist/esm/connectors/google/google.js.map +0 -1
  623. package/dist/esm/connectors/sequence/SequenceLogo.d.ts.map +0 -1
  624. package/dist/esm/connectors/sequence/SequenceLogo.js.map +0 -1
  625. package/dist/esm/connectors/sequence/index.d.ts +0 -2
  626. package/dist/esm/connectors/sequence/index.d.ts.map +0 -1
  627. package/dist/esm/connectors/sequence/index.js +0 -2
  628. package/dist/esm/connectors/sequence/index.js.map +0 -1
  629. package/dist/esm/connectors/sequence/sequence.d.ts +0 -6
  630. package/dist/esm/connectors/sequence/sequence.d.ts.map +0 -1
  631. package/dist/esm/connectors/sequence/sequence.js +0 -22
  632. package/dist/esm/connectors/sequence/sequence.js.map +0 -1
  633. package/dist/esm/connectors/twitch/TwitchLogo.d.ts +0 -8
  634. package/dist/esm/connectors/twitch/TwitchLogo.d.ts.map +0 -1
  635. package/dist/esm/connectors/twitch/TwitchLogo.js +0 -15
  636. package/dist/esm/connectors/twitch/TwitchLogo.js.map +0 -1
  637. package/dist/esm/connectors/twitch/index.d.ts +0 -2
  638. package/dist/esm/connectors/twitch/index.d.ts.map +0 -1
  639. package/dist/esm/connectors/twitch/index.js +0 -2
  640. package/dist/esm/connectors/twitch/index.js.map +0 -1
  641. package/dist/esm/connectors/twitch/twitch.d.ts +0 -6
  642. package/dist/esm/connectors/twitch/twitch.d.ts.map +0 -1
  643. package/dist/esm/connectors/twitch/twitch.js +0 -28
  644. package/dist/esm/connectors/twitch/twitch.js.map +0 -1
  645. package/dist/esm/connectors/wagmiConnectors/sequenceConnector.d.ts +0 -23
  646. package/dist/esm/connectors/wagmiConnectors/sequenceConnector.d.ts.map +0 -1
  647. package/dist/esm/connectors/wagmiConnectors/sequenceConnector.js +0 -138
  648. package/dist/esm/connectors/wagmiConnectors/sequenceConnector.js.map +0 -1
  649. package/dist/esm/hooks/useDirectEcosystemConnect.d.ts +0 -34
  650. package/dist/esm/hooks/useDirectEcosystemConnect.d.ts.map +0 -1
  651. package/dist/esm/hooks/useDirectEcosystemConnect.js +0 -48
  652. package/dist/esm/hooks/useDirectEcosystemConnect.js.map +0 -1
  653. package/dist/esm/utils/adapters.d.ts +0 -5
  654. package/dist/esm/utils/adapters.d.ts.map +0 -1
  655. package/dist/esm/utils/adapters.js +0 -25
  656. package/dist/esm/utils/adapters.js.map +0 -1
  657. /package/dist/cjs/connectors/{sequence → mock}/SequenceLogo.d.ts +0 -0
  658. /package/dist/cjs/connectors/{sequence → mock}/SequenceLogo.js +0 -0
  659. /package/dist/esm/connectors/{sequence → mock}/SequenceLogo.d.ts +0 -0
  660. /package/dist/esm/connectors/{sequence → mock}/SequenceLogo.js +0 -0
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Checks if the user is logged in by calling the auth status endpoint.
3
+ *
4
+ * ## Why JSONP instead of fetch?
5
+ *
6
+ * This function uses JSONP (JSON with Padding) instead of a standard `fetch` request for
7
+ * important cross-origin cookie access reasons:
8
+ *
9
+ * 1. **Third-party cookie restrictions**: Modern browsers (especially Safari) heavily restrict
10
+ * third-party cookie access. When using `fetch` with `credentials: 'include'`, the browser
11
+ * may block cookies from being sent to a different origin (e.g., wallet.sequence.app from
12
+ * your dapp's domain).
13
+ *
14
+ * 2. **JSONP bypasses cookie restrictions**: JSONP works by dynamically inserting a `<script>`
15
+ * tag. Script tags are treated as first-party requests by browsers, allowing cookies to be
16
+ * sent with the request. The wallet's auth endpoint uses these cookies to determine login status.
17
+ *
18
+ * 3. **No CORS preflight**: JSONP also avoids CORS preflight requests (OPTIONS), which can
19
+ * introduce latency and additional complexity.
20
+ *
21
+ * ## How it works
22
+ *
23
+ * 1. We create a unique callback function name and register it on `window`
24
+ * 2. We inject a `<script>` tag pointing to the auth status endpoint with the callback name
25
+ * 3. The endpoint returns JavaScript like: `callbackName({ authState: 'signed-in' })`
26
+ * 4. When the script executes, it calls our callback with the auth data
27
+ * 5. We clean up the script tag and callback function
28
+ *
29
+ * ## Security considerations
30
+ *
31
+ * - Only trusted wallet URLs should be passed to this function
32
+ * - The callback name includes randomness to prevent collisions and hijacking
33
+ * - We restore any original window property that may have been shadowed
34
+ *
35
+ * @param walletUrl - The wallet URL to check auth status against (must be a trusted endpoint)
36
+ * @returns Promise<boolean> - Returns true if user is logged in, false otherwise
37
+ */
38
+ export declare const checkAuthStatus: (walletUrl: string) => Promise<boolean>;
39
+ //# sourceMappingURL=checkAuthStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAuthStatus.d.ts","sourceRoot":"","sources":["../../../src/utils/checkAuthStatus.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,eAAe,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CAgFxE,CAAA"}
@@ -0,0 +1,111 @@
1
+ import { AUTH_STATUS_TIMEOUT_MS } from '../constants.js';
2
+ import { normalizeWalletUrl } from './walletConfiguration.js';
3
+ /**
4
+ * Checks if the user is logged in by calling the auth status endpoint.
5
+ *
6
+ * ## Why JSONP instead of fetch?
7
+ *
8
+ * This function uses JSONP (JSON with Padding) instead of a standard `fetch` request for
9
+ * important cross-origin cookie access reasons:
10
+ *
11
+ * 1. **Third-party cookie restrictions**: Modern browsers (especially Safari) heavily restrict
12
+ * third-party cookie access. When using `fetch` with `credentials: 'include'`, the browser
13
+ * may block cookies from being sent to a different origin (e.g., wallet.sequence.app from
14
+ * your dapp's domain).
15
+ *
16
+ * 2. **JSONP bypasses cookie restrictions**: JSONP works by dynamically inserting a `<script>`
17
+ * tag. Script tags are treated as first-party requests by browsers, allowing cookies to be
18
+ * sent with the request. The wallet's auth endpoint uses these cookies to determine login status.
19
+ *
20
+ * 3. **No CORS preflight**: JSONP also avoids CORS preflight requests (OPTIONS), which can
21
+ * introduce latency and additional complexity.
22
+ *
23
+ * ## How it works
24
+ *
25
+ * 1. We create a unique callback function name and register it on `window`
26
+ * 2. We inject a `<script>` tag pointing to the auth status endpoint with the callback name
27
+ * 3. The endpoint returns JavaScript like: `callbackName({ authState: 'signed-in' })`
28
+ * 4. When the script executes, it calls our callback with the auth data
29
+ * 5. We clean up the script tag and callback function
30
+ *
31
+ * ## Security considerations
32
+ *
33
+ * - Only trusted wallet URLs should be passed to this function
34
+ * - The callback name includes randomness to prevent collisions and hijacking
35
+ * - We restore any original window property that may have been shadowed
36
+ *
37
+ * @param walletUrl - The wallet URL to check auth status against (must be a trusted endpoint)
38
+ * @returns Promise<boolean> - Returns true if user is logged in, false otherwise
39
+ */
40
+ export const checkAuthStatus = async (walletUrl) => {
41
+ const normalizedUrl = normalizeWalletUrl(walletUrl);
42
+ if (!normalizedUrl) {
43
+ return false;
44
+ }
45
+ return new Promise(resolve => {
46
+ let resolved = false;
47
+ const callbackName = `sequenceAuthStatusCallback_${Date.now()}_${Math.random().toString(36).slice(2)}`;
48
+ const originalCallback = window[callbackName];
49
+ // Create script tag to load the JSONP endpoint
50
+ const script = document.createElement('script');
51
+ script.src = `${normalizedUrl}/api/auth/status.js?callback=${callbackName}&_=${Date.now()}`;
52
+ script.async = true;
53
+ script.defer = true;
54
+ // Cleanup helper to avoid code duplication
55
+ const cleanup = () => {
56
+ script.remove();
57
+ if (originalCallback) {
58
+ ;
59
+ window[callbackName] = originalCallback;
60
+ }
61
+ else {
62
+ delete window[callbackName];
63
+ }
64
+ if (timeoutId) {
65
+ clearTimeout(timeoutId);
66
+ }
67
+ };
68
+ // Create a callback that will receive the auth status data
69
+ const authCallback = (data) => {
70
+ if (resolved) {
71
+ return;
72
+ }
73
+ resolved = true;
74
+ cleanup();
75
+ // Check if user is signed in
76
+ const isV3WalletSignedIn = data.authState === 'signed-in';
77
+ resolve(isV3WalletSignedIn);
78
+ };
79
+ window[callbackName] = authCallback;
80
+ // Handle script load - if callback wasn't called, resolve as false after a short delay
81
+ script.addEventListener('load', () => {
82
+ setTimeout(() => {
83
+ if (!resolved) {
84
+ resolved = true;
85
+ cleanup();
86
+ resolve(false);
87
+ }
88
+ }, 0);
89
+ });
90
+ // Handle script error
91
+ script.addEventListener('error', () => {
92
+ if (!resolved) {
93
+ resolved = true;
94
+ cleanup();
95
+ console.warn('Failed to load auth status script');
96
+ resolve(false);
97
+ }
98
+ });
99
+ // Timeout fallback in case callback is never called
100
+ const timeoutId = setTimeout(() => {
101
+ if (!resolved) {
102
+ resolved = true;
103
+ cleanup();
104
+ resolve(false);
105
+ }
106
+ }, AUTH_STATUS_TIMEOUT_MS);
107
+ // Append script to document head to trigger load
108
+ document.head.appendChild(script);
109
+ });
110
+ };
111
+ //# sourceMappingURL=checkAuthStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAuthStatus.js","sourceRoot":"","sources":["../../../src/utils/checkAuthStatus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethAuth.d.ts","sourceRoot":"","sources":["../../../src/utils/ethAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAI9C,eAAO,MAAM,gBAAgB,GAC3B,cAAc,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3C,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,OAAO,CAAC,YAAY,CAuCtB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,cAAc,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3C,cAAc,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,OAAO,YAAY,KAClB,OAAO,CAAC,OAAO,CAUjB,CAAA"}
1
+ {"version":3,"file":"ethAuth.d.ts","sourceRoot":"","sources":["../../../src/utils/ethAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,gBAAgB,GAC3B,cAAc,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3C,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,OAAO,CAAC,YAAY,CAoFtB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,cAAc,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3C,cAAc,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,OAAO,YAAY,KAClB,OAAO,CAAC,OAAO,CA8BjB,CAAA"}
@@ -1,42 +1,95 @@
1
1
  import { ETHAuth, Proof } from '@0xsequence/ethauth';
2
- import { isValidTypedDataSignature } from '@0xsequence/provider';
3
2
  import { DEFAULT_SESSION_EXPIRATION, LocalStorageKey } from '../constants/index.js';
4
- import { publicClientToProvider, walletClientToSigner } from './adapters.js';
5
3
  export const signEthAuthProof = async (walletClient, storage) => {
6
- const proofInformation = await storage.getItem(LocalStorageKey.EthAuthProof);
7
- // if proof information was generated and saved upon wallet connection, use that
8
- if (proofInformation) {
9
- return proofInformation;
10
- }
11
- // generate a new proof
12
- const proofSettings = await storage.getItem(LocalStorageKey.EthAuthSettings);
4
+ const ethAuth = new ETHAuth();
5
+ const walletAddress = walletClient.account.address;
6
+ const normalizedWalletAddress = walletAddress.toLowerCase();
7
+ const [proofInformation, proofSettings] = await Promise.all([
8
+ storage.getItem(LocalStorageKey.EthAuthProof),
9
+ storage.getItem(LocalStorageKey.EthAuthSettings)
10
+ ]);
11
+ const clearCachedProof = () => storage.removeItem(LocalStorageKey.EthAuthProof);
13
12
  if (!proofSettings) {
13
+ if (proofInformation) {
14
+ await clearCachedProof();
15
+ }
14
16
  throw new Error('No ETHAuth settings found');
15
17
  }
16
- const walletAddress = walletClient.account.address;
18
+ const expectedApp = proofSettings.app || 'app';
19
+ const expectedOrigin = proofSettings.origin;
20
+ const expectedNonce = proofSettings.nonce;
21
+ const expectedExpiry = proofSettings.expiry ? Math.max(proofSettings.expiry, 200) : DEFAULT_SESSION_EXPIRATION;
22
+ // if proof information was generated and saved upon wallet connection, use that
23
+ if (proofInformation) {
24
+ try {
25
+ const decodedProof = await ethAuth.decodeProof(proofInformation.proofString, true);
26
+ const cachedExpiry = decodedProof.claims.exp && decodedProof.claims.iat ? decodedProof.claims.exp - decodedProof.claims.iat : null;
27
+ const isMatchingProof = decodedProof.address === normalizedWalletAddress &&
28
+ (decodedProof.claims.app || 'app') === expectedApp &&
29
+ (decodedProof.claims.ogn ?? undefined) === (expectedOrigin ?? undefined) &&
30
+ (decodedProof.claims.n ?? undefined) === (expectedNonce ?? undefined) &&
31
+ cachedExpiry !== null &&
32
+ Math.abs(cachedExpiry - expectedExpiry) <= 1;
33
+ if (isMatchingProof) {
34
+ return proofInformation;
35
+ }
36
+ await clearCachedProof();
37
+ }
38
+ catch {
39
+ await clearCachedProof();
40
+ }
41
+ }
17
42
  const proof = new Proof();
18
43
  proof.address = walletAddress;
19
- proof.claims.app = proofSettings.app || 'app';
20
- proof.claims.ogn = proofSettings.origin;
21
- proof.claims.n = proofSettings.nonce;
22
- proof.setExpiryIn(proofSettings.expiry ? Math.max(proofSettings.expiry, 200) : DEFAULT_SESSION_EXPIRATION);
44
+ proof.setIssuedAtNow();
45
+ proof.claims.app = expectedApp;
46
+ proof.claims.ogn = expectedOrigin;
47
+ proof.claims.n = expectedNonce;
48
+ proof.setExpiryIn(expectedExpiry);
23
49
  const typedData = proof.messageTypedData();
24
- const signer = await walletClientToSigner(walletClient);
25
- const signature = await signer.signTypedData(typedData.domain, typedData.types, typedData.message);
50
+ const primaryType = Object.keys(typedData.types).find(key => key !== 'EIP712Domain' && typedData.types[key]) || 'Proof';
51
+ const signature = await walletClient.signTypedData({
52
+ account: walletClient.account.address,
53
+ domain: {
54
+ name: typedData.domain.name,
55
+ version: typedData.domain.version,
56
+ chainId: typedData.domain.chainId == null ? undefined : BigInt(typedData.domain.chainId),
57
+ verifyingContract: typedData.domain.verifyingContract || undefined,
58
+ salt: typedData.domain.salt || undefined
59
+ },
60
+ primaryType,
61
+ types: typedData.types,
62
+ message: typedData.message
63
+ });
26
64
  proof.signature = signature;
27
- const ethAuth = new ETHAuth();
28
65
  const proofString = await ethAuth.encodeProof(proof, true);
29
- return {
30
- typedData,
31
- proofString
32
- };
66
+ const proofPayload = { typedData, proofString };
67
+ await storage.setItem(LocalStorageKey.EthAuthProof, proofPayload);
68
+ return proofPayload;
33
69
  };
34
70
  export const validateEthProof = async (walletClient, publicClient, proof) => {
35
- const walletAddress = walletClient.account.address;
71
+ const walletAddress = walletClient.account.address.toLowerCase();
36
72
  const ethAuth = new ETHAuth();
37
73
  const decodedProof = await ethAuth.decodeProof(proof.proofString, true);
38
- const provider = publicClientToProvider(publicClient);
39
- const isValid = await isValidTypedDataSignature(walletAddress, proof.typedData, decodedProof.signature, provider);
74
+ if (decodedProof.address !== walletAddress) {
75
+ return false;
76
+ }
77
+ const typedData = decodedProof.messageTypedData();
78
+ const primaryType = Object.keys(typedData.types).find(key => key !== 'EIP712Domain' && typedData.types[key]) || 'Proof';
79
+ const isValid = await publicClient.verifyTypedData({
80
+ address: walletClient.account.address,
81
+ domain: {
82
+ name: typedData.domain.name || undefined,
83
+ version: typedData.domain.version || undefined,
84
+ chainId: typedData.domain.chainId == null ? undefined : BigInt(typedData.domain.chainId),
85
+ verifyingContract: typedData.domain.verifyingContract || undefined,
86
+ salt: typedData.domain.salt || undefined
87
+ },
88
+ types: typedData.types,
89
+ primaryType,
90
+ message: typedData.message,
91
+ signature: decodedProof.signature
92
+ });
40
93
  return isValid;
41
94
  };
42
95
  //# sourceMappingURL=ethAuth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ethAuth.js","sourceRoot":"","sources":["../../../src/utils/ethAuth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAIhE,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAE5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA2C,EAC3C,OAA6B,EACN,EAAE;IACzB,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;IAE5E,gFAAgF;IAChF,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,uBAAuB;IACvB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;IAE5E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAA;IAElD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IACzB,KAAK,CAAC,OAAO,GAAG,aAAa,CAAA;IAE7B,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,KAAK,CAAA;IAC7C,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAA;IACvC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAA;IAEpC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAA;IAE1G,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAA;IAC1C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAElG,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;IAE3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAE1D,OAAO;QACL,SAAS;QACT,WAAW;KACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA2C,EAC3C,YAAiD,EACjD,KAAmB,EACD,EAAE;IACpB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAA;IAClD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACvE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAA;IAErD,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,QAAe,CAAC,CAAA;IAExH,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"ethAuth.js","sourceRoot":"","sources":["../../../src/utils/ethAuth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Permission } from '@0xsequence/dapp-client';
2
+ export declare const SEQUENCE_VALUE_FORWARDER = "0xABAAd93EeE2a569cF0632f39B10A9f5D734777ca";
3
+ export declare const PARAMETER_OPERATIONS: {
4
+ EQUAL: Permission.ParameterOperation;
5
+ NOT_EQUAL: Permission.ParameterOperation;
6
+ LESS_THAN_OR_EQUAL: Permission.ParameterOperation;
7
+ GREATER_THAN_OR_EQUAL: Permission.ParameterOperation;
8
+ };
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/session/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,eAAO,MAAM,wBAAwB,+CAA+C,CAAA;AAEpF,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { Permission } from '@0xsequence/dapp-client';
2
+ export const SEQUENCE_VALUE_FORWARDER = '0xABAAd93EeE2a569cF0632f39B10A9f5D734777ca';
3
+ export const PARAMETER_OPERATIONS = {
4
+ EQUAL: Permission.ParameterOperation.EQUAL,
5
+ NOT_EQUAL: Permission.ParameterOperation.NOT_EQUAL,
6
+ LESS_THAN_OR_EQUAL: Permission.ParameterOperation.LESS_THAN_OR_EQUAL,
7
+ GREATER_THAN_OR_EQUAL: Permission.ParameterOperation.GREATER_THAN_OR_EQUAL
8
+ };
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/session/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,4CAA4C,CAAA;AAEpF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,KAAK;IAC1C,SAAS,EAAE,UAAU,CAAC,kBAAkB,CAAC,SAAS;IAClD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,CAAC,kBAAkB;IACpE,qBAAqB,EAAE,UAAU,CAAC,kBAAkB,CAAC,qBAAqB;CAC3E,CAAA"}
@@ -0,0 +1,79 @@
1
+ import type { CreateContractPermissionOptions, CreateContractPermissionsOptions, Permission } from './types.js';
2
+ /**
3
+ * Creates a permission for a single smart contract function.
4
+ *
5
+ * This helper function generates a permission object for a specific contract function,
6
+ * This is useful when you want to build permissions for individual contracts functions separately.
7
+ *
8
+ * @param options The configuration ({@link CreateContractPermissionOptions}) for the single contract permission.
9
+ * @returns A Permission ({@link Permission}) for the function on the contract.
10
+ *
11
+ * @note If no functions are provided, the dApp can call any function on the contract for the user.
12
+ *
13
+ * @example
14
+ *
15
+ * import { createContractPermission } from '@0xsequence/connect'
16
+ * import { parseUnits } from 'viem'
17
+ *
18
+ * // Allow dApp to transfer up to 1 USDC to any address untill the session expires.
19
+ * const permission = createContractPermission({
20
+ * address: '0x...',
21
+ * functionSignature: 'function transfer(address to, uint256 value)',
22
+ * rules: [
23
+ * {
24
+ * param: 'value',
25
+ * type: 'uint256',
26
+ * condition: 'LESS_THAN_OR_EQUAL',
27
+ * value: parseUnits('1', 6),
28
+ * cumulative: true
29
+ * }
30
+ * ]
31
+ * })
32
+ *
33
+ */
34
+ declare function createContractPermission(options: CreateContractPermissionOptions): Permission;
35
+ /**
36
+ * Creates contract permissions for multiple smart contract functions.
37
+ *
38
+ * This helper function generates permission objects that define what functions a dApp can call
39
+ * on a specific smart contract, with optional parameter constraints and spending limits.
40
+ *
41
+ * @param options The configuration ({@link CreateContractPermissionsOptions}) for multiple contract permissions.
42
+ * @returns An array of Permissions ({@link Permission}).
43
+ *
44
+ * @note If no functions are provided, the dApp can call any function on the contract for the user.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * import { createContractPermissions } from '@0xsequence/connect'
49
+ *
50
+ * // Allow dApp to approve a DEX contract and transfer up to 10 USDC to any address until the session expires.
51
+ * const permissions = createContractPermissions({
52
+ * address: '0x...',
53
+ * functions: [
54
+ * {
55
+ * functionSignature: 'function transfer(address to, uint256 value)',
56
+ * rules: [{
57
+ * param: 'value',
58
+ * type: 'uint256',
59
+ * condition: 'LESS_THAN_OR_EQUAL',
60
+ * value: parseUnits('10', 6),
61
+ * cumulative: true
62
+ * }]
63
+ * },
64
+ * {
65
+ * functionSignature: 'function approve(address spender, uint256 value)',
66
+ * rules: [{
67
+ * param: 'spender',
68
+ * type: 'address',
69
+ * condition: 'EQUAL',
70
+ * value: '0x...' // Could be a DEX contract address for swaps
71
+ * }]
72
+ * }
73
+ * ]
74
+ * })
75
+ * ```
76
+ */
77
+ declare function createContractPermissions(options: CreateContractPermissionsOptions): Permission[];
78
+ export { createContractPermission, createContractPermissions };
79
+ //# sourceMappingURL=createContractPermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContractPermission.d.ts","sourceRoot":"","sources":["../../../../src/utils/session/createContractPermission.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EAEhC,UAAU,EAEX,MAAM,YAAY,CAAA;AASnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iBAAS,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,UAAU,CAoFtF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,iBAAS,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,UAAU,EAAE,CAiC1F;AAED,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,CAAA"}
@@ -0,0 +1,191 @@
1
+ import { Utils } from '@0xsequence/dapp-client';
2
+ import { PARAMETER_OPERATIONS } from './constants.js';
3
+ const operationMap = {
4
+ EQUAL: PARAMETER_OPERATIONS.EQUAL,
5
+ NOT_EQUAL: PARAMETER_OPERATIONS.NOT_EQUAL,
6
+ LESS_THAN_OR_EQUAL: PARAMETER_OPERATIONS.LESS_THAN_OR_EQUAL,
7
+ GREATER_THAN_OR_EQUAL: PARAMETER_OPERATIONS.GREATER_THAN_OR_EQUAL
8
+ };
9
+ /**
10
+ * Creates a permission for a single smart contract function.
11
+ *
12
+ * This helper function generates a permission object for a specific contract function,
13
+ * This is useful when you want to build permissions for individual contracts functions separately.
14
+ *
15
+ * @param options The configuration ({@link CreateContractPermissionOptions}) for the single contract permission.
16
+ * @returns A Permission ({@link Permission}) for the function on the contract.
17
+ *
18
+ * @note If no functions are provided, the dApp can call any function on the contract for the user.
19
+ *
20
+ * @example
21
+ *
22
+ * import { createContractPermission } from '@0xsequence/connect'
23
+ * import { parseUnits } from 'viem'
24
+ *
25
+ * // Allow dApp to transfer up to 1 USDC to any address untill the session expires.
26
+ * const permission = createContractPermission({
27
+ * address: '0x...',
28
+ * functionSignature: 'function transfer(address to, uint256 value)',
29
+ * rules: [
30
+ * {
31
+ * param: 'value',
32
+ * type: 'uint256',
33
+ * condition: 'LESS_THAN_OR_EQUAL',
34
+ * value: parseUnits('1', 6),
35
+ * cumulative: true
36
+ * }
37
+ * ]
38
+ * })
39
+ *
40
+ */
41
+ function createContractPermission(options) {
42
+ if (!options.address) {
43
+ throw new Error('createContractPermission: Contract address is required.');
44
+ }
45
+ // if no functions are provided, dapp can call any function on the contract
46
+ if (!options.functionSignature) {
47
+ const builder = Utils.PermissionBuilder.for(options.address).allowAll();
48
+ return builder.build();
49
+ }
50
+ let builder = Utils.PermissionBuilder.for(options.address);
51
+ builder = builder.forFunction(options.functionSignature);
52
+ if (options.onlyOnce === true) {
53
+ builder = builder.onlyOnce();
54
+ }
55
+ if (options.rules) {
56
+ for (const rule of options.rules) {
57
+ const isCumulative = rule.cumulative !== false;
58
+ const operation = operationMap[rule.condition];
59
+ // Use a switch statement to call the correct type-specific builder method.
60
+ switch (rule.type) {
61
+ case 'address':
62
+ builder = builder.withAddressParam(rule.param, rule.value, operation, isCumulative);
63
+ break;
64
+ case 'int256':
65
+ builder = builder.withIntNParam(rule.param, BigInt(rule.value), 256, operation, isCumulative);
66
+ break;
67
+ case 'int8':
68
+ builder = builder.withIntNParam(rule.param, BigInt(rule.value), 8, operation, isCumulative);
69
+ break;
70
+ case 'int16':
71
+ builder = builder.withIntNParam(rule.param, BigInt(rule.value), 16, operation, isCumulative);
72
+ break;
73
+ case 'int32':
74
+ builder = builder.withIntNParam(rule.param, BigInt(rule.value), 32, operation, isCumulative);
75
+ break;
76
+ case 'int64':
77
+ builder = builder.withIntNParam(rule.param, BigInt(rule.value), 64, operation, isCumulative);
78
+ break;
79
+ case 'int128':
80
+ builder = builder.withIntNParam(rule.param, BigInt(rule.value), 128, operation, isCumulative);
81
+ break;
82
+ case 'uint256':
83
+ builder = builder.withUintNParam(rule.param, BigInt(rule.value), 256, operation, isCumulative);
84
+ break;
85
+ case 'uint8':
86
+ builder = builder.withUintNParam(rule.param, BigInt(rule.value), 8, operation, isCumulative);
87
+ break;
88
+ case 'uint16':
89
+ builder = builder.withUintNParam(rule.param, BigInt(rule.value), 16, operation, isCumulative);
90
+ break;
91
+ case 'uint32':
92
+ builder = builder.withUintNParam(rule.param, BigInt(rule.value), 32, operation, isCumulative);
93
+ break;
94
+ case 'uint64':
95
+ builder = builder.withUintNParam(rule.param, BigInt(rule.value), 64, operation, isCumulative);
96
+ break;
97
+ case 'uint128':
98
+ builder = builder.withUintNParam(rule.param, BigInt(rule.value), 128, operation, isCumulative);
99
+ break;
100
+ case 'string':
101
+ builder = builder.withStringParam(rule.param, rule.value);
102
+ break;
103
+ case 'bool':
104
+ builder = builder.withBoolParam(rule.param, rule.value, operation);
105
+ break;
106
+ case 'bytes':
107
+ builder = builder.withBytesParam(rule.param, rule.value);
108
+ break;
109
+ case 'bytesN':
110
+ builder = builder.withBytesNParam(rule.param, rule.value);
111
+ break;
112
+ default:
113
+ throw new Error(`createContractPermission: Unsupported parameter type "${rule.type}".`);
114
+ }
115
+ }
116
+ }
117
+ // Build and add this function's Permission object
118
+ return builder.build();
119
+ }
120
+ /**
121
+ * Creates contract permissions for multiple smart contract functions.
122
+ *
123
+ * This helper function generates permission objects that define what functions a dApp can call
124
+ * on a specific smart contract, with optional parameter constraints and spending limits.
125
+ *
126
+ * @param options The configuration ({@link CreateContractPermissionsOptions}) for multiple contract permissions.
127
+ * @returns An array of Permissions ({@link Permission}).
128
+ *
129
+ * @note If no functions are provided, the dApp can call any function on the contract for the user.
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * import { createContractPermissions } from '@0xsequence/connect'
134
+ *
135
+ * // Allow dApp to approve a DEX contract and transfer up to 10 USDC to any address until the session expires.
136
+ * const permissions = createContractPermissions({
137
+ * address: '0x...',
138
+ * functions: [
139
+ * {
140
+ * functionSignature: 'function transfer(address to, uint256 value)',
141
+ * rules: [{
142
+ * param: 'value',
143
+ * type: 'uint256',
144
+ * condition: 'LESS_THAN_OR_EQUAL',
145
+ * value: parseUnits('10', 6),
146
+ * cumulative: true
147
+ * }]
148
+ * },
149
+ * {
150
+ * functionSignature: 'function approve(address spender, uint256 value)',
151
+ * rules: [{
152
+ * param: 'spender',
153
+ * type: 'address',
154
+ * condition: 'EQUAL',
155
+ * value: '0x...' // Could be a DEX contract address for swaps
156
+ * }]
157
+ * }
158
+ * ]
159
+ * })
160
+ * ```
161
+ */
162
+ function createContractPermissions(options) {
163
+ if (!options.address) {
164
+ throw new Error('createContractPermissions: Contract address is required.');
165
+ }
166
+ const allPermissions = [];
167
+ // if no functions are provided, dapp can call any function on the contract
168
+ if (!options.functions || options.functions.length === 0) {
169
+ const permission = createContractPermission({
170
+ address: options.address
171
+ });
172
+ allPermissions.push(permission);
173
+ }
174
+ // For each function in this contract, create a separate Permission object
175
+ for (const func of options.functions || []) {
176
+ if (!func.functionSignature) {
177
+ throw new Error('createContractPermissions: `signature` is required for each function permission.');
178
+ }
179
+ // Use createContractPermission for each individual function
180
+ const permission = createContractPermission({
181
+ address: options.address,
182
+ functionSignature: func.functionSignature,
183
+ rules: func.rules,
184
+ onlyOnce: func.onlyOnce
185
+ });
186
+ allPermissions.push(permission);
187
+ }
188
+ return allPermissions;
189
+ }
190
+ export { createContractPermission, createContractPermissions };
191
+ //# sourceMappingURL=createContractPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContractPermission.js","sourceRoot":"","sources":["../../../../src/utils/session/createContractPermission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type ExplicitSessionConfig } from '@0xsequence/dapp-client';
2
+ import type { ExplicitSessionParams } from './types.js';
3
+ /**
4
+ * Assembles an Explicit Session Config object, to be used to create an explicit session.
5
+ *
6
+ * This helper function creates an explicit session between the dapp and the connected user wallet.
7
+ *
8
+ * It automatically includes a permission for the SEQUENCE_VALUE_FORWARDER contract to enable the dApp to pay gas fees using the user's native token.
9
+ *
10
+ * @param options The complete configuration for the session.
11
+ * @returns The final, ready-to-use object that can be used with Sequence V3 connectors.
12
+ */
13
+ export declare function createExplicitSessionConfig(params: ExplicitSessionParams): ExplicitSessionConfig;
14
+ //# sourceMappingURL=createExplicitSessionParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createExplicitSessionParams.d.ts","sourceRoot":"","sources":["../../../../src/utils/session/createExplicitSessionParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAGpE,OAAO,KAAK,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAA;AAEnE;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CA+BhG"}