@dynamic-labs/sdk-react-core 0.18.0-RC.24 → 0.18.0-RC.26
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/CHANGELOG.md +32 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/context/DynamicContext/DynamicContext.cjs +9 -3
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +10 -4
- package/src/lib/context/DynamicContext/types/index.d.ts +4 -1
- package/src/lib/context/DynamicContext/useDynamicContext.cjs +3 -1
- package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext.js +3 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +2 -2
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +2 -2
- package/src/lib/data/api.cjs +9 -7
- package/src/lib/data/api.js +9 -7
- package/src/lib/shared/types/index.d.ts +1 -1
- package/src/lib/utils/functions/generateMessages/index.cjs +3 -3
- package/src/lib/utils/functions/generateMessages/index.d.ts +1 -1
- package/src/lib/utils/functions/generateMessages/index.js +3 -3
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.cjs +2 -2
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.d.ts +3 -3
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.js +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +2 -2
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +3 -2
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +3 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.d.ts +2 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -2
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -2
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -1
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -2
- package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -2
- package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -2
- package/src/lib/views/WalletUsedView/WalletUsedView.cjs +2 -2
- package/src/lib/views/WalletUsedView/WalletUsedView.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.18.0-RC.26](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.24...v0.18.0-RC.26) (2023-08-02)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* displayTermsOfService prop set to false breaks message verfication (#2751)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* send wagmi settings from wagmi connector ([#2791](https://github.com/dynamic-labs/DynamicAuth/issues/2791)) ([#2800](https://github.com/dynamic-labs/DynamicAuth/issues/2800)) ([5b65605](https://github.com/dynamic-labs/DynamicAuth/commit/5b656059361a48de57e01ad2dd81de0bc9b2c7e8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* always call onBeforeConnectSuccess callback when wallet state changes ([#2786](https://github.com/dynamic-labs/DynamicAuth/issues/2786)) ([e2eaef3](https://github.com/dynamic-labs/DynamicAuth/commit/e2eaef3da1f80cdc7dc21e902e9c033e581242d2))
|
|
17
|
+
* displayTermsOfService prop set to false breaks message verfication ([#2751](https://github.com/dynamic-labs/DynamicAuth/issues/2751)) ([6433732](https://github.com/dynamic-labs/DynamicAuth/commit/6433732fac87d641f2475d19ef743ac31130274f))
|
|
18
|
+
* ensure auto-redirect back to dapp after message signing ([#2783](https://github.com/dynamic-labs/DynamicAuth/issues/2783)) ([dba4664](https://github.com/dynamic-labs/DynamicAuth/commit/dba466473ecc2afd808cdae0fd9023d38676b01f))
|
|
19
|
+
* use css.supports only when available ([#2802](https://github.com/dynamic-labs/DynamicAuth/issues/2802)) ([7651898](https://github.com/dynamic-labs/DynamicAuth/commit/76518982a97e728ab65549f37f55b537eed4e890))
|
|
20
|
+
|
|
21
|
+
## [0.18.0-RC.25](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.24...v0.18.0-RC.25) (2023-08-01)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### ⚠ BREAKING CHANGES
|
|
25
|
+
|
|
26
|
+
* displayTermsOfService prop set to false breaks message verfication (#2751)
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* always call onBeforeConnectSuccess callback when wallet state changes ([#2786](https://github.com/dynamic-labs/DynamicAuth/issues/2786)) ([e2eaef3](https://github.com/dynamic-labs/DynamicAuth/commit/e2eaef3da1f80cdc7dc21e902e9c033e581242d2))
|
|
31
|
+
* displayTermsOfService prop set to false breaks message verfication ([#2751](https://github.com/dynamic-labs/DynamicAuth/issues/2751)) ([6433732](https://github.com/dynamic-labs/DynamicAuth/commit/6433732fac87d641f2475d19ef743ac31130274f))
|
|
32
|
+
* ensure auto-redirect back to dapp after message signing ([#2783](https://github.com/dynamic-labs/DynamicAuth/issues/2783)) ([dba4664](https://github.com/dynamic-labs/DynamicAuth/commit/dba466473ecc2afd808cdae0fd9023d38676b01f))
|
|
33
|
+
|
|
2
34
|
## [0.18.0-RC.24](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.23...v0.18.0-RC.24) (2023-08-01)
|
|
3
35
|
|
|
4
36
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "0.18.0-RC.
|
|
3
|
+
"version": "0.18.0-RC.26",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"formik": "2.2.9",
|
|
17
17
|
"qrcode": "1.5.1",
|
|
18
18
|
"ethers": "5.7.2",
|
|
19
|
-
"@dynamic-labs/logger": "0.18.0-RC.
|
|
20
|
-
"@dynamic-labs/multi-wallet": "0.18.0-RC.
|
|
21
|
-
"@dynamic-labs/rpc-providers": "0.18.0-RC.
|
|
22
|
-
"@dynamic-labs/types": "0.18.0-RC.
|
|
23
|
-
"@dynamic-labs/utils": "0.18.0-RC.
|
|
24
|
-
"@dynamic-labs/wallet-book": "0.18.0-RC.
|
|
25
|
-
"@dynamic-labs/wallet-connector-core": "0.18.0-RC.
|
|
19
|
+
"@dynamic-labs/logger": "0.18.0-RC.26",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "0.18.0-RC.26",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "0.18.0-RC.26",
|
|
22
|
+
"@dynamic-labs/types": "0.18.0-RC.26",
|
|
23
|
+
"@dynamic-labs/utils": "0.18.0-RC.26",
|
|
24
|
+
"@dynamic-labs/wallet-book": "0.18.0-RC.26",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.18.0-RC.26"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"semver": "7.3.8"
|
|
@@ -99,7 +99,7 @@ const EMPTY_INITIAL_USER = undefined;
|
|
|
99
99
|
const DynamicContext = React.createContext(undefined);
|
|
100
100
|
const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
101
101
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
102
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false,
|
|
102
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, } = settings;
|
|
103
103
|
let { walletConnectV1Bridge, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', } = settings;
|
|
104
104
|
if (!environmentId) {
|
|
105
105
|
throw new utils.MissingEnvironmentIdError();
|
|
@@ -359,6 +359,11 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
359
359
|
setIsVerificationInProgress,
|
|
360
360
|
user,
|
|
361
361
|
});
|
|
362
|
+
const sendWagmiSettings = (settings) => {
|
|
363
|
+
api.sendDynamicProps(environmentId, {
|
|
364
|
+
dynamicWagmiSettings: settings.dynamicWagmiSettings,
|
|
365
|
+
});
|
|
366
|
+
};
|
|
362
367
|
const clearStatesOnBackClick = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
363
368
|
setDesktopUri('');
|
|
364
369
|
// Clear verification flag but dont require it to be set
|
|
@@ -426,7 +431,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
426
431
|
decodedOnboardingOnlyToken: decodeJwt.decodeJwt(onboardingOnlyJwt),
|
|
427
432
|
defaultNumberOfWalletsToShow,
|
|
428
433
|
desktopUri,
|
|
429
|
-
|
|
434
|
+
displaySiweStatement,
|
|
430
435
|
environmentId,
|
|
431
436
|
eventsCallbacks,
|
|
432
437
|
getConnectedWalletById,
|
|
@@ -465,6 +470,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
465
470
|
secondaryWallets,
|
|
466
471
|
selectedWalletConnector,
|
|
467
472
|
selectedWalletWithAction,
|
|
473
|
+
sendWagmiSettings,
|
|
468
474
|
setAuthMode,
|
|
469
475
|
setAuthorizationViewDisplayOrder,
|
|
470
476
|
setBridgeChainToConnect,
|
|
@@ -540,7 +546,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
540
546
|
onboardingOnlyJwt,
|
|
541
547
|
defaultNumberOfWalletsToShow,
|
|
542
548
|
desktopUri,
|
|
543
|
-
|
|
549
|
+
displaySiweStatement,
|
|
544
550
|
environmentId,
|
|
545
551
|
eventsCallbacks,
|
|
546
552
|
getConnectedWalletById,
|
|
@@ -20,7 +20,7 @@ export interface DynamicContextProps {
|
|
|
20
20
|
cssOverrides?: string | JSX.Element;
|
|
21
21
|
debugError?: boolean;
|
|
22
22
|
defaultNumberOfWalletsToShow?: number;
|
|
23
|
-
|
|
23
|
+
displaySiweStatement?: boolean;
|
|
24
24
|
enableVisitTrackingOnConnectOnly?: boolean;
|
|
25
25
|
environmentId: string;
|
|
26
26
|
localStorageSuffix?: string;
|
|
@@ -27,7 +27,7 @@ import { useFetchProjectSettings } from '../../utils/hooks/useFetchProjectSettin
|
|
|
27
27
|
import { useFetchNonce } from '../../utils/hooks/useFetchNonce/useFetchNonce.js';
|
|
28
28
|
import { useWallets } from '../../utils/hooks/useWallets/useWallets.js';
|
|
29
29
|
import { useWalletConnectors } from '../../utils/hooks/useWalletConnectors/useWalletConnectors.js';
|
|
30
|
-
import { revokeSession } from '../../data/api.js';
|
|
30
|
+
import { revokeSession, sendDynamicProps } from '../../data/api.js';
|
|
31
31
|
import '@dynamic-labs/multi-wallet';
|
|
32
32
|
import { getAuthToken } from '../../utils/functions/getAuthToken/getAuthToken.js';
|
|
33
33
|
import '@dynamic-labs/sdk-api';
|
|
@@ -95,7 +95,7 @@ const EMPTY_INITIAL_USER = undefined;
|
|
|
95
95
|
const DynamicContext = createContext(undefined);
|
|
96
96
|
const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
97
97
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
98
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false,
|
|
98
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', multiWallet: deprecatedMultiWallet, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, } = settings;
|
|
99
99
|
let { walletConnectV1Bridge, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', } = settings;
|
|
100
100
|
if (!environmentId) {
|
|
101
101
|
throw new MissingEnvironmentIdError();
|
|
@@ -355,6 +355,11 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
355
355
|
setIsVerificationInProgress,
|
|
356
356
|
user,
|
|
357
357
|
});
|
|
358
|
+
const sendWagmiSettings = (settings) => {
|
|
359
|
+
sendDynamicProps(environmentId, {
|
|
360
|
+
dynamicWagmiSettings: settings.dynamicWagmiSettings,
|
|
361
|
+
});
|
|
362
|
+
};
|
|
358
363
|
const clearStatesOnBackClick = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
359
364
|
setDesktopUri('');
|
|
360
365
|
// Clear verification flag but dont require it to be set
|
|
@@ -422,7 +427,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
422
427
|
decodedOnboardingOnlyToken: decodeJwt(onboardingOnlyJwt),
|
|
423
428
|
defaultNumberOfWalletsToShow,
|
|
424
429
|
desktopUri,
|
|
425
|
-
|
|
430
|
+
displaySiweStatement,
|
|
426
431
|
environmentId,
|
|
427
432
|
eventsCallbacks,
|
|
428
433
|
getConnectedWalletById,
|
|
@@ -461,6 +466,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
461
466
|
secondaryWallets,
|
|
462
467
|
selectedWalletConnector,
|
|
463
468
|
selectedWalletWithAction,
|
|
469
|
+
sendWagmiSettings,
|
|
464
470
|
setAuthMode,
|
|
465
471
|
setAuthorizationViewDisplayOrder,
|
|
466
472
|
setBridgeChainToConnect,
|
|
@@ -536,7 +542,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
536
542
|
onboardingOnlyJwt,
|
|
537
543
|
defaultNumberOfWalletsToShow,
|
|
538
544
|
desktopUri,
|
|
539
|
-
|
|
545
|
+
displaySiweStatement,
|
|
540
546
|
environmentId,
|
|
541
547
|
eventsCallbacks,
|
|
542
548
|
getConnectedWalletById,
|
|
@@ -47,7 +47,7 @@ export interface IDynamicContext {
|
|
|
47
47
|
walletsToConnectByChain: ChainsToConnect[] | undefined;
|
|
48
48
|
setWalletsToConnectByChain: Dispatch<SetStateAction<ChainsToConnect[] | undefined>>;
|
|
49
49
|
desktopUri: string;
|
|
50
|
-
|
|
50
|
+
displaySiweStatement: boolean;
|
|
51
51
|
environmentId: string;
|
|
52
52
|
eventsCallbacks?: DynamicEventsCallbacks;
|
|
53
53
|
getConnectedWalletById: (walletId: string) => Wallet | undefined;
|
|
@@ -59,6 +59,9 @@ export interface IDynamicContext {
|
|
|
59
59
|
isSingleWalletAccount: boolean;
|
|
60
60
|
loadingNetwork: boolean;
|
|
61
61
|
loginWithEmail: boolean;
|
|
62
|
+
sendWagmiSettings: (settings: {
|
|
63
|
+
dynamicWagmiSettings?: object;
|
|
64
|
+
}) => void;
|
|
62
65
|
multiWallet: boolean;
|
|
63
66
|
multiWalletWidgetState: MultiWalletWidgetState;
|
|
64
67
|
network: number | string | undefined;
|
|
@@ -11,7 +11,7 @@ const useDynamicContext = () => {
|
|
|
11
11
|
if (context === undefined) {
|
|
12
12
|
throw new Error('useDynamicContext must be used within a DynamicContextProvider');
|
|
13
13
|
}
|
|
14
|
-
const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, } = context;
|
|
14
|
+
const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, setShowBridgeWidget, sendWagmiSettings, } = context;
|
|
15
15
|
return {
|
|
16
16
|
accountSwitchState,
|
|
17
17
|
authMode,
|
|
@@ -35,11 +35,13 @@ const useDynamicContext = () => {
|
|
|
35
35
|
rpcProviders,
|
|
36
36
|
sdkHasLoaded,
|
|
37
37
|
secondaryWallets,
|
|
38
|
+
sendWagmiSettings,
|
|
38
39
|
setLogInWithEmail,
|
|
39
40
|
setMultiWalletWidgetState,
|
|
40
41
|
setNetwork,
|
|
41
42
|
setPrimaryWallet,
|
|
42
43
|
setShowAuthFlow,
|
|
44
|
+
setShowBridgeWidget,
|
|
43
45
|
setShowDynamicUserProfile,
|
|
44
46
|
setShowQrcodeModal,
|
|
45
47
|
shadowDOMEnabled,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IDynamicContext } from './types';
|
|
2
|
-
export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isFullyConnected' | 'isVerificationInProgress' | 'linkedWallets' | 'loadingNetwork' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'secondaryWallets' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'wallets' | 'walletsByChain' | 'walletsToConnectByChain'>;
|
|
2
|
+
export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isFullyConnected' | 'isVerificationInProgress' | 'linkedWallets' | 'loadingNetwork' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'secondaryWallets' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'wallets' | 'walletsByChain' | 'walletsToConnectByChain' | 'setShowBridgeWidget' | 'sendWagmiSettings'>;
|
|
3
3
|
export declare const useDynamicContext: () => UseDynamicContext;
|
|
@@ -7,7 +7,7 @@ const useDynamicContext = () => {
|
|
|
7
7
|
if (context === undefined) {
|
|
8
8
|
throw new Error('useDynamicContext must be used within a DynamicContextProvider');
|
|
9
9
|
}
|
|
10
|
-
const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, } = context;
|
|
10
|
+
const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, setShowBridgeWidget, sendWagmiSettings, } = context;
|
|
11
11
|
return {
|
|
12
12
|
accountSwitchState,
|
|
13
13
|
authMode,
|
|
@@ -31,11 +31,13 @@ const useDynamicContext = () => {
|
|
|
31
31
|
rpcProviders,
|
|
32
32
|
sdkHasLoaded,
|
|
33
33
|
secondaryWallets,
|
|
34
|
+
sendWagmiSettings,
|
|
34
35
|
setLogInWithEmail,
|
|
35
36
|
setMultiWalletWidgetState,
|
|
36
37
|
setNetwork,
|
|
37
38
|
setPrimaryWallet,
|
|
38
39
|
setShowAuthFlow,
|
|
40
|
+
setShowBridgeWidget,
|
|
39
41
|
setShowDynamicUserProfile,
|
|
40
42
|
setShowQrcodeModal,
|
|
41
43
|
shadowDOMEnabled,
|
|
@@ -46,12 +46,12 @@ require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
|
|
|
46
46
|
const SocialRedirectContext = React.createContext(undefined);
|
|
47
47
|
const SocialRedirectContextProvider = ({ children, }) => {
|
|
48
48
|
var _a, _b;
|
|
49
|
-
const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce,
|
|
49
|
+
const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, setShowDynamicUserProfile, isAuthenticated, setPrimaryWalletId, secondaryWallets, sdkHasLoaded, authToken, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
50
50
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
51
51
|
const { setView } = ViewContext.useViewContext();
|
|
52
52
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
53
53
|
consumeNonce,
|
|
54
|
-
|
|
54
|
+
displaySiweStatement,
|
|
55
55
|
environmentId,
|
|
56
56
|
projectSettings,
|
|
57
57
|
setIsSingleWalletAccount,
|
|
@@ -42,12 +42,12 @@ import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
|
|
|
42
42
|
const SocialRedirectContext = createContext(undefined);
|
|
43
43
|
const SocialRedirectContextProvider = ({ children, }) => {
|
|
44
44
|
var _a, _b;
|
|
45
|
-
const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce,
|
|
45
|
+
const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, setShowDynamicUserProfile, isAuthenticated, setPrimaryWalletId, secondaryWallets, sdkHasLoaded, authToken, } = useInternalDynamicContext();
|
|
46
46
|
const { setErrorMessage } = useErrorContext();
|
|
47
47
|
const { setView } = useViewContext();
|
|
48
48
|
const verifyWallet = useVerifyWallet({
|
|
49
49
|
consumeNonce,
|
|
50
|
-
|
|
50
|
+
displaySiweStatement,
|
|
51
51
|
environmentId,
|
|
52
52
|
projectSettings,
|
|
53
53
|
setIsSingleWalletAccount,
|
package/src/lib/data/api.cjs
CHANGED
|
@@ -383,13 +383,15 @@ const getOnrampProviders = ({ chain, environmentId, networkId, token, walletAddr
|
|
|
383
383
|
const sendDynamicProps = (environmentId, settingsToSend) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
384
384
|
try {
|
|
385
385
|
const { dynamicContextProps, dynamicWagmiSettings } = settingsToSend;
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
386
|
+
if (dynamicContextProps || dynamicWagmiSettings) {
|
|
387
|
+
yield sdkApi().logDynamicSdkSettings({
|
|
388
|
+
environmentId,
|
|
389
|
+
sdkSettingsRequest: {
|
|
390
|
+
dynamicContextProps,
|
|
391
|
+
dynamicWagmiSettings,
|
|
392
|
+
},
|
|
393
|
+
});
|
|
394
|
+
}
|
|
393
395
|
}
|
|
394
396
|
catch (e) {
|
|
395
397
|
logger.logger.error(e);
|
package/src/lib/data/api.js
CHANGED
|
@@ -379,13 +379,15 @@ const getOnrampProviders = ({ chain, environmentId, networkId, token, walletAddr
|
|
|
379
379
|
const sendDynamicProps = (environmentId, settingsToSend) => __awaiter(void 0, void 0, void 0, function* () {
|
|
380
380
|
try {
|
|
381
381
|
const { dynamicContextProps, dynamicWagmiSettings } = settingsToSend;
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
382
|
+
if (dynamicContextProps || dynamicWagmiSettings) {
|
|
383
|
+
yield sdkApi().logDynamicSdkSettings({
|
|
384
|
+
environmentId,
|
|
385
|
+
sdkSettingsRequest: {
|
|
386
|
+
dynamicContextProps,
|
|
387
|
+
dynamicWagmiSettings,
|
|
388
|
+
},
|
|
389
|
+
});
|
|
390
|
+
}
|
|
389
391
|
}
|
|
390
392
|
catch (e) {
|
|
391
393
|
logger.error(e);
|
|
@@ -80,7 +80,7 @@ export interface ProjectSettingsProps {
|
|
|
80
80
|
export type WalletProvider = `${WalletProviderEnum}`;
|
|
81
81
|
export interface VerifyWallet {
|
|
82
82
|
captchaToken?: string;
|
|
83
|
-
chain: string;
|
|
83
|
+
chain: string | undefined;
|
|
84
84
|
messageToSign: string;
|
|
85
85
|
network: string | number | undefined;
|
|
86
86
|
oauth?: OauthProviderRequest;
|
|
@@ -6,7 +6,7 @@ var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
|
6
6
|
var multiWallet = require('@dynamic-labs/multi-wallet');
|
|
7
7
|
var utils = require('@dynamic-labs/utils');
|
|
8
8
|
|
|
9
|
-
const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEnvironmentId,
|
|
9
|
+
const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEnvironmentId, displaySiweStatement, siweStatement) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
10
|
if (publicWalletAddress === undefined) {
|
|
11
11
|
throw new utils.DynamicError('Unable to fetch the public address from the wallet');
|
|
12
12
|
}
|
|
@@ -30,9 +30,9 @@ const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEn
|
|
|
30
30
|
publicKey: publicWalletAddress,
|
|
31
31
|
requestId: projectEnvironmentId,
|
|
32
32
|
resources: walletConnector.providerResources,
|
|
33
|
-
statement:
|
|
33
|
+
statement: displaySiweStatement
|
|
34
34
|
? siweStatement.replace(/(\r\n|\n|\r)/gm, ' ').trim()
|
|
35
|
-
:
|
|
35
|
+
: undefined,
|
|
36
36
|
uri: window.location.href,
|
|
37
37
|
});
|
|
38
38
|
const signedMessage = yield walletConnector.proveOwnership(messageToSign);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
export declare const generateMessages: (publicWalletAddress: string | undefined, walletConnector: WalletConnector, nonce: string, projectEnvironmentId: string,
|
|
2
|
+
export declare const generateMessages: (publicWalletAddress: string | undefined, walletConnector: WalletConnector, nonce: string, projectEnvironmentId: string, displaySiweStatement: boolean, siweStatement: string) => Promise<{
|
|
3
3
|
messageToSign: string;
|
|
4
4
|
signedMessage: string;
|
|
5
5
|
}>;
|
|
@@ -2,7 +2,7 @@ import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
|
2
2
|
import { generateMessageToSign } from '@dynamic-labs/multi-wallet';
|
|
3
3
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
4
4
|
|
|
5
|
-
const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEnvironmentId,
|
|
5
|
+
const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEnvironmentId, displaySiweStatement, siweStatement) => __awaiter(void 0, void 0, void 0, function* () {
|
|
6
6
|
if (publicWalletAddress === undefined) {
|
|
7
7
|
throw new DynamicError('Unable to fetch the public address from the wallet');
|
|
8
8
|
}
|
|
@@ -26,9 +26,9 @@ const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEn
|
|
|
26
26
|
publicKey: publicWalletAddress,
|
|
27
27
|
requestId: projectEnvironmentId,
|
|
28
28
|
resources: walletConnector.providerResources,
|
|
29
|
-
statement:
|
|
29
|
+
statement: displaySiweStatement
|
|
30
30
|
? siweStatement.replace(/(\r\n|\n|\r)/gm, ' ').trim()
|
|
31
|
-
:
|
|
31
|
+
: undefined,
|
|
32
32
|
uri: window.location.href,
|
|
33
33
|
});
|
|
34
34
|
const signedMessage = yield walletConnector.proveOwnership(messageToSign);
|
|
@@ -6,7 +6,7 @@ var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
|
6
6
|
var index = require('../generateMessages/index.cjs');
|
|
7
7
|
|
|
8
8
|
// TODO - This function is doing too much we should split it up.
|
|
9
|
-
const getVerifyArgs = ({ walletConnector, nonce, walletProvider, environmentId,
|
|
9
|
+
const getVerifyArgs = ({ walletConnector, nonce, walletProvider, environmentId, displaySiweStatement, skipEmptyAccountCheck, siweStatement, publicWalletAddress, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
10
|
// WARNING - PLEASE READ!
|
|
11
11
|
// DO NOT ADD ANY NEW ASYNC WORK WITH AWAIT!
|
|
12
12
|
// Deep linking could break with too many blocking awaits
|
|
@@ -15,7 +15,7 @@ const getVerifyArgs = ({ walletConnector, nonce, walletProvider, environmentId,
|
|
|
15
15
|
// instead of the actual wallet app.
|
|
16
16
|
const chain = walletConnector.connectedChain;
|
|
17
17
|
// generate message to sign and then initiate signing step to prove ownership
|
|
18
|
-
const { messageToSign, signedMessage } = yield index.generateMessages(publicWalletAddress, walletConnector, nonce, environmentId,
|
|
18
|
+
const { messageToSign, signedMessage } = yield index.generateMessages(publicWalletAddress, walletConnector, nonce, environmentId, displaySiweStatement, siweStatement);
|
|
19
19
|
const network = String(yield walletConnector.getNetwork());
|
|
20
20
|
return {
|
|
21
21
|
chain,
|
|
@@ -2,7 +2,7 @@ import { FetchPublicAddressOpts } from '@dynamic-labs/wallet-connector-core';
|
|
|
2
2
|
import { WalletConnector } from '../../../..';
|
|
3
3
|
import { WalletProvider } from '../../../shared';
|
|
4
4
|
type Props = {
|
|
5
|
-
|
|
5
|
+
displaySiweStatement: boolean;
|
|
6
6
|
environmentId: string;
|
|
7
7
|
fetchPublicAddressOpts?: FetchPublicAddressOpts;
|
|
8
8
|
nonce: string;
|
|
@@ -12,8 +12,8 @@ type Props = {
|
|
|
12
12
|
walletConnector: WalletConnector;
|
|
13
13
|
walletProvider: WalletProvider;
|
|
14
14
|
};
|
|
15
|
-
export declare const getVerifyArgs: ({ walletConnector, nonce, walletProvider, environmentId,
|
|
16
|
-
chain: "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "STARK" | "ATOM" | "COSMOS";
|
|
15
|
+
export declare const getVerifyArgs: ({ walletConnector, nonce, walletProvider, environmentId, displaySiweStatement, skipEmptyAccountCheck, siweStatement, publicWalletAddress, }: Props) => Promise<{
|
|
16
|
+
chain: "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "STARK" | "ATOM" | "COSMOS" | undefined;
|
|
17
17
|
messageToSign: string;
|
|
18
18
|
network: string;
|
|
19
19
|
publicWalletAddress: string;
|
|
@@ -2,7 +2,7 @@ import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
|
2
2
|
import { generateMessages } from '../generateMessages/index.js';
|
|
3
3
|
|
|
4
4
|
// TODO - This function is doing too much we should split it up.
|
|
5
|
-
const getVerifyArgs = ({ walletConnector, nonce, walletProvider, environmentId,
|
|
5
|
+
const getVerifyArgs = ({ walletConnector, nonce, walletProvider, environmentId, displaySiweStatement, skipEmptyAccountCheck, siweStatement, publicWalletAddress, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
6
6
|
// WARNING - PLEASE READ!
|
|
7
7
|
// DO NOT ADD ANY NEW ASYNC WORK WITH AWAIT!
|
|
8
8
|
// Deep linking could break with too many blocking awaits
|
|
@@ -11,7 +11,7 @@ const getVerifyArgs = ({ walletConnector, nonce, walletProvider, environmentId,
|
|
|
11
11
|
// instead of the actual wallet app.
|
|
12
12
|
const chain = walletConnector.connectedChain;
|
|
13
13
|
// generate message to sign and then initiate signing step to prove ownership
|
|
14
|
-
const { messageToSign, signedMessage } = yield generateMessages(publicWalletAddress, walletConnector, nonce, environmentId,
|
|
14
|
+
const { messageToSign, signedMessage } = yield generateMessages(publicWalletAddress, walletConnector, nonce, environmentId, displaySiweStatement, siweStatement);
|
|
15
15
|
const network = String(yield walletConnector.getNetwork());
|
|
16
16
|
return {
|
|
17
17
|
chain,
|
|
@@ -32,11 +32,11 @@ const useConnectAndSign = () => {
|
|
|
32
32
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
33
33
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
34
34
|
const { captchaToken } = CaptchaContext.useCaptchaContext();
|
|
35
|
-
const { authMode, connectWallet, consumeNonce,
|
|
35
|
+
const { authMode, connectWallet, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, user, walletUiUtils, setCallback, setIsVerificationInProgress, isFullyConnected, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
36
36
|
const { handleWalletsToConnect } = useHandleWalletsToConnect.useHandleWalletsToConnect();
|
|
37
37
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
38
38
|
consumeNonce,
|
|
39
|
-
|
|
39
|
+
displaySiweStatement,
|
|
40
40
|
environmentId,
|
|
41
41
|
projectSettings,
|
|
42
42
|
setIsSingleWalletAccount,
|
|
@@ -28,11 +28,11 @@ const useConnectAndSign = () => {
|
|
|
28
28
|
const { setView, goToInitialView } = useViewContext();
|
|
29
29
|
const { setErrorMessage } = useErrorContext();
|
|
30
30
|
const { captchaToken } = useCaptchaContext();
|
|
31
|
-
const { authMode, connectWallet, consumeNonce,
|
|
31
|
+
const { authMode, connectWallet, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, user, walletUiUtils, setCallback, setIsVerificationInProgress, isFullyConnected, } = useInternalDynamicContext();
|
|
32
32
|
const { handleWalletsToConnect } = useHandleWalletsToConnect();
|
|
33
33
|
const verifyWallet = useVerifyWallet({
|
|
34
34
|
consumeNonce,
|
|
35
|
-
|
|
35
|
+
displaySiweStatement,
|
|
36
36
|
environmentId,
|
|
37
37
|
projectSettings,
|
|
38
38
|
setIsSingleWalletAccount,
|
|
@@ -29,11 +29,11 @@ const useConnectAndSignSplitSteps = () => {
|
|
|
29
29
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
30
30
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
31
31
|
const { captchaToken } = CaptchaContext.useCaptchaContext();
|
|
32
|
-
const { connectWallet, consumeNonce,
|
|
32
|
+
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, user, authMode, setCallback, setIsVerificationInProgress, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
33
33
|
const { handleWalletsToConnect } = useHandleWalletsToConnect.useHandleWalletsToConnect();
|
|
34
34
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
35
35
|
consumeNonce,
|
|
36
|
-
|
|
36
|
+
displaySiweStatement,
|
|
37
37
|
environmentId,
|
|
38
38
|
projectSettings,
|
|
39
39
|
setIsSingleWalletAccount,
|
|
@@ -25,11 +25,11 @@ const useConnectAndSignSplitSteps = () => {
|
|
|
25
25
|
const { setView, goToInitialView } = useViewContext();
|
|
26
26
|
const { setErrorMessage } = useErrorContext();
|
|
27
27
|
const { captchaToken } = useCaptchaContext();
|
|
28
|
-
const { connectWallet, consumeNonce,
|
|
28
|
+
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, user, authMode, setCallback, setIsVerificationInProgress, } = useInternalDynamicContext();
|
|
29
29
|
const { handleWalletsToConnect } = useHandleWalletsToConnect();
|
|
30
30
|
const verifyWallet = useVerifyWallet({
|
|
31
31
|
consumeNonce,
|
|
32
|
-
|
|
32
|
+
displaySiweStatement,
|
|
33
33
|
environmentId,
|
|
34
34
|
projectSettings,
|
|
35
35
|
setIsSingleWalletAccount,
|
package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs
CHANGED
|
@@ -23,10 +23,10 @@ require('../../../../shared/consts/index.cjs');
|
|
|
23
23
|
const useSignConnectOnlyUser = () => {
|
|
24
24
|
const { setView } = ViewContext.useViewContext();
|
|
25
25
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
26
|
-
const { connectWallet, consumeNonce,
|
|
26
|
+
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, setSelectedWalletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
27
27
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
28
28
|
consumeNonce,
|
|
29
|
-
|
|
29
|
+
displaySiweStatement,
|
|
30
30
|
environmentId,
|
|
31
31
|
projectSettings,
|
|
32
32
|
setIsSingleWalletAccount,
|
package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js
CHANGED
|
@@ -19,10 +19,10 @@ import '../../../../shared/consts/index.js';
|
|
|
19
19
|
const useSignConnectOnlyUser = () => {
|
|
20
20
|
const { setView } = useViewContext();
|
|
21
21
|
const { setErrorMessage } = useErrorContext();
|
|
22
|
-
const { connectWallet, consumeNonce,
|
|
22
|
+
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, setSelectedWalletConnector, } = useInternalDynamicContext();
|
|
23
23
|
const verifyWallet = useVerifyWallet({
|
|
24
24
|
consumeNonce,
|
|
25
|
-
|
|
25
|
+
displaySiweStatement,
|
|
26
26
|
environmentId,
|
|
27
27
|
projectSettings,
|
|
28
28
|
setIsSingleWalletAccount,
|
|
@@ -102,12 +102,12 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
102
102
|
return Promise.resolve();
|
|
103
103
|
};
|
|
104
104
|
// Updates connected wallet (network and address) and verifies connected wallet connection
|
|
105
|
-
const refreshConnectedWallet = (walletId, walletConnector
|
|
105
|
+
const refreshConnectedWallet = (walletId, walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
106
106
|
if (shouldManuallyReconnectOnRefresh.shouldManuallyReconnectOnRefresh(walletConnector)) {
|
|
107
107
|
yield walletConnector.connect();
|
|
108
108
|
}
|
|
109
109
|
const currentWalletConnectorAddress = yield walletConnector.fetchPublicAddress();
|
|
110
|
-
if (onBeforeConnectSuccessConfirmation
|
|
110
|
+
if (onBeforeConnectSuccessConfirmation) {
|
|
111
111
|
const shouldProceedWithConnection = yield onBeforeConnectSuccessConfirmation({
|
|
112
112
|
address: currentWalletConnectorAddress,
|
|
113
113
|
chain: walletConnector.connectedChain,
|
|
@@ -115,6 +115,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
115
115
|
});
|
|
116
116
|
if (!shouldProceedWithConnection) {
|
|
117
117
|
walletConnectorCore.logger.info('Connection was not established because onBeforeConnectSuccessConfirmation returned false');
|
|
118
|
+
unlinkConnectedWallet(walletId);
|
|
118
119
|
setShowAuthFlow(false);
|
|
119
120
|
return;
|
|
120
121
|
}
|
|
@@ -26,7 +26,7 @@ export declare const useConnectWallet: ({ authMode, clearPrimaryWalletId, enable
|
|
|
26
26
|
connectedWallets: Wallet[];
|
|
27
27
|
connectedWalletsInfo: ConnectedWalletConnectorType[] | [];
|
|
28
28
|
getConnectedWalletById: (walletId: string) => Wallet | undefined;
|
|
29
|
-
refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector
|
|
29
|
+
refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector) => Promise<void>;
|
|
30
30
|
removeConnectedWalletsInfo: () => void;
|
|
31
31
|
unlinkConnectedWallet: (walletId: string) => void;
|
|
32
32
|
};
|
|
@@ -98,12 +98,12 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
98
98
|
return Promise.resolve();
|
|
99
99
|
};
|
|
100
100
|
// Updates connected wallet (network and address) and verifies connected wallet connection
|
|
101
|
-
const refreshConnectedWallet = (walletId, walletConnector
|
|
101
|
+
const refreshConnectedWallet = (walletId, walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
102
|
if (shouldManuallyReconnectOnRefresh(walletConnector)) {
|
|
103
103
|
yield walletConnector.connect();
|
|
104
104
|
}
|
|
105
105
|
const currentWalletConnectorAddress = yield walletConnector.fetchPublicAddress();
|
|
106
|
-
if (onBeforeConnectSuccessConfirmation
|
|
106
|
+
if (onBeforeConnectSuccessConfirmation) {
|
|
107
107
|
const shouldProceedWithConnection = yield onBeforeConnectSuccessConfirmation({
|
|
108
108
|
address: currentWalletConnectorAddress,
|
|
109
109
|
chain: walletConnector.connectedChain,
|
|
@@ -111,6 +111,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
111
111
|
});
|
|
112
112
|
if (!shouldProceedWithConnection) {
|
|
113
113
|
logger.info('Connection was not established because onBeforeConnectSuccessConfirmation returned false');
|
|
114
|
+
unlinkConnectedWallet(walletId);
|
|
114
115
|
setShowAuthFlow(false);
|
|
115
116
|
return;
|
|
116
117
|
}
|
|
@@ -33,7 +33,7 @@ var AccountExistsContext = require('../../../context/AccountExistsContext/Accoun
|
|
|
33
33
|
// This logic is used to both verify or link a wallet
|
|
34
34
|
// Since we are re-using the different screens to authenticate or link the wallet.
|
|
35
35
|
// This logic is the best place to determine whether we should verify or verify and link.
|
|
36
|
-
const useVerifyWallet = ({ consumeNonce,
|
|
36
|
+
const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, }) => {
|
|
37
37
|
const { setDeniedAddress, setDeniedOauthProvider } = AccessDeniedContext.useAccessDeniedContext();
|
|
38
38
|
const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
|
|
39
39
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
@@ -49,7 +49,7 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
|
|
|
49
49
|
if (nonce === undefined)
|
|
50
50
|
throw new utils.DynamicError('Missing nonce');
|
|
51
51
|
const verifyArgs = yield getVerifyArgs.getVerifyArgs({
|
|
52
|
-
|
|
52
|
+
displaySiweStatement,
|
|
53
53
|
environmentId,
|
|
54
54
|
fetchPublicAddressOpts,
|
|
55
55
|
nonce,
|
|
@@ -2,8 +2,8 @@ import { Dispatch, SetStateAction } from 'react';
|
|
|
2
2
|
import { ProjectSettingsProps, VerifyProps, VerifyCallbackArgs } from '../../../shared/types';
|
|
3
3
|
type UseVerifyWalletArgs = VerifyProps & ProjectSettingsProps & {
|
|
4
4
|
consumeNonce: () => string | undefined;
|
|
5
|
-
|
|
5
|
+
displaySiweStatement: boolean;
|
|
6
6
|
setIsSingleWalletAccount: Dispatch<SetStateAction<boolean>>;
|
|
7
7
|
};
|
|
8
|
-
export declare const useVerifyWallet: ({ consumeNonce,
|
|
8
|
+
export declare const useVerifyWallet: ({ consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, }: UseVerifyWalletArgs) => ({ walletConnector, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth, }: VerifyCallbackArgs) => Promise<void>;
|
|
9
9
|
export {};
|
|
@@ -29,7 +29,7 @@ import { useAccountExistsContext } from '../../../context/AccountExistsContext/A
|
|
|
29
29
|
// This logic is used to both verify or link a wallet
|
|
30
30
|
// Since we are re-using the different screens to authenticate or link the wallet.
|
|
31
31
|
// This logic is the best place to determine whether we should verify or verify and link.
|
|
32
|
-
const useVerifyWallet = ({ consumeNonce,
|
|
32
|
+
const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, }) => {
|
|
33
33
|
const { setDeniedAddress, setDeniedOauthProvider } = useAccessDeniedContext();
|
|
34
34
|
const { setExistentAccountData } = useAccountExistsContext();
|
|
35
35
|
const { setView, goToInitialView } = useViewContext();
|
|
@@ -45,7 +45,7 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
|
|
|
45
45
|
if (nonce === undefined)
|
|
46
46
|
throw new DynamicError('Missing nonce');
|
|
47
47
|
const verifyArgs = yield getVerifyArgs({
|
|
48
|
-
|
|
48
|
+
displaySiweStatement,
|
|
49
49
|
environmentId,
|
|
50
50
|
fetchPublicAddressOpts,
|
|
51
51
|
nonce,
|
|
@@ -96,7 +96,7 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
|
|
|
96
96
|
const [newAddress] = accounts;
|
|
97
97
|
const newWallet = secondaryWallets.find((wallet) => walletConnectorCore.isSameAddress(wallet.address, newAddress, wallet.chain));
|
|
98
98
|
if (authMode === 'connect-only') {
|
|
99
|
-
refreshConnectedWallet(primaryWallet.id, primaryWallet.connector
|
|
99
|
+
refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
102
|
if (walletConnectorCore.isSameAddress(newAddress, primaryWallet.address, primaryWallet.chain)) {
|
|
@@ -160,7 +160,7 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
|
|
|
160
160
|
const secondaryListeners = {
|
|
161
161
|
onAccountChange: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
162
162
|
if (authMode === 'connect-only' && secondaryWallets.length) {
|
|
163
|
-
refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector
|
|
163
|
+
refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector);
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
166
166
|
if (multiWalletWidgetState === 'awaiting_account_switch') {
|
|
@@ -17,7 +17,7 @@ export type UseWalletEventListenersArgs = {
|
|
|
17
17
|
setSelectedWalletWithAction(walletWithAction: WalletWithAction | null): void;
|
|
18
18
|
user: UserProfile | undefined;
|
|
19
19
|
authMode: AuthModeType;
|
|
20
|
-
refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector
|
|
20
|
+
refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector) => Promise<void>;
|
|
21
21
|
};
|
|
22
22
|
export declare const useWalletEventListeners: ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => {
|
|
23
23
|
loadingNetwork: boolean;
|
|
@@ -92,7 +92,7 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
|
|
|
92
92
|
const [newAddress] = accounts;
|
|
93
93
|
const newWallet = secondaryWallets.find((wallet) => isSameAddress(wallet.address, newAddress, wallet.chain));
|
|
94
94
|
if (authMode === 'connect-only') {
|
|
95
|
-
refreshConnectedWallet(primaryWallet.id, primaryWallet.connector
|
|
95
|
+
refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
98
|
if (isSameAddress(newAddress, primaryWallet.address, primaryWallet.chain)) {
|
|
@@ -156,7 +156,7 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
|
|
|
156
156
|
const secondaryListeners = {
|
|
157
157
|
onAccountChange: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
158
158
|
if (authMode === 'connect-only' && secondaryWallets.length) {
|
|
159
|
-
refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector
|
|
159
|
+
refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector);
|
|
160
160
|
return;
|
|
161
161
|
}
|
|
162
162
|
if (multiWalletWidgetState === 'awaiting_account_switch') {
|
|
@@ -47,12 +47,12 @@ require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
|
47
47
|
var Captcha = require('../../components/Captcha/Captcha.cjs');
|
|
48
48
|
|
|
49
49
|
const CaptchaVerifyUser = () => {
|
|
50
|
-
const { consumeNonce,
|
|
50
|
+
const { consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, selectedWalletConnector: walletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
51
51
|
const { setView } = ViewContext.useViewContext();
|
|
52
52
|
const { setCaptchaToken } = CaptchaContext.useCaptchaContext();
|
|
53
53
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
54
54
|
consumeNonce,
|
|
55
|
-
|
|
55
|
+
displaySiweStatement,
|
|
56
56
|
environmentId,
|
|
57
57
|
projectSettings,
|
|
58
58
|
setIsSingleWalletAccount,
|
|
@@ -43,12 +43,12 @@ import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
|
43
43
|
import { Captcha } from '../../components/Captcha/Captcha.js';
|
|
44
44
|
|
|
45
45
|
const CaptchaVerifyUser = () => {
|
|
46
|
-
const { consumeNonce,
|
|
46
|
+
const { consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, selectedWalletConnector: walletConnector, } = useInternalDynamicContext();
|
|
47
47
|
const { setView } = useViewContext();
|
|
48
48
|
const { setCaptchaToken } = useCaptchaContext();
|
|
49
49
|
const verifyWallet = useVerifyWallet({
|
|
50
50
|
consumeNonce,
|
|
51
|
-
|
|
51
|
+
displaySiweStatement,
|
|
52
52
|
environmentId,
|
|
53
53
|
projectSettings,
|
|
54
54
|
setIsSingleWalletAccount,
|
|
@@ -61,7 +61,7 @@ const WalletUsedView = () => {
|
|
|
61
61
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
62
62
|
const { loading, setLoading } = LoadingContext.useLoadingContext();
|
|
63
63
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
64
|
-
const { environmentId,
|
|
64
|
+
const { environmentId, displaySiweStatement, authToken, setCallback, setShowAuthFlow, setUser, appName, siweStatement, setPrimaryWalletId, primaryWallet, setMultiWalletWidgetState, connectWallet, selectedWalletConnector: walletConnector, isSingleWalletAccount, consumeNonce, handleLogOut, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
65
65
|
React.useEffect(() => {
|
|
66
66
|
const _fetchPublicAddress = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
67
67
|
const address = yield (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.fetchPublicAddress());
|
|
@@ -110,7 +110,7 @@ const WalletUsedView = () => {
|
|
|
110
110
|
}
|
|
111
111
|
const walletProvider = getWalletProvider.getWalletProvider(walletConnector);
|
|
112
112
|
const verifyArgs = yield getVerifyArgs.getVerifyArgs({
|
|
113
|
-
|
|
113
|
+
displaySiweStatement,
|
|
114
114
|
environmentId,
|
|
115
115
|
nonce,
|
|
116
116
|
publicWalletAddress,
|
|
@@ -57,7 +57,7 @@ const WalletUsedView = () => {
|
|
|
57
57
|
const { setErrorMessage } = useErrorContext();
|
|
58
58
|
const { loading, setLoading } = useLoadingContext();
|
|
59
59
|
const { setView, goToInitialView } = useViewContext();
|
|
60
|
-
const { environmentId,
|
|
60
|
+
const { environmentId, displaySiweStatement, authToken, setCallback, setShowAuthFlow, setUser, appName, siweStatement, setPrimaryWalletId, primaryWallet, setMultiWalletWidgetState, connectWallet, selectedWalletConnector: walletConnector, isSingleWalletAccount, consumeNonce, handleLogOut, } = useInternalDynamicContext();
|
|
61
61
|
useEffect(() => {
|
|
62
62
|
const _fetchPublicAddress = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
63
|
const address = yield (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.fetchPublicAddress());
|
|
@@ -106,7 +106,7 @@ const WalletUsedView = () => {
|
|
|
106
106
|
}
|
|
107
107
|
const walletProvider = getWalletProvider(walletConnector);
|
|
108
108
|
const verifyArgs = yield getVerifyArgs({
|
|
109
|
-
|
|
109
|
+
displaySiweStatement,
|
|
110
110
|
environmentId,
|
|
111
111
|
nonce,
|
|
112
112
|
publicWalletAddress,
|