@dynamic-labs/sdk-react-core 0.18.13 → 0.18.14
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
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
|
|
2
|
+
### [0.18.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.13...v0.18.14) (2023-09-05)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add onSignedMessage callback ([#3213](https://github.com/dynamic-labs/DynamicAuth/issues/3213)) ([648defa](https://github.com/dynamic-labs/DynamicAuth/commit/648defa1c5f84805e5dcdbb98a30be2a47f53ed7))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* prefer mainnet chain id when connecting with WCv2 ([#3219](https://github.com/dynamic-labs/DynamicAuth/issues/3219)) ([6ee8fb6](https://github.com/dynamic-labs/DynamicAuth/commit/6ee8fb6c0565e759837f45179de12c985ac0dd71))
|
|
13
|
+
|
|
2
14
|
### [0.18.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.12...v0.18.13) (2023-08-31)
|
|
3
15
|
|
|
4
16
|
|
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.
|
|
3
|
+
"version": "0.18.14",
|
|
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.
|
|
20
|
-
"@dynamic-labs/multi-wallet": "0.18.
|
|
21
|
-
"@dynamic-labs/rpc-providers": "0.18.
|
|
22
|
-
"@dynamic-labs/types": "0.18.
|
|
23
|
-
"@dynamic-labs/utils": "0.18.
|
|
24
|
-
"@dynamic-labs/wallet-book": "0.18.
|
|
25
|
-
"@dynamic-labs/wallet-connector-core": "0.18.
|
|
19
|
+
"@dynamic-labs/logger": "0.18.14",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "0.18.14",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "0.18.14",
|
|
22
|
+
"@dynamic-labs/types": "0.18.14",
|
|
23
|
+
"@dynamic-labs/utils": "0.18.14",
|
|
24
|
+
"@dynamic-labs/wallet-book": "0.18.14",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.18.14",
|
|
26
26
|
"eventemitter3": "5.0.1"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
@@ -142,6 +142,10 @@ export type DynamicRPCProviders = {
|
|
|
142
142
|
solanaProviders: SolanaRpcProvider[] | undefined;
|
|
143
143
|
};
|
|
144
144
|
export type DynamicEventsCallbacks = {
|
|
145
|
+
onSignedMessage?: (params: {
|
|
146
|
+
messageToSign: string;
|
|
147
|
+
signedMessage: string;
|
|
148
|
+
}) => void;
|
|
145
149
|
onAuthFlowClose?: () => void;
|
|
146
150
|
onAuthFlowOpen?: () => void;
|
|
147
151
|
onAuthSuccess?: OnAuthSuccess;
|
|
@@ -38,7 +38,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
38
38
|
const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
|
|
39
39
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
40
40
|
const { setErrorMessage, setError } = ErrorContext.useErrorContext();
|
|
41
|
-
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
41
|
+
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
42
42
|
// If the user is not already logged it means that we only need to verify
|
|
43
43
|
// We need this boolean for the part of the logic where we already persisted a new authToken,
|
|
44
44
|
// and need to distinguish between logic for verify or linking.
|
|
@@ -68,7 +68,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
68
68
|
if (Jwt === undefined)
|
|
69
69
|
throw new utils.DynamicError('Could not obtain a valid JWT');
|
|
70
70
|
// TODO DYN-523: add verification here that the JWT is valid with the publicKey
|
|
71
|
-
return Jwt;
|
|
71
|
+
return { Jwt, verifyArgs };
|
|
72
72
|
});
|
|
73
73
|
// Overrides the stored primary wallet id when the
|
|
74
74
|
// user logs in for the first time.
|
|
@@ -143,13 +143,23 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
return ({ walletConnector, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
var _a;
|
|
146
147
|
const walletProvider = getWalletProvider.getWalletProvider(walletConnector);
|
|
147
148
|
try {
|
|
148
149
|
setIsVerificationInProgress(true);
|
|
149
|
-
const Jwt = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
150
|
+
const { Jwt, verifyArgs } = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
150
151
|
const decodedJwt = decodeJwt.decodeJwt(Jwt);
|
|
151
152
|
if (decodedJwt === undefined)
|
|
152
153
|
throw new utils.DynamicError('Invalid token!');
|
|
154
|
+
try {
|
|
155
|
+
(_a = eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onSignedMessage) === null || _a === void 0 ? void 0 : _a.call(eventsCallbacks, {
|
|
156
|
+
messageToSign: verifyArgs.messageToSign,
|
|
157
|
+
signedMessage: verifyArgs.signedMessage,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
catch (_b) {
|
|
161
|
+
logger.logger.warn('Error calling onSignedMessage callback');
|
|
162
|
+
}
|
|
153
163
|
const user = yield createUserProfile.createUserProfile(decodedJwt);
|
|
154
164
|
const isKycRequired = decodedJwt.missingFields.length;
|
|
155
165
|
setOnboardingOnlyJwt(Jwt);
|
|
@@ -34,7 +34,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
34
34
|
const { setExistentAccountData } = useAccountExistsContext();
|
|
35
35
|
const { setView, goToInitialView } = useViewContext();
|
|
36
36
|
const { setErrorMessage, setError } = useErrorContext();
|
|
37
|
-
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, } = useInternalDynamicContext();
|
|
37
|
+
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, } = useInternalDynamicContext();
|
|
38
38
|
// If the user is not already logged it means that we only need to verify
|
|
39
39
|
// We need this boolean for the part of the logic where we already persisted a new authToken,
|
|
40
40
|
// and need to distinguish between logic for verify or linking.
|
|
@@ -64,7 +64,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
64
64
|
if (Jwt === undefined)
|
|
65
65
|
throw new DynamicError('Could not obtain a valid JWT');
|
|
66
66
|
// TODO DYN-523: add verification here that the JWT is valid with the publicKey
|
|
67
|
-
return Jwt;
|
|
67
|
+
return { Jwt, verifyArgs };
|
|
68
68
|
});
|
|
69
69
|
// Overrides the stored primary wallet id when the
|
|
70
70
|
// user logs in for the first time.
|
|
@@ -139,13 +139,23 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
return ({ walletConnector, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
142
|
+
var _a;
|
|
142
143
|
const walletProvider = getWalletProvider(walletConnector);
|
|
143
144
|
try {
|
|
144
145
|
setIsVerificationInProgress(true);
|
|
145
|
-
const Jwt = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
146
|
+
const { Jwt, verifyArgs } = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
146
147
|
const decodedJwt = decodeJwt(Jwt);
|
|
147
148
|
if (decodedJwt === undefined)
|
|
148
149
|
throw new DynamicError('Invalid token!');
|
|
150
|
+
try {
|
|
151
|
+
(_a = eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onSignedMessage) === null || _a === void 0 ? void 0 : _a.call(eventsCallbacks, {
|
|
152
|
+
messageToSign: verifyArgs.messageToSign,
|
|
153
|
+
signedMessage: verifyArgs.signedMessage,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch (_b) {
|
|
157
|
+
logger.warn('Error calling onSignedMessage callback');
|
|
158
|
+
}
|
|
149
159
|
const user = yield createUserProfile(decodedJwt);
|
|
150
160
|
const isKycRequired = decodedJwt.missingFields.length;
|
|
151
161
|
setOnboardingOnlyJwt(Jwt);
|