@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.
- package/README.md +108 -191
- package/dist/cjs/components/Connect/Banner.js +1 -1
- package/dist/cjs/components/Connect/Banner.js.map +1 -1
- package/dist/cjs/components/Connect/Connect.d.ts +7 -1
- package/dist/cjs/components/Connect/Connect.d.ts.map +1 -1
- package/dist/cjs/components/Connect/Connect.js +381 -45
- package/dist/cjs/components/Connect/Connect.js.map +1 -1
- package/dist/cjs/components/Connect/ConnectedWallets.d.ts.map +1 -1
- package/dist/cjs/components/Connect/ConnectedWallets.js +4 -3
- package/dist/cjs/components/Connect/ConnectedWallets.js.map +1 -1
- package/dist/cjs/components/Connect/EmailWaasVerify.d.ts.map +1 -1
- package/dist/cjs/components/Connect/EmailWaasVerify.js +1 -0
- package/dist/cjs/components/Connect/EmailWaasVerify.js.map +1 -1
- package/dist/cjs/components/Connect/ExtendedWalletList.d.ts +2 -1
- package/dist/cjs/components/Connect/ExtendedWalletList.d.ts.map +1 -1
- package/dist/cjs/components/Connect/ExtendedWalletList.js +6 -4
- package/dist/cjs/components/Connect/ExtendedWalletList.js.map +1 -1
- package/dist/cjs/components/Connect/WalletListItem.js +1 -1
- package/dist/cjs/components/Connect/WalletListItem.js.map +1 -1
- package/dist/cjs/components/ConnectButton/ConnectButton.d.ts.map +1 -1
- package/dist/cjs/components/ConnectButton/ConnectButton.js +11 -6
- package/dist/cjs/components/ConnectButton/ConnectButton.js.map +1 -1
- package/dist/cjs/components/ConnectButton/index.d.ts +1 -1
- package/dist/cjs/components/ConnectButton/index.d.ts.map +1 -1
- package/dist/cjs/components/ConnectButton/index.js +3 -1
- package/dist/cjs/components/ConnectButton/index.js.map +1 -1
- package/dist/cjs/components/CryptoOption.js +1 -1
- package/dist/cjs/components/CryptoOption.js.map +1 -1
- package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.d.ts +2 -1
- package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.d.ts.map +1 -1
- package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.js +7 -10
- package/dist/cjs/components/EpicAuthProvider/EpicAuthProvider.js.map +1 -1
- package/dist/cjs/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.d.ts.map +1 -1
- package/dist/cjs/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js +24 -6
- package/dist/cjs/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js.map +1 -1
- package/dist/cjs/components/SequenceConnectPreview/SequenceConnectPreviewProvider.d.ts.map +1 -1
- package/dist/cjs/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js +19 -2
- package/dist/cjs/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js.map +1 -1
- package/dist/cjs/components/SequenceConnectProvider/SequenceConnectProvider.d.ts.map +1 -1
- package/dist/cjs/components/SequenceConnectProvider/SequenceConnectProvider.js +21 -11
- package/dist/cjs/components/SequenceConnectProvider/SequenceConnectProvider.js.map +1 -1
- package/dist/cjs/components/SocialLink/SocialLink.d.ts.map +1 -1
- package/dist/cjs/components/SocialLink/SocialLink.js +28 -28
- package/dist/cjs/components/SocialLink/SocialLink.js.map +1 -1
- package/dist/cjs/config/createConfig.d.ts +2 -1
- package/dist/cjs/config/createConfig.d.ts.map +1 -1
- package/dist/cjs/config/createConfig.js +8 -4
- package/dist/cjs/config/createConfig.js.map +1 -1
- package/dist/cjs/config/defaultConnectors.d.ts +28 -27
- package/dist/cjs/config/defaultConnectors.d.ts.map +1 -1
- package/dist/cjs/config/defaultConnectors.js +94 -65
- package/dist/cjs/config/defaultConnectors.js.map +1 -1
- package/dist/cjs/connectors/X/XAuth.d.ts.map +1 -1
- package/dist/cjs/connectors/X/XAuth.js +0 -2
- package/dist/cjs/connectors/X/XAuth.js.map +1 -1
- package/dist/cjs/connectors/X/XWaas.d.ts +1 -1
- package/dist/cjs/connectors/X/XWaas.d.ts.map +1 -1
- package/dist/cjs/connectors/X/XWaas.js +2 -2
- package/dist/cjs/connectors/X/XWaas.js.map +1 -1
- package/dist/cjs/connectors/apple/AppleLogo.d.ts +1 -1
- package/dist/cjs/connectors/apple/AppleLogo.d.ts.map +1 -1
- package/dist/cjs/connectors/apple/AppleLogo.js +5 -5
- package/dist/cjs/connectors/apple/AppleLogo.js.map +1 -1
- package/dist/cjs/connectors/apple/appleWaas.js +2 -2
- package/dist/cjs/connectors/apple/applev3.d.ts +5 -0
- package/dist/cjs/connectors/apple/applev3.d.ts.map +1 -0
- package/dist/cjs/connectors/apple/applev3.js +23 -0
- package/dist/cjs/connectors/apple/applev3.js.map +1 -0
- package/dist/cjs/connectors/apple/index.d.ts +2 -1
- package/dist/cjs/connectors/apple/index.d.ts.map +1 -1
- package/dist/cjs/connectors/apple/index.js +2 -1
- package/dist/cjs/connectors/apple/index.js.map +1 -1
- package/dist/cjs/connectors/ecosystem/ecosystemV3.d.ts +11 -0
- package/dist/cjs/connectors/ecosystem/ecosystemV3.d.ts.map +1 -0
- package/dist/cjs/connectors/ecosystem/ecosystemV3.js +52 -0
- package/dist/cjs/connectors/ecosystem/ecosystemV3.js.map +1 -0
- package/dist/cjs/connectors/email/emailv3.d.ts +5 -0
- package/dist/cjs/connectors/email/emailv3.d.ts.map +1 -0
- package/dist/cjs/connectors/email/emailv3.js +21 -0
- package/dist/cjs/connectors/email/emailv3.js.map +1 -0
- package/dist/cjs/connectors/email/index.d.ts +2 -1
- package/dist/cjs/connectors/email/index.d.ts.map +1 -1
- package/dist/cjs/connectors/email/index.js +2 -1
- package/dist/cjs/connectors/email/index.js.map +1 -1
- package/dist/cjs/connectors/epic/EpicLogo.d.ts +5 -4
- package/dist/cjs/connectors/epic/EpicLogo.d.ts.map +1 -1
- package/dist/cjs/connectors/epic/EpicLogo.js +1 -1
- package/dist/cjs/connectors/epic/EpicLogo.js.map +1 -1
- package/dist/cjs/connectors/epic/epicWaas.d.ts.map +1 -1
- package/dist/cjs/connectors/epic/epicWaas.js +2 -3
- package/dist/cjs/connectors/epic/epicWaas.js.map +1 -1
- package/dist/cjs/connectors/google/googleV3.d.ts +5 -0
- package/dist/cjs/connectors/google/googleV3.d.ts.map +1 -0
- package/dist/cjs/connectors/google/googleV3.js +23 -0
- package/dist/cjs/connectors/google/googleV3.js.map +1 -0
- package/dist/cjs/connectors/google/index.d.ts +2 -1
- package/dist/cjs/connectors/google/index.d.ts.map +1 -1
- package/dist/cjs/connectors/google/index.js +2 -1
- package/dist/cjs/connectors/google/index.js.map +1 -1
- package/dist/cjs/connectors/guest/guestWaas.d.ts.map +1 -1
- package/dist/cjs/connectors/guest/guestWaas.js +3 -2
- package/dist/cjs/connectors/guest/guestWaas.js.map +1 -1
- package/dist/cjs/connectors/guest/index.d.ts +2 -0
- package/dist/cjs/connectors/guest/index.d.ts.map +1 -0
- package/dist/cjs/connectors/{sequence → guest}/index.js +1 -1
- package/dist/cjs/connectors/guest/index.js.map +1 -0
- package/dist/cjs/connectors/mock/SequenceLogo.d.ts.map +1 -0
- package/dist/cjs/connectors/mock/SequenceLogo.js.map +1 -0
- package/dist/cjs/connectors/mock/mock.d.ts.map +1 -1
- package/dist/cjs/connectors/mock/mock.js +1 -1
- package/dist/cjs/connectors/mock/mock.js.map +1 -1
- package/dist/cjs/connectors/passkey/PasskeyLogo.d.ts +9 -0
- package/dist/cjs/connectors/passkey/PasskeyLogo.d.ts.map +1 -0
- package/dist/cjs/connectors/passkey/PasskeyLogo.js +13 -0
- package/dist/cjs/connectors/passkey/PasskeyLogo.js.map +1 -0
- package/dist/cjs/connectors/passkey/passkeyV3.d.ts +5 -0
- package/dist/cjs/connectors/passkey/passkeyV3.d.ts.map +1 -0
- package/dist/cjs/connectors/passkey/passkeyV3.js +21 -0
- package/dist/cjs/connectors/passkey/passkeyV3.js.map +1 -0
- package/dist/cjs/connectors/wagmiConnectors/index.d.ts +1 -1
- package/dist/cjs/connectors/wagmiConnectors/index.d.ts.map +1 -1
- package/dist/cjs/connectors/wagmiConnectors/index.js +1 -1
- package/dist/cjs/connectors/wagmiConnectors/index.js.map +1 -1
- package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.d.ts +69 -0
- package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.d.ts.map +1 -0
- package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.js +468 -0
- package/dist/cjs/connectors/wagmiConnectors/sequenceV3Connector.js.map +1 -0
- package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.d.ts +15 -8
- package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.d.ts.map +1 -1
- package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.js +153 -40
- package/dist/cjs/connectors/wagmiConnectors/sequenceWaasConnector.js.map +1 -1
- package/dist/cjs/connectors/walletConnect/walletConnect.d.ts.map +1 -1
- package/dist/cjs/connectors/walletConnect/walletConnect.js +1 -1
- package/dist/cjs/connectors/walletConnect/walletConnect.js.map +1 -1
- package/dist/cjs/constants/localStorage.d.ts +2 -1
- package/dist/cjs/constants/localStorage.d.ts.map +1 -1
- package/dist/cjs/constants/localStorage.js +2 -0
- package/dist/cjs/constants/localStorage.js.map +1 -1
- package/dist/cjs/constants/version.d.ts +1 -1
- package/dist/cjs/constants/version.d.ts.map +1 -1
- package/dist/cjs/constants/version.js +1 -1
- package/dist/cjs/constants/version.js.map +1 -1
- package/dist/cjs/constants.d.ts +38 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +41 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/contexts/ConnectConfig.d.ts +3 -2
- package/dist/cjs/contexts/ConnectConfig.d.ts.map +1 -1
- package/dist/cjs/contexts/ConnectConfig.js +15 -4
- package/dist/cjs/contexts/ConnectConfig.js.map +1 -1
- package/dist/cjs/hooks/useAuthStatus.d.ts +55 -0
- package/dist/cjs/hooks/useAuthStatus.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuthStatus.js +80 -0
- package/dist/cjs/hooks/useAuthStatus.js.map +1 -0
- package/dist/cjs/hooks/useExplicitSessions.d.ts +76 -0
- package/dist/cjs/hooks/useExplicitSessions.d.ts.map +1 -0
- package/dist/cjs/hooks/useExplicitSessions.js +109 -0
- package/dist/cjs/hooks/useExplicitSessions.js.map +1 -0
- package/dist/cjs/hooks/useFeeOptions.d.ts +74 -0
- package/dist/cjs/hooks/useFeeOptions.d.ts.map +1 -0
- package/dist/cjs/hooks/useFeeOptions.js +155 -0
- package/dist/cjs/hooks/useFeeOptions.js.map +1 -0
- package/dist/cjs/hooks/useResolvedConnectConfig.d.ts +14 -0
- package/dist/cjs/hooks/useResolvedConnectConfig.d.ts.map +1 -0
- package/dist/cjs/hooks/useResolvedConnectConfig.js +101 -0
- package/dist/cjs/hooks/useResolvedConnectConfig.js.map +1 -0
- package/dist/cjs/hooks/useSequenceSessionState.d.ts +11 -0
- package/dist/cjs/hooks/useSequenceSessionState.d.ts.map +1 -0
- package/dist/cjs/hooks/useSequenceSessionState.js +37 -0
- package/dist/cjs/hooks/useSequenceSessionState.js.map +1 -0
- package/dist/cjs/hooks/useSignInEmail.d.ts.map +1 -1
- package/dist/cjs/hooks/useSignInEmail.js +2 -2
- package/dist/cjs/hooks/useSignInEmail.js.map +1 -1
- package/dist/cjs/hooks/useSyncWagmiChains.d.ts +4 -0
- package/dist/cjs/hooks/useSyncWagmiChains.d.ts.map +1 -0
- package/dist/cjs/hooks/useSyncWagmiChains.js +47 -0
- package/dist/cjs/hooks/useSyncWagmiChains.js.map +1 -0
- package/dist/cjs/hooks/useWaasEmailAuth.d.ts.map +1 -1
- package/dist/cjs/hooks/useWaasEmailAuth.js +1 -0
- package/dist/cjs/hooks/useWaasEmailAuth.js.map +1 -1
- package/dist/cjs/hooks/useWaasEmailConflict.d.ts +0 -39
- package/dist/cjs/hooks/useWaasEmailConflict.d.ts.map +1 -1
- package/dist/cjs/hooks/useWaasEmailConflict.js +2 -42
- package/dist/cjs/hooks/useWaasEmailConflict.js.map +1 -1
- package/dist/cjs/hooks/useWaasFeeOptions.d.ts +17 -58
- package/dist/cjs/hooks/useWaasFeeOptions.d.ts.map +1 -1
- package/dist/cjs/hooks/useWaasFeeOptions.js +129 -120
- package/dist/cjs/hooks/useWaasFeeOptions.js.map +1 -1
- package/dist/cjs/hooks/useWaasSignInEmail.d.ts +0 -3
- package/dist/cjs/hooks/useWaasSignInEmail.d.ts.map +1 -1
- package/dist/cjs/hooks/useWaasSignInEmail.js +2 -6
- package/dist/cjs/hooks/useWaasSignInEmail.js.map +1 -1
- package/dist/cjs/hooks/useWallets.d.ts.map +1 -1
- package/dist/cjs/hooks/useWallets.js +199 -22
- package/dist/cjs/hooks/useWallets.js.map +1 -1
- package/dist/cjs/index.d.ts +26 -21
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +62 -41
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles.d.ts.map +1 -1
- package/dist/cjs/styles.js +20 -59
- package/dist/cjs/styles.js.map +1 -1
- package/dist/cjs/types.d.ts +8 -3
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils/checkAuthStatus.d.ts +39 -0
- package/dist/cjs/utils/checkAuthStatus.d.ts.map +1 -0
- package/dist/cjs/utils/checkAuthStatus.js +115 -0
- package/dist/cjs/utils/checkAuthStatus.js.map +1 -0
- package/dist/cjs/utils/ethAuth.d.ts.map +1 -1
- package/dist/cjs/utils/ethAuth.js +77 -24
- package/dist/cjs/utils/ethAuth.js.map +1 -1
- package/dist/cjs/utils/session/constants.d.ts +8 -0
- package/dist/cjs/utils/session/constants.d.ts.map +1 -0
- package/dist/cjs/utils/session/constants.js +12 -0
- package/dist/cjs/utils/session/constants.js.map +1 -0
- package/dist/cjs/utils/session/createContractPermission.d.ts +79 -0
- package/dist/cjs/utils/session/createContractPermission.d.ts.map +1 -0
- package/dist/cjs/utils/session/createContractPermission.js +194 -0
- package/dist/cjs/utils/session/createContractPermission.js.map +1 -0
- package/dist/cjs/utils/session/createExplicitSessionParams.d.ts +14 -0
- package/dist/cjs/utils/session/createExplicitSessionParams.d.ts.map +1 -0
- package/dist/cjs/utils/session/createExplicitSessionParams.js +39 -0
- package/dist/cjs/utils/session/createExplicitSessionParams.js.map +1 -0
- package/dist/cjs/utils/session/index.d.ts +5 -0
- package/dist/cjs/utils/session/index.d.ts.map +1 -0
- package/dist/cjs/{connectors/twitch → utils/session}/index.js +4 -1
- package/dist/cjs/utils/session/index.js.map +1 -0
- package/dist/cjs/utils/session/types.d.ts +108 -0
- package/dist/cjs/utils/session/types.d.ts.map +1 -0
- package/dist/cjs/utils/session/types.js +3 -0
- package/dist/cjs/utils/session/types.js.map +1 -0
- package/dist/cjs/utils/setChains.d.ts +22 -0
- package/dist/cjs/utils/setChains.d.ts.map +1 -0
- package/dist/cjs/utils/setChains.js +49 -0
- package/dist/cjs/utils/setChains.js.map +1 -0
- package/dist/cjs/utils/walletConfiguration.d.ts +47 -0
- package/dist/cjs/utils/walletConfiguration.d.ts.map +1 -0
- package/dist/cjs/utils/walletConfiguration.js +152 -0
- package/dist/cjs/utils/walletConfiguration.js.map +1 -0
- package/dist/cjs/utils/wordlist.d.ts +3 -0
- package/dist/cjs/utils/wordlist.d.ts.map +1 -0
- package/dist/cjs/utils/wordlist.js +16 -0
- package/dist/cjs/utils/wordlist.js.map +1 -0
- package/dist/esm/components/Connect/Banner.js +1 -1
- package/dist/esm/components/Connect/Banner.js.map +1 -1
- package/dist/esm/components/Connect/Connect.d.ts +7 -1
- package/dist/esm/components/Connect/Connect.d.ts.map +1 -1
- package/dist/esm/components/Connect/Connect.js +385 -49
- package/dist/esm/components/Connect/Connect.js.map +1 -1
- package/dist/esm/components/Connect/ConnectedWallets.d.ts.map +1 -1
- package/dist/esm/components/Connect/ConnectedWallets.js +4 -3
- package/dist/esm/components/Connect/ConnectedWallets.js.map +1 -1
- package/dist/esm/components/Connect/EmailWaasVerify.d.ts.map +1 -1
- package/dist/esm/components/Connect/EmailWaasVerify.js +1 -0
- package/dist/esm/components/Connect/EmailWaasVerify.js.map +1 -1
- package/dist/esm/components/Connect/ExtendedWalletList.d.ts +2 -1
- package/dist/esm/components/Connect/ExtendedWalletList.d.ts.map +1 -1
- package/dist/esm/components/Connect/ExtendedWalletList.js +6 -4
- package/dist/esm/components/Connect/ExtendedWalletList.js.map +1 -1
- package/dist/esm/components/Connect/WalletListItem.js +1 -1
- package/dist/esm/components/Connect/WalletListItem.js.map +1 -1
- package/dist/esm/components/ConnectButton/ConnectButton.d.ts.map +1 -1
- package/dist/esm/components/ConnectButton/ConnectButton.js +11 -6
- package/dist/esm/components/ConnectButton/ConnectButton.js.map +1 -1
- package/dist/esm/components/ConnectButton/index.d.ts +1 -1
- package/dist/esm/components/ConnectButton/index.d.ts.map +1 -1
- package/dist/esm/components/ConnectButton/index.js +1 -1
- package/dist/esm/components/ConnectButton/index.js.map +1 -1
- package/dist/esm/components/CryptoOption.js +1 -1
- package/dist/esm/components/CryptoOption.js.map +1 -1
- package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.d.ts +2 -1
- package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.d.ts.map +1 -1
- package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.js +8 -11
- package/dist/esm/components/EpicAuthProvider/EpicAuthProvider.js.map +1 -1
- package/dist/esm/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.d.ts.map +1 -1
- package/dist/esm/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js +26 -8
- package/dist/esm/components/SequenceConnectInlineProvider/SequenceConnectInlineProvider.js.map +1 -1
- package/dist/esm/components/SequenceConnectPreview/SequenceConnectPreviewProvider.d.ts.map +1 -1
- package/dist/esm/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js +20 -3
- package/dist/esm/components/SequenceConnectPreview/SequenceConnectPreviewProvider.js.map +1 -1
- package/dist/esm/components/SequenceConnectProvider/SequenceConnectProvider.d.ts.map +1 -1
- package/dist/esm/components/SequenceConnectProvider/SequenceConnectProvider.js +23 -13
- package/dist/esm/components/SequenceConnectProvider/SequenceConnectProvider.js.map +1 -1
- package/dist/esm/components/SocialLink/SocialLink.d.ts.map +1 -1
- package/dist/esm/components/SocialLink/SocialLink.js +30 -30
- package/dist/esm/components/SocialLink/SocialLink.js.map +1 -1
- package/dist/esm/config/createConfig.d.ts +2 -1
- package/dist/esm/config/createConfig.d.ts.map +1 -1
- package/dist/esm/config/createConfig.js +7 -2
- package/dist/esm/config/createConfig.js.map +1 -1
- package/dist/esm/config/defaultConnectors.d.ts +28 -27
- package/dist/esm/config/defaultConnectors.d.ts.map +1 -1
- package/dist/esm/config/defaultConnectors.js +92 -63
- package/dist/esm/config/defaultConnectors.js.map +1 -1
- package/dist/esm/connectors/X/XAuth.d.ts.map +1 -1
- package/dist/esm/connectors/X/XAuth.js +0 -2
- package/dist/esm/connectors/X/XAuth.js.map +1 -1
- package/dist/esm/connectors/X/XWaas.d.ts +1 -1
- package/dist/esm/connectors/X/XWaas.d.ts.map +1 -1
- package/dist/esm/connectors/X/XWaas.js +1 -1
- package/dist/esm/connectors/X/XWaas.js.map +1 -1
- package/dist/esm/connectors/apple/AppleLogo.d.ts +1 -1
- package/dist/esm/connectors/apple/AppleLogo.d.ts.map +1 -1
- package/dist/esm/connectors/apple/AppleLogo.js +4 -4
- package/dist/esm/connectors/apple/AppleLogo.js.map +1 -1
- package/dist/esm/connectors/apple/appleWaas.js +3 -3
- package/dist/esm/connectors/apple/applev3.d.ts +5 -0
- package/dist/esm/connectors/apple/applev3.d.ts.map +1 -0
- package/dist/esm/connectors/apple/applev3.js +19 -0
- package/dist/esm/connectors/apple/applev3.js.map +1 -0
- package/dist/esm/connectors/apple/index.d.ts +2 -1
- package/dist/esm/connectors/apple/index.d.ts.map +1 -1
- package/dist/esm/connectors/apple/index.js +2 -1
- package/dist/esm/connectors/apple/index.js.map +1 -1
- package/dist/esm/connectors/ecosystem/ecosystemV3.d.ts +11 -0
- package/dist/esm/connectors/ecosystem/ecosystemV3.d.ts.map +1 -0
- package/dist/esm/connectors/ecosystem/ecosystemV3.js +48 -0
- package/dist/esm/connectors/ecosystem/ecosystemV3.js.map +1 -0
- package/dist/esm/connectors/email/emailv3.d.ts +5 -0
- package/dist/esm/connectors/email/emailv3.d.ts.map +1 -0
- package/dist/esm/connectors/email/emailv3.js +17 -0
- package/dist/esm/connectors/email/emailv3.js.map +1 -0
- package/dist/esm/connectors/email/index.d.ts +2 -1
- package/dist/esm/connectors/email/index.d.ts.map +1 -1
- package/dist/esm/connectors/email/index.js +2 -1
- package/dist/esm/connectors/email/index.js.map +1 -1
- package/dist/esm/connectors/epic/EpicLogo.d.ts +5 -4
- package/dist/esm/connectors/epic/EpicLogo.d.ts.map +1 -1
- package/dist/esm/connectors/epic/EpicLogo.js +1 -1
- package/dist/esm/connectors/epic/EpicLogo.js.map +1 -1
- package/dist/esm/connectors/epic/epicWaas.d.ts.map +1 -1
- package/dist/esm/connectors/epic/epicWaas.js +1 -2
- package/dist/esm/connectors/epic/epicWaas.js.map +1 -1
- package/dist/esm/connectors/google/googleV3.d.ts +5 -0
- package/dist/esm/connectors/google/googleV3.d.ts.map +1 -0
- package/dist/esm/connectors/google/googleV3.js +19 -0
- package/dist/esm/connectors/google/googleV3.js.map +1 -0
- package/dist/esm/connectors/google/index.d.ts +2 -1
- package/dist/esm/connectors/google/index.d.ts.map +1 -1
- package/dist/esm/connectors/google/index.js +2 -1
- package/dist/esm/connectors/google/index.js.map +1 -1
- package/dist/esm/connectors/guest/guestWaas.d.ts.map +1 -1
- package/dist/esm/connectors/guest/guestWaas.js +3 -2
- package/dist/esm/connectors/guest/guestWaas.js.map +1 -1
- package/dist/esm/connectors/guest/index.d.ts +2 -0
- package/dist/esm/connectors/guest/index.d.ts.map +1 -0
- package/dist/esm/connectors/guest/index.js +2 -0
- package/dist/esm/connectors/guest/index.js.map +1 -0
- package/dist/esm/connectors/mock/SequenceLogo.d.ts.map +1 -0
- package/dist/esm/connectors/mock/SequenceLogo.js.map +1 -0
- package/dist/esm/connectors/mock/mock.d.ts.map +1 -1
- package/dist/esm/connectors/mock/mock.js +1 -1
- package/dist/esm/connectors/mock/mock.js.map +1 -1
- package/dist/esm/connectors/passkey/PasskeyLogo.d.ts +9 -0
- package/dist/esm/connectors/passkey/PasskeyLogo.d.ts.map +1 -0
- package/dist/esm/connectors/passkey/PasskeyLogo.js +9 -0
- package/dist/esm/connectors/passkey/PasskeyLogo.js.map +1 -0
- package/dist/esm/connectors/passkey/passkeyV3.d.ts +5 -0
- package/dist/esm/connectors/passkey/passkeyV3.d.ts.map +1 -0
- package/dist/esm/connectors/passkey/passkeyV3.js +17 -0
- package/dist/esm/connectors/passkey/passkeyV3.js.map +1 -0
- package/dist/esm/connectors/wagmiConnectors/index.d.ts +1 -1
- package/dist/esm/connectors/wagmiConnectors/index.d.ts.map +1 -1
- package/dist/esm/connectors/wagmiConnectors/index.js +1 -1
- package/dist/esm/connectors/wagmiConnectors/index.js.map +1 -1
- package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.d.ts +69 -0
- package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.d.ts.map +1 -0
- package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.js +463 -0
- package/dist/esm/connectors/wagmiConnectors/sequenceV3Connector.js.map +1 -0
- package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.d.ts +15 -8
- package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.d.ts.map +1 -1
- package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.js +153 -40
- package/dist/esm/connectors/wagmiConnectors/sequenceWaasConnector.js.map +1 -1
- package/dist/esm/connectors/walletConnect/walletConnect.d.ts.map +1 -1
- package/dist/esm/connectors/walletConnect/walletConnect.js +1 -1
- package/dist/esm/connectors/walletConnect/walletConnect.js.map +1 -1
- package/dist/esm/constants/localStorage.d.ts +2 -1
- package/dist/esm/constants/localStorage.d.ts.map +1 -1
- package/dist/esm/constants/localStorage.js +2 -0
- package/dist/esm/constants/localStorage.js.map +1 -1
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.d.ts.map +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/constants/version.js.map +1 -1
- package/dist/esm/constants.d.ts +38 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +38 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/contexts/ConnectConfig.d.ts +3 -2
- package/dist/esm/contexts/ConnectConfig.d.ts.map +1 -1
- package/dist/esm/contexts/ConnectConfig.js +13 -3
- package/dist/esm/contexts/ConnectConfig.js.map +1 -1
- package/dist/esm/hooks/useAuthStatus.d.ts +55 -0
- package/dist/esm/hooks/useAuthStatus.d.ts.map +1 -0
- package/dist/esm/hooks/useAuthStatus.js +76 -0
- package/dist/esm/hooks/useAuthStatus.js.map +1 -0
- package/dist/esm/hooks/useExplicitSessions.d.ts +76 -0
- package/dist/esm/hooks/useExplicitSessions.d.ts.map +1 -0
- package/dist/esm/hooks/useExplicitSessions.js +106 -0
- package/dist/esm/hooks/useExplicitSessions.js.map +1 -0
- package/dist/esm/hooks/useFeeOptions.d.ts +74 -0
- package/dist/esm/hooks/useFeeOptions.d.ts.map +1 -0
- package/dist/esm/hooks/useFeeOptions.js +152 -0
- package/dist/esm/hooks/useFeeOptions.js.map +1 -0
- package/dist/esm/hooks/useResolvedConnectConfig.d.ts +14 -0
- package/dist/esm/hooks/useResolvedConnectConfig.d.ts.map +1 -0
- package/dist/esm/hooks/useResolvedConnectConfig.js +97 -0
- package/dist/esm/hooks/useResolvedConnectConfig.js.map +1 -0
- package/dist/esm/hooks/useSequenceSessionState.d.ts +11 -0
- package/dist/esm/hooks/useSequenceSessionState.d.ts.map +1 -0
- package/dist/esm/hooks/useSequenceSessionState.js +34 -0
- package/dist/esm/hooks/useSequenceSessionState.js.map +1 -0
- package/dist/esm/hooks/useSignInEmail.d.ts.map +1 -1
- package/dist/esm/hooks/useSignInEmail.js +3 -3
- package/dist/esm/hooks/useSignInEmail.js.map +1 -1
- package/dist/esm/hooks/useSyncWagmiChains.d.ts +4 -0
- package/dist/esm/hooks/useSyncWagmiChains.d.ts.map +1 -0
- package/dist/esm/hooks/useSyncWagmiChains.js +43 -0
- package/dist/esm/hooks/useSyncWagmiChains.js.map +1 -0
- package/dist/esm/hooks/useWaasEmailAuth.d.ts.map +1 -1
- package/dist/esm/hooks/useWaasEmailAuth.js +1 -0
- package/dist/esm/hooks/useWaasEmailAuth.js.map +1 -1
- package/dist/esm/hooks/useWaasEmailConflict.d.ts +0 -39
- package/dist/esm/hooks/useWaasEmailConflict.d.ts.map +1 -1
- package/dist/esm/hooks/useWaasEmailConflict.js +3 -43
- package/dist/esm/hooks/useWaasEmailConflict.js.map +1 -1
- package/dist/esm/hooks/useWaasFeeOptions.d.ts +17 -58
- package/dist/esm/hooks/useWaasFeeOptions.d.ts.map +1 -1
- package/dist/esm/hooks/useWaasFeeOptions.js +126 -120
- package/dist/esm/hooks/useWaasFeeOptions.js.map +1 -1
- package/dist/esm/hooks/useWaasSignInEmail.d.ts +0 -3
- package/dist/esm/hooks/useWaasSignInEmail.d.ts.map +1 -1
- package/dist/esm/hooks/useWaasSignInEmail.js +3 -7
- package/dist/esm/hooks/useWaasSignInEmail.js.map +1 -1
- package/dist/esm/hooks/useWallets.d.ts.map +1 -1
- package/dist/esm/hooks/useWallets.js +201 -24
- package/dist/esm/hooks/useWallets.js.map +1 -1
- package/dist/esm/index.d.ts +26 -21
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +24 -21
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles.d.ts.map +1 -1
- package/dist/esm/styles.js +20 -59
- package/dist/esm/styles.js.map +1 -1
- package/dist/esm/types.d.ts +8 -3
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils/checkAuthStatus.d.ts +39 -0
- package/dist/esm/utils/checkAuthStatus.d.ts.map +1 -0
- package/dist/esm/utils/checkAuthStatus.js +111 -0
- package/dist/esm/utils/checkAuthStatus.js.map +1 -0
- package/dist/esm/utils/ethAuth.d.ts.map +1 -1
- package/dist/esm/utils/ethAuth.js +77 -24
- package/dist/esm/utils/ethAuth.js.map +1 -1
- package/dist/esm/utils/session/constants.d.ts +9 -0
- package/dist/esm/utils/session/constants.d.ts.map +1 -0
- package/dist/esm/utils/session/constants.js +9 -0
- package/dist/esm/utils/session/constants.js.map +1 -0
- package/dist/esm/utils/session/createContractPermission.d.ts +79 -0
- package/dist/esm/utils/session/createContractPermission.d.ts.map +1 -0
- package/dist/esm/utils/session/createContractPermission.js +191 -0
- package/dist/esm/utils/session/createContractPermission.js.map +1 -0
- package/dist/esm/utils/session/createExplicitSessionParams.d.ts +14 -0
- package/dist/esm/utils/session/createExplicitSessionParams.d.ts.map +1 -0
- package/dist/esm/utils/session/createExplicitSessionParams.js +36 -0
- package/dist/esm/utils/session/createExplicitSessionParams.js.map +1 -0
- package/dist/esm/utils/session/index.d.ts +5 -0
- package/dist/esm/utils/session/index.d.ts.map +1 -0
- package/dist/esm/utils/session/index.js +5 -0
- package/dist/esm/utils/session/index.js.map +1 -0
- package/dist/esm/utils/session/types.d.ts +108 -0
- package/dist/esm/utils/session/types.d.ts.map +1 -0
- package/dist/esm/utils/session/types.js +2 -0
- package/dist/esm/utils/session/types.js.map +1 -0
- package/dist/esm/utils/setChains.d.ts +22 -0
- package/dist/esm/utils/setChains.d.ts.map +1 -0
- package/dist/esm/utils/setChains.js +46 -0
- package/dist/esm/utils/setChains.js.map +1 -0
- package/dist/esm/utils/walletConfiguration.d.ts +47 -0
- package/dist/esm/utils/walletConfiguration.d.ts.map +1 -0
- package/dist/esm/utils/walletConfiguration.js +143 -0
- package/dist/esm/utils/walletConfiguration.js.map +1 -0
- package/dist/esm/utils/wordlist.d.ts +3 -0
- package/dist/esm/utils/wordlist.d.ts.map +1 -0
- package/dist/esm/utils/wordlist.js +11 -0
- package/dist/esm/utils/wordlist.js.map +1 -0
- package/package.json +37 -19
- package/dist/cjs/connectors/apple/apple.d.ts +0 -5
- package/dist/cjs/connectors/apple/apple.d.ts.map +0 -1
- package/dist/cjs/connectors/apple/apple.js +0 -32
- package/dist/cjs/connectors/apple/apple.js.map +0 -1
- package/dist/cjs/connectors/discord/DiscordLogo.d.ts +0 -8
- package/dist/cjs/connectors/discord/DiscordLogo.d.ts.map +0 -1
- package/dist/cjs/connectors/discord/DiscordLogo.js +0 -13
- package/dist/cjs/connectors/discord/DiscordLogo.js.map +0 -1
- package/dist/cjs/connectors/discord/discord.d.ts +0 -6
- package/dist/cjs/connectors/discord/discord.d.ts.map +0 -1
- package/dist/cjs/connectors/discord/discord.js +0 -32
- package/dist/cjs/connectors/discord/discord.js.map +0 -1
- package/dist/cjs/connectors/discord/index.d.ts +0 -2
- package/dist/cjs/connectors/discord/index.d.ts.map +0 -1
- package/dist/cjs/connectors/discord/index.js +0 -18
- package/dist/cjs/connectors/discord/index.js.map +0 -1
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.d.ts +0 -20
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.d.ts.map +0 -1
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.js +0 -90
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.js.map +0 -1
- package/dist/cjs/connectors/ecosystem/index.d.ts +0 -7
- package/dist/cjs/connectors/ecosystem/index.d.ts.map +0 -1
- package/dist/cjs/connectors/ecosystem/index.js +0 -14
- package/dist/cjs/connectors/ecosystem/index.js.map +0 -1
- package/dist/cjs/connectors/ecosystem/provider.d.ts +0 -21
- package/dist/cjs/connectors/ecosystem/provider.d.ts.map +0 -1
- package/dist/cjs/connectors/ecosystem/provider.js +0 -105
- package/dist/cjs/connectors/ecosystem/provider.js.map +0 -1
- package/dist/cjs/connectors/ecosystem/providerTransport.d.ts +0 -27
- package/dist/cjs/connectors/ecosystem/providerTransport.d.ts.map +0 -1
- package/dist/cjs/connectors/ecosystem/providerTransport.js +0 -232
- package/dist/cjs/connectors/ecosystem/providerTransport.js.map +0 -1
- package/dist/cjs/connectors/email/email.d.ts +0 -6
- package/dist/cjs/connectors/email/email.d.ts.map +0 -1
- package/dist/cjs/connectors/email/email.js +0 -30
- package/dist/cjs/connectors/email/email.js.map +0 -1
- package/dist/cjs/connectors/facebook/FacebookLogo.d.ts +0 -9
- package/dist/cjs/connectors/facebook/FacebookLogo.d.ts.map +0 -1
- package/dist/cjs/connectors/facebook/FacebookLogo.js +0 -17
- package/dist/cjs/connectors/facebook/FacebookLogo.js.map +0 -1
- package/dist/cjs/connectors/facebook/facebook.d.ts +0 -6
- package/dist/cjs/connectors/facebook/facebook.d.ts.map +0 -1
- package/dist/cjs/connectors/facebook/facebook.js +0 -32
- package/dist/cjs/connectors/facebook/facebook.js.map +0 -1
- package/dist/cjs/connectors/facebook/index.d.ts +0 -2
- package/dist/cjs/connectors/facebook/index.d.ts.map +0 -1
- package/dist/cjs/connectors/facebook/index.js +0 -18
- package/dist/cjs/connectors/facebook/index.js.map +0 -1
- package/dist/cjs/connectors/google/google.d.ts +0 -5
- package/dist/cjs/connectors/google/google.d.ts.map +0 -1
- package/dist/cjs/connectors/google/google.js +0 -31
- package/dist/cjs/connectors/google/google.js.map +0 -1
- package/dist/cjs/connectors/sequence/SequenceLogo.d.ts.map +0 -1
- package/dist/cjs/connectors/sequence/SequenceLogo.js.map +0 -1
- package/dist/cjs/connectors/sequence/index.d.ts +0 -2
- package/dist/cjs/connectors/sequence/index.d.ts.map +0 -1
- package/dist/cjs/connectors/sequence/index.js.map +0 -1
- package/dist/cjs/connectors/sequence/sequence.d.ts +0 -6
- package/dist/cjs/connectors/sequence/sequence.d.ts.map +0 -1
- package/dist/cjs/connectors/sequence/sequence.js +0 -26
- package/dist/cjs/connectors/sequence/sequence.js.map +0 -1
- package/dist/cjs/connectors/twitch/TwitchLogo.d.ts +0 -8
- package/dist/cjs/connectors/twitch/TwitchLogo.d.ts.map +0 -1
- package/dist/cjs/connectors/twitch/TwitchLogo.js +0 -19
- package/dist/cjs/connectors/twitch/TwitchLogo.js.map +0 -1
- package/dist/cjs/connectors/twitch/index.d.ts +0 -2
- package/dist/cjs/connectors/twitch/index.d.ts.map +0 -1
- package/dist/cjs/connectors/twitch/index.js.map +0 -1
- package/dist/cjs/connectors/twitch/twitch.d.ts +0 -6
- package/dist/cjs/connectors/twitch/twitch.d.ts.map +0 -1
- package/dist/cjs/connectors/twitch/twitch.js +0 -32
- package/dist/cjs/connectors/twitch/twitch.js.map +0 -1
- package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.d.ts +0 -23
- package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.d.ts.map +0 -1
- package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.js +0 -141
- package/dist/cjs/connectors/wagmiConnectors/sequenceConnector.js.map +0 -1
- package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts +0 -34
- package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts.map +0 -1
- package/dist/cjs/hooks/useDirectEcosystemConnect.js +0 -52
- package/dist/cjs/hooks/useDirectEcosystemConnect.js.map +0 -1
- package/dist/cjs/utils/adapters.d.ts +0 -5
- package/dist/cjs/utils/adapters.d.ts.map +0 -1
- package/dist/cjs/utils/adapters.js +0 -30
- package/dist/cjs/utils/adapters.js.map +0 -1
- package/dist/esm/connectors/apple/apple.d.ts +0 -5
- package/dist/esm/connectors/apple/apple.d.ts.map +0 -1
- package/dist/esm/connectors/apple/apple.js +0 -28
- package/dist/esm/connectors/apple/apple.js.map +0 -1
- package/dist/esm/connectors/discord/DiscordLogo.d.ts +0 -8
- package/dist/esm/connectors/discord/DiscordLogo.d.ts.map +0 -1
- package/dist/esm/connectors/discord/DiscordLogo.js +0 -9
- package/dist/esm/connectors/discord/DiscordLogo.js.map +0 -1
- package/dist/esm/connectors/discord/discord.d.ts +0 -6
- package/dist/esm/connectors/discord/discord.d.ts.map +0 -1
- package/dist/esm/connectors/discord/discord.js +0 -28
- package/dist/esm/connectors/discord/discord.js.map +0 -1
- package/dist/esm/connectors/discord/index.d.ts +0 -2
- package/dist/esm/connectors/discord/index.d.ts.map +0 -1
- package/dist/esm/connectors/discord/index.js +0 -2
- package/dist/esm/connectors/discord/index.js.map +0 -1
- package/dist/esm/connectors/ecosystem/ecosystemWallet.d.ts +0 -20
- package/dist/esm/connectors/ecosystem/ecosystemWallet.d.ts.map +0 -1
- package/dist/esm/connectors/ecosystem/ecosystemWallet.js +0 -87
- package/dist/esm/connectors/ecosystem/ecosystemWallet.js.map +0 -1
- package/dist/esm/connectors/ecosystem/index.d.ts +0 -7
- package/dist/esm/connectors/ecosystem/index.d.ts.map +0 -1
- package/dist/esm/connectors/ecosystem/index.js +0 -10
- package/dist/esm/connectors/ecosystem/index.js.map +0 -1
- package/dist/esm/connectors/ecosystem/provider.d.ts +0 -21
- package/dist/esm/connectors/ecosystem/provider.d.ts.map +0 -1
- package/dist/esm/connectors/ecosystem/provider.js +0 -101
- package/dist/esm/connectors/ecosystem/provider.js.map +0 -1
- package/dist/esm/connectors/ecosystem/providerTransport.d.ts +0 -27
- package/dist/esm/connectors/ecosystem/providerTransport.d.ts.map +0 -1
- package/dist/esm/connectors/ecosystem/providerTransport.js +0 -228
- package/dist/esm/connectors/ecosystem/providerTransport.js.map +0 -1
- package/dist/esm/connectors/email/email.d.ts +0 -6
- package/dist/esm/connectors/email/email.d.ts.map +0 -1
- package/dist/esm/connectors/email/email.js +0 -26
- package/dist/esm/connectors/email/email.js.map +0 -1
- package/dist/esm/connectors/facebook/FacebookLogo.d.ts +0 -9
- package/dist/esm/connectors/facebook/FacebookLogo.d.ts.map +0 -1
- package/dist/esm/connectors/facebook/FacebookLogo.js +0 -12
- package/dist/esm/connectors/facebook/FacebookLogo.js.map +0 -1
- package/dist/esm/connectors/facebook/facebook.d.ts +0 -6
- package/dist/esm/connectors/facebook/facebook.d.ts.map +0 -1
- package/dist/esm/connectors/facebook/facebook.js +0 -28
- package/dist/esm/connectors/facebook/facebook.js.map +0 -1
- package/dist/esm/connectors/facebook/index.d.ts +0 -2
- package/dist/esm/connectors/facebook/index.d.ts.map +0 -1
- package/dist/esm/connectors/facebook/index.js +0 -2
- package/dist/esm/connectors/facebook/index.js.map +0 -1
- package/dist/esm/connectors/google/google.d.ts +0 -5
- package/dist/esm/connectors/google/google.d.ts.map +0 -1
- package/dist/esm/connectors/google/google.js +0 -27
- package/dist/esm/connectors/google/google.js.map +0 -1
- package/dist/esm/connectors/sequence/SequenceLogo.d.ts.map +0 -1
- package/dist/esm/connectors/sequence/SequenceLogo.js.map +0 -1
- package/dist/esm/connectors/sequence/index.d.ts +0 -2
- package/dist/esm/connectors/sequence/index.d.ts.map +0 -1
- package/dist/esm/connectors/sequence/index.js +0 -2
- package/dist/esm/connectors/sequence/index.js.map +0 -1
- package/dist/esm/connectors/sequence/sequence.d.ts +0 -6
- package/dist/esm/connectors/sequence/sequence.d.ts.map +0 -1
- package/dist/esm/connectors/sequence/sequence.js +0 -22
- package/dist/esm/connectors/sequence/sequence.js.map +0 -1
- package/dist/esm/connectors/twitch/TwitchLogo.d.ts +0 -8
- package/dist/esm/connectors/twitch/TwitchLogo.d.ts.map +0 -1
- package/dist/esm/connectors/twitch/TwitchLogo.js +0 -15
- package/dist/esm/connectors/twitch/TwitchLogo.js.map +0 -1
- package/dist/esm/connectors/twitch/index.d.ts +0 -2
- package/dist/esm/connectors/twitch/index.d.ts.map +0 -1
- package/dist/esm/connectors/twitch/index.js +0 -2
- package/dist/esm/connectors/twitch/index.js.map +0 -1
- package/dist/esm/connectors/twitch/twitch.d.ts +0 -6
- package/dist/esm/connectors/twitch/twitch.d.ts.map +0 -1
- package/dist/esm/connectors/twitch/twitch.js +0 -28
- package/dist/esm/connectors/twitch/twitch.js.map +0 -1
- package/dist/esm/connectors/wagmiConnectors/sequenceConnector.d.ts +0 -23
- package/dist/esm/connectors/wagmiConnectors/sequenceConnector.d.ts.map +0 -1
- package/dist/esm/connectors/wagmiConnectors/sequenceConnector.js +0 -138
- package/dist/esm/connectors/wagmiConnectors/sequenceConnector.js.map +0 -1
- package/dist/esm/hooks/useDirectEcosystemConnect.d.ts +0 -34
- package/dist/esm/hooks/useDirectEcosystemConnect.d.ts.map +0 -1
- package/dist/esm/hooks/useDirectEcosystemConnect.js +0 -48
- package/dist/esm/hooks/useDirectEcosystemConnect.js.map +0 -1
- package/dist/esm/utils/adapters.d.ts +0 -5
- package/dist/esm/utils/adapters.d.ts.map +0 -1
- package/dist/esm/utils/adapters.js +0 -25
- package/dist/esm/utils/adapters.js.map +0 -1
- /package/dist/cjs/connectors/{sequence → mock}/SequenceLogo.d.ts +0 -0
- /package/dist/cjs/connectors/{sequence → mock}/SequenceLogo.js +0 -0
- /package/dist/esm/connectors/{sequence → mock}/SequenceLogo.d.ts +0 -0
- /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;
|
|
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
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
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.
|
|
20
|
-
proof.claims.
|
|
21
|
-
proof.claims.
|
|
22
|
-
proof.
|
|
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
|
|
25
|
-
const signature = await
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
39
|
-
|
|
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;
|
|
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"}
|