@dynamic-labs/sdk-react-core 4.48.2 → 4.50.1
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 +27 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +12 -12
- package/src/index.cjs +6 -4
- package/src/index.d.ts +1 -0
- package/src/index.js +3 -2
- package/src/lib/context/DynamicContext/DynamicContext.cjs +1 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +1 -1
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +10 -0
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +10 -0
- package/src/lib/context/OnrampContext/OnrampContext.cjs +4 -2
- package/src/lib/context/OnrampContext/OnrampContext.d.ts +1 -0
- package/src/lib/context/OnrampContext/OnrampContext.js +4 -2
- package/src/lib/context/OnrampContext/types.d.ts +1 -0
- package/src/lib/context/OnrampContext/utils/getOnrampProviders.cjs +2 -1
- package/src/lib/context/OnrampContext/utils/getOnrampProviders.d.ts +1 -1
- package/src/lib/context/OnrampContext/utils/getOnrampProviders.js +2 -1
- package/src/lib/context/PhantomRedirectContext/PhantomRedirectContext.cjs +38 -6
- package/src/lib/context/PhantomRedirectContext/PhantomRedirectContext.d.ts +2 -2
- package/src/lib/context/PhantomRedirectContext/PhantomRedirectContext.js +39 -8
- package/src/lib/context/PhantomRedirectContext/useResponseHandlers.cjs +108 -16
- package/src/lib/context/PhantomRedirectContext/useResponseHandlers.js +108 -16
- package/src/lib/context/ViewContext/types/index.d.ts +1 -1
- package/src/lib/data/api/onramp/onramp.cjs +2 -1
- package/src/lib/data/api/onramp/onramp.d.ts +2 -1
- package/src/lib/data/api/onramp/onramp.js +2 -1
- package/src/lib/events/dynamicEvents.cjs +2 -0
- package/src/lib/events/dynamicEvents.d.ts +1 -1
- package/src/lib/events/dynamicEvents.js +2 -0
- package/src/lib/shared/assets/backup-waas.cjs +4 -4
- package/src/lib/shared/assets/backup-waas.js +4 -4
- package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +4 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/authViewLayoutChecks.cjs +13 -0
- package/src/lib/utils/constants/authViewLayoutChecks.js +13 -0
- package/src/lib/utils/functions/generateMessages/index.cjs +11 -2
- package/src/lib/utils/functions/generateMessages/index.js +11 -2
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.cjs +27 -1
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.js +27 -1
- package/src/lib/utils/functions/index.d.ts +0 -1
- package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +1 -1
- package/src/lib/utils/hooks/index.d.ts +2 -0
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.cjs +5 -1
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.js +5 -1
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +35 -5
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +1 -0
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +35 -5
- package/src/lib/utils/hooks/useFunding/useFunding.d.ts +1 -0
- package/src/lib/utils/hooks/useOnramp/useOnramp.cjs +14 -29
- package/src/lib/utils/hooks/useOnramp/useOnramp.d.ts +14 -18
- package/src/lib/utils/hooks/useOnramp/useOnramp.js +14 -29
- package/src/lib/utils/hooks/usePhantomRedirectEvents/index.d.ts +1 -0
- package/src/lib/utils/hooks/usePhantomRedirectEvents/usePhantomRedirectEvents.cjs +65 -0
- package/src/lib/utils/hooks/usePhantomRedirectEvents/usePhantomRedirectEvents.d.ts +36 -0
- package/src/lib/utils/hooks/usePhantomRedirectEvents/usePhantomRedirectEvents.js +61 -0
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +17 -14
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +17 -14
- package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.cjs +106 -1
- package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.js +106 -1
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.cjs +1 -1
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.js +1 -1
- package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +1 -1
- package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +1 -1
- package/src/lib/utils/hooks/useWalletBackup/index.d.ts +1 -0
- package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.cjs +339 -0
- package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.d.ts +49 -0
- package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.js +332 -0
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +2 -2
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +2 -2
- package/src/lib/utils/hooks/useWalletItemActions/useHandleWalletItem/useHandleWalletItem.cjs +1 -0
- package/src/lib/utils/hooks/useWalletItemActions/useHandleWalletItem/useHandleWalletItem.js +1 -0
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +13 -0
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +14 -1
- package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.cjs +9 -6
- package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.js +9 -6
- package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.cjs +13 -0
- package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.js +14 -1
- package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -0
- package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -0
- package/src/lib/views/viewToComponentMap.cjs +15 -3
- package/src/lib/views/viewToComponentMap.d.ts +6 -0
- package/src/lib/views/viewToComponentMap.js +15 -3
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +97 -3
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +97 -3
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.cjs +16 -14
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.js +16 -14
- package/src/lib/widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.cjs +3 -1
- package/src/lib/widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.js +3 -1
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/BackupStepper.cjs +37 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/BackupStepper.d.ts +7 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/BackupStepper.js +33 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupCloudProviderView.cjs +49 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupCloudProviderView.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupCloudProviderView.js +45 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupDownloadView.cjs +53 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupDownloadView.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupDownloadView.js +49 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupInfoView.cjs +9 -18
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupInfoView.js +10 -19
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupProgressView.cjs +52 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupProgressView.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupProgressView.js +48 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupSuccessView.cjs +131 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupSuccessView.d.ts +5 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupSuccessView.js +127 -0
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupView.cjs +45 -104
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupView.js +47 -106
- package/src/lib/widgets/DynamicWidget/views/WaasBackupView/index.d.ts +6 -1
- package/src/lib/utils/functions/downloadFile/downloadFile.cjs +0 -15
- package/src/lib/utils/functions/downloadFile/downloadFile.d.ts +0 -1
- package/src/lib/utils/functions/downloadFile/downloadFile.js +0 -11
- package/src/lib/utils/functions/downloadFile/index.d.ts +0 -1
|
@@ -59,6 +59,12 @@ const viewsThatHideHeader = [
|
|
|
59
59
|
'waas-upgrade-view',
|
|
60
60
|
'wallet-upgrade-flow-view',
|
|
61
61
|
'account-upgraded',
|
|
62
|
+
'waas-backup-view',
|
|
63
|
+
'waas-backup-info-view',
|
|
64
|
+
'waas-backup-cloud-provider-view',
|
|
65
|
+
'waas-backup-download-view',
|
|
66
|
+
'waas-backup-progress-view',
|
|
67
|
+
'waas-backup-success-view',
|
|
62
68
|
];
|
|
63
69
|
const viewsThatShowConnectedWalletProgress = [
|
|
64
70
|
'wallet-list',
|
|
@@ -105,6 +111,7 @@ const viewsThatPreventModalClose = [
|
|
|
105
111
|
'backup-unsuccessful',
|
|
106
112
|
'wallet-upgrade-flow-view',
|
|
107
113
|
'wallet-delegation-view',
|
|
114
|
+
'waas-backup-progress-view',
|
|
108
115
|
];
|
|
109
116
|
/**
|
|
110
117
|
* When hasPendingMfaAction returns true, user is not able to close the modal in these views at all
|
|
@@ -140,6 +147,12 @@ const viewsThatHideCloseButton = [
|
|
|
140
147
|
'mfa-recovery',
|
|
141
148
|
'user-delete-account',
|
|
142
149
|
'backup-unsuccessful',
|
|
150
|
+
'waas-backup-view',
|
|
151
|
+
'waas-backup-info-view',
|
|
152
|
+
'waas-backup-cloud-provider-view',
|
|
153
|
+
'waas-backup-download-view',
|
|
154
|
+
'waas-backup-progress-view',
|
|
155
|
+
'waas-backup-success-view',
|
|
143
156
|
];
|
|
144
157
|
|
|
145
158
|
exports.mfaViewsThatPreventModalClose = mfaViewsThatPreventModalClose;
|
|
@@ -55,6 +55,12 @@ const viewsThatHideHeader = [
|
|
|
55
55
|
'waas-upgrade-view',
|
|
56
56
|
'wallet-upgrade-flow-view',
|
|
57
57
|
'account-upgraded',
|
|
58
|
+
'waas-backup-view',
|
|
59
|
+
'waas-backup-info-view',
|
|
60
|
+
'waas-backup-cloud-provider-view',
|
|
61
|
+
'waas-backup-download-view',
|
|
62
|
+
'waas-backup-progress-view',
|
|
63
|
+
'waas-backup-success-view',
|
|
58
64
|
];
|
|
59
65
|
const viewsThatShowConnectedWalletProgress = [
|
|
60
66
|
'wallet-list',
|
|
@@ -101,6 +107,7 @@ const viewsThatPreventModalClose = [
|
|
|
101
107
|
'backup-unsuccessful',
|
|
102
108
|
'wallet-upgrade-flow-view',
|
|
103
109
|
'wallet-delegation-view',
|
|
110
|
+
'waas-backup-progress-view',
|
|
104
111
|
];
|
|
105
112
|
/**
|
|
106
113
|
* When hasPendingMfaAction returns true, user is not able to close the modal in these views at all
|
|
@@ -136,6 +143,12 @@ const viewsThatHideCloseButton = [
|
|
|
136
143
|
'mfa-recovery',
|
|
137
144
|
'user-delete-account',
|
|
138
145
|
'backup-unsuccessful',
|
|
146
|
+
'waas-backup-view',
|
|
147
|
+
'waas-backup-info-view',
|
|
148
|
+
'waas-backup-cloud-provider-view',
|
|
149
|
+
'waas-backup-download-view',
|
|
150
|
+
'waas-backup-progress-view',
|
|
151
|
+
'waas-backup-success-view',
|
|
139
152
|
];
|
|
140
153
|
|
|
141
154
|
export { mfaViewsThatPreventModalClose, viewsThatHideCloseButton, viewsThatHideHeader, viewsThatHideHelpContent, viewsThatPreventBorderBelowHeader, viewsThatPreventModalClose, viewsThatShowConnectedWalletProgress, viewsThatShowDynamicFooter, viewsWithWalletListType };
|
|
@@ -38,10 +38,19 @@ const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEn
|
|
|
38
38
|
const chainId = yield getChainIdForMessage(walletConnector);
|
|
39
39
|
const parsedAddress = walletConnector.parseAddress(publicWalletAddress);
|
|
40
40
|
const currentUrl = utils.PlatformService.getUrl();
|
|
41
|
+
// For native mobile, getDisplayOrigin() returns the app's web domain (e.g., 'demo.dynamic.xyz')
|
|
42
|
+
// which is needed for valid SIWE messages instead of the deep link scheme we get from getUrl()
|
|
43
|
+
const displayOrigin = utils.PlatformService.isNativeMobile
|
|
44
|
+
? utils.PlatformService.getDisplayOrigin()
|
|
45
|
+
: undefined;
|
|
46
|
+
const domain = displayOrigin !== null && displayOrigin !== void 0 ? displayOrigin : currentUrl.host;
|
|
47
|
+
const uri = displayOrigin
|
|
48
|
+
? `https://${displayOrigin}`
|
|
49
|
+
: currentUrl.origin + currentUrl.pathname;
|
|
41
50
|
const messageToSign = multiWallet.generateMessageToSign({
|
|
42
51
|
blockchain: walletConnector.connectedChain,
|
|
43
52
|
chainId: chainId,
|
|
44
|
-
domain
|
|
53
|
+
domain,
|
|
45
54
|
nonce,
|
|
46
55
|
// The SIWE parser library used to validate signed messages for EVM/Ethereum
|
|
47
56
|
// checks that an address is in EIP55 format, so make sure we do that here.
|
|
@@ -52,7 +61,7 @@ const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEn
|
|
|
52
61
|
statement: displaySiweStatement
|
|
53
62
|
? siweStatement.replace(/(\r\n|\n|\r)/gm, ' ').trim()
|
|
54
63
|
: undefined,
|
|
55
|
-
uri
|
|
64
|
+
uri,
|
|
56
65
|
});
|
|
57
66
|
const signedMessage = yield walletConnector.proveOwnership(parsedAddress, messageToSign);
|
|
58
67
|
if (!signedMessage) {
|
|
@@ -34,10 +34,19 @@ const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEn
|
|
|
34
34
|
const chainId = yield getChainIdForMessage(walletConnector);
|
|
35
35
|
const parsedAddress = walletConnector.parseAddress(publicWalletAddress);
|
|
36
36
|
const currentUrl = PlatformService.getUrl();
|
|
37
|
+
// For native mobile, getDisplayOrigin() returns the app's web domain (e.g., 'demo.dynamic.xyz')
|
|
38
|
+
// which is needed for valid SIWE messages instead of the deep link scheme we get from getUrl()
|
|
39
|
+
const displayOrigin = PlatformService.isNativeMobile
|
|
40
|
+
? PlatformService.getDisplayOrigin()
|
|
41
|
+
: undefined;
|
|
42
|
+
const domain = displayOrigin !== null && displayOrigin !== void 0 ? displayOrigin : currentUrl.host;
|
|
43
|
+
const uri = displayOrigin
|
|
44
|
+
? `https://${displayOrigin}`
|
|
45
|
+
: currentUrl.origin + currentUrl.pathname;
|
|
37
46
|
const messageToSign = generateMessageToSign({
|
|
38
47
|
blockchain: walletConnector.connectedChain,
|
|
39
48
|
chainId: chainId,
|
|
40
|
-
domain
|
|
49
|
+
domain,
|
|
41
50
|
nonce,
|
|
42
51
|
// The SIWE parser library used to validate signed messages for EVM/Ethereum
|
|
43
52
|
// checks that an address is in EIP55 format, so make sure we do that here.
|
|
@@ -48,7 +57,7 @@ const generateMessages = (publicWalletAddress, walletConnector, nonce, projectEn
|
|
|
48
57
|
statement: displaySiweStatement
|
|
49
58
|
? siweStatement.replace(/(\r\n|\n|\r)/gm, ' ').trim()
|
|
50
59
|
: undefined,
|
|
51
|
-
uri
|
|
60
|
+
uri,
|
|
52
61
|
});
|
|
53
62
|
const signedMessage = yield walletConnector.proveOwnership(parsedAddress, messageToSign);
|
|
54
63
|
if (!signedMessage) {
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
7
|
+
var logger = require('../../../shared/logger.cjs');
|
|
7
8
|
var index = require('../generateMessages/index.cjs');
|
|
8
9
|
var nonce = require('../../../store/state/nonce/nonce.cjs');
|
|
9
10
|
|
|
@@ -16,12 +17,28 @@ const getVerifyArgs = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* (
|
|
|
16
17
|
// This could manifest in users being directed to the app store
|
|
17
18
|
// instead of the actual wallet app.
|
|
18
19
|
const chain = walletConnector.connectedChain;
|
|
20
|
+
logger.logger.logVerboseTroubleshootingMessage('[getVerifyArgs] called', {
|
|
21
|
+
chain,
|
|
22
|
+
displaySiweStatement,
|
|
23
|
+
environmentId,
|
|
24
|
+
hasMessageToSignOverride: Boolean(messageToSignOverride),
|
|
25
|
+
hasSignedMessageOverride: Boolean(signedMessageOverride),
|
|
26
|
+
publicWalletAddress,
|
|
27
|
+
siweStatement,
|
|
28
|
+
walletConnectorKey: walletConnector.key,
|
|
29
|
+
});
|
|
19
30
|
if (signedMessageOverride && messageToSignOverride) {
|
|
31
|
+
logger.logger.logVerboseTroubleshootingMessage('[getVerifyArgs] using overrides', {
|
|
32
|
+
messageToSignOverride,
|
|
33
|
+
messageToSignOverrideLength: messageToSignOverride.length,
|
|
34
|
+
signedMessageOverride,
|
|
35
|
+
signedMessageOverrideLength: signedMessageOverride.length,
|
|
36
|
+
});
|
|
20
37
|
const [network, additionalWalletAddresses] = yield Promise.all([
|
|
21
38
|
walletConnector.getNetwork(true),
|
|
22
39
|
walletConnector.getAdditionalAddresses(publicWalletAddress),
|
|
23
40
|
]);
|
|
24
|
-
|
|
41
|
+
const result = {
|
|
25
42
|
additionalWalletAddresses,
|
|
26
43
|
chain,
|
|
27
44
|
messageToSign: messageToSignOverride,
|
|
@@ -32,6 +49,15 @@ const getVerifyArgs = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* (
|
|
|
32
49
|
walletName: walletConnector.key,
|
|
33
50
|
walletProvider,
|
|
34
51
|
};
|
|
52
|
+
logger.logger.logVerboseTroubleshootingMessage('[getVerifyArgs] returning with overrides', {
|
|
53
|
+
chain: result.chain,
|
|
54
|
+
messageToSign: result.messageToSign,
|
|
55
|
+
network: result.network,
|
|
56
|
+
publicWalletAddress: result.publicWalletAddress,
|
|
57
|
+
signedMessage: result.signedMessage,
|
|
58
|
+
walletName: result.walletName,
|
|
59
|
+
});
|
|
60
|
+
return result;
|
|
35
61
|
}
|
|
36
62
|
const nonce$1 = nonce.consumeNonce();
|
|
37
63
|
// generate message to sign and then initiate signing step to prove ownership
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
|
+
import { logger } from '../../../shared/logger.js';
|
|
3
4
|
import { generateMessages } from '../generateMessages/index.js';
|
|
4
5
|
import { consumeNonce } from '../../../store/state/nonce/nonce.js';
|
|
5
6
|
|
|
@@ -12,12 +13,28 @@ const getVerifyArgs = (_a) => __awaiter(void 0, [_a], void 0, function* ({ walle
|
|
|
12
13
|
// This could manifest in users being directed to the app store
|
|
13
14
|
// instead of the actual wallet app.
|
|
14
15
|
const chain = walletConnector.connectedChain;
|
|
16
|
+
logger.logVerboseTroubleshootingMessage('[getVerifyArgs] called', {
|
|
17
|
+
chain,
|
|
18
|
+
displaySiweStatement,
|
|
19
|
+
environmentId,
|
|
20
|
+
hasMessageToSignOverride: Boolean(messageToSignOverride),
|
|
21
|
+
hasSignedMessageOverride: Boolean(signedMessageOverride),
|
|
22
|
+
publicWalletAddress,
|
|
23
|
+
siweStatement,
|
|
24
|
+
walletConnectorKey: walletConnector.key,
|
|
25
|
+
});
|
|
15
26
|
if (signedMessageOverride && messageToSignOverride) {
|
|
27
|
+
logger.logVerboseTroubleshootingMessage('[getVerifyArgs] using overrides', {
|
|
28
|
+
messageToSignOverride,
|
|
29
|
+
messageToSignOverrideLength: messageToSignOverride.length,
|
|
30
|
+
signedMessageOverride,
|
|
31
|
+
signedMessageOverrideLength: signedMessageOverride.length,
|
|
32
|
+
});
|
|
16
33
|
const [network, additionalWalletAddresses] = yield Promise.all([
|
|
17
34
|
walletConnector.getNetwork(true),
|
|
18
35
|
walletConnector.getAdditionalAddresses(publicWalletAddress),
|
|
19
36
|
]);
|
|
20
|
-
|
|
37
|
+
const result = {
|
|
21
38
|
additionalWalletAddresses,
|
|
22
39
|
chain,
|
|
23
40
|
messageToSign: messageToSignOverride,
|
|
@@ -28,6 +45,15 @@ const getVerifyArgs = (_a) => __awaiter(void 0, [_a], void 0, function* ({ walle
|
|
|
28
45
|
walletName: walletConnector.key,
|
|
29
46
|
walletProvider,
|
|
30
47
|
};
|
|
48
|
+
logger.logVerboseTroubleshootingMessage('[getVerifyArgs] returning with overrides', {
|
|
49
|
+
chain: result.chain,
|
|
50
|
+
messageToSign: result.messageToSign,
|
|
51
|
+
network: result.network,
|
|
52
|
+
publicWalletAddress: result.publicWalletAddress,
|
|
53
|
+
signedMessage: result.signedMessage,
|
|
54
|
+
walletName: result.walletName,
|
|
55
|
+
});
|
|
56
|
+
return result;
|
|
31
57
|
}
|
|
32
58
|
const nonce = consumeNonce();
|
|
33
59
|
// generate message to sign and then initiate signing step to prove ownership
|
|
@@ -62,7 +62,6 @@ export * from './hasEmbeddedWallet';
|
|
|
62
62
|
export * from './getEmbeddedWalletAuthHandler';
|
|
63
63
|
export * from './getEmbeddedWalletSessionExpiration';
|
|
64
64
|
export * from './serializeWalletConnectors';
|
|
65
|
-
export * from './downloadFile';
|
|
66
65
|
export * from './getSupportedCountriesForVerificationFromProjectSettings';
|
|
67
66
|
export * from './getDefaultCountriesIfEmpty';
|
|
68
67
|
export * from './getPlatformForConnector';
|
|
@@ -4,5 +4,5 @@ type DynamicEventListener<E extends keyof DynamicEvents> = (...args: EventArgs<D
|
|
|
4
4
|
/** Allows us to subscribe to all dynamicEvents with a hook, even the internal ones */
|
|
5
5
|
export declare const useInternalDynamicEvents: <E extends keyof import("../../../../events/auth").AuthEvents | keyof import("../../../../events/ui").UIEvents | keyof import("../../../../events/otp").OTPEvents | keyof import("../../../../events/wallets").WalletEvents | keyof import("../../../../events/passkey").PasskeyEvents | "farcasterConnectCancelled" | keyof import("../../../../events/embeddedWallet").EmbeddedWalletEvents | keyof import("../../../../events/multiWallet").MultiWalletInternalEvents | "tokenBalancesChanged" | "userProfileUpdated" | "walletConnectedForFunding">(event: E, listener: DynamicEventListener<E>) => void;
|
|
6
6
|
/** Allows subscribing to dynamic events directly inside components with a hook */
|
|
7
|
-
export declare const useDynamicEvents: <E extends "authFailure" | "authInit" | "logout" | "mfaCompletionSuccess" | "mfaCompletionFailure" | "authFlowOpen" | "authFlowClose" | "authFlowCancelled" | "walletTabSelected" | "emailVerificationResult" | "smsVerificationResult" | "walletAdded" | "walletRemoved" | "primaryWalletChanged" | "primaryWalletNetworkChanged" | "userWalletsChanged" | "walletConnectionFailed" | "walletConnectionQrCodeReady" | "embeddedWalletCreated" | "walletConnectedForFunding">(event: E, listener: DynamicEventListener<E>) => void;
|
|
7
|
+
export declare const useDynamicEvents: <E extends "authFailure" | "authInit" | "logout" | "mfaCompletionSuccess" | "mfaCompletionFailure" | "authFlowOpen" | "authFlowClose" | "authFlowCancelled" | "walletTabSelected" | "emailVerificationResult" | "smsVerificationResult" | "walletAdded" | "walletRemoved" | "primaryWalletChanged" | "primaryWalletNetworkChanged" | "userWalletsChanged" | "walletConnectionFailed" | "walletConnectionQrCodeReady" | "embeddedWalletCreated" | "embeddedWalletRevealCompleted" | "embeddedWalletRevealFailed" | "walletConnectedForFunding">(event: E, listener: DynamicEventListener<E>) => void;
|
|
8
8
|
export {};
|
|
@@ -96,3 +96,5 @@ export { useUpgradeToDynamicWaasFlow } from './useUpgradeToDynamicWaasFlow';
|
|
|
96
96
|
export { useGetMfaToken } from './useGetMfaToken';
|
|
97
97
|
export { useIsMfaRequiredForAction } from './useIsMfaRequiredForAction';
|
|
98
98
|
export { useWalletDelegation } from './useWalletDelegation';
|
|
99
|
+
export { isWalletBackedUp, useBackupWallets, useWalletBackup, } from './useWalletBackup';
|
|
100
|
+
export type { WalletBackupStatus, WalletOperationState, WalletToBackup, WalletWithBackupStatus, } from './useWalletBackup';
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var client = require('@dynamic-labs-sdk/client');
|
|
9
|
+
var dynamicEvents = require('../../../events/dynamicEvents.cjs');
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Authenticate passkey for MFA
|
|
@@ -31,7 +32,10 @@ var client = require('@dynamic-labs-sdk/client');
|
|
|
31
32
|
*/
|
|
32
33
|
const useAuthenticatePasskeyMFA = () => React.useCallback((props) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
33
34
|
const result = yield client.authenticatePasskeyMFA(props);
|
|
35
|
+
dynamicEvents.dynamicEvents.emit('mfaCompletionSuccess', {
|
|
36
|
+
mfaToken: result.mfaToken,
|
|
37
|
+
});
|
|
34
38
|
return result.mfaToken;
|
|
35
|
-
}), []);
|
|
39
|
+
}), [dynamicEvents.dynamicEvents]);
|
|
36
40
|
|
|
37
41
|
exports.useAuthenticatePasskeyMFA = useAuthenticatePasskeyMFA;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import { authenticatePasskeyMFA } from '@dynamic-labs-sdk/client';
|
|
5
|
+
import { dynamicEvents } from '../../../events/dynamicEvents.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Authenticate passkey for MFA
|
|
@@ -27,7 +28,10 @@ import { authenticatePasskeyMFA } from '@dynamic-labs-sdk/client';
|
|
|
27
28
|
*/
|
|
28
29
|
const useAuthenticatePasskeyMFA = () => useCallback((props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
30
|
const result = yield authenticatePasskeyMFA(props);
|
|
31
|
+
dynamicEvents.emit('mfaCompletionSuccess', {
|
|
32
|
+
mfaToken: result.mfaToken,
|
|
33
|
+
});
|
|
30
34
|
return result.mfaToken;
|
|
31
|
-
}), []);
|
|
35
|
+
}), [dynamicEvents]);
|
|
32
36
|
|
|
33
37
|
export { useAuthenticatePasskeyMFA };
|
|
@@ -85,6 +85,11 @@ require('qrcode');
|
|
|
85
85
|
require('formik');
|
|
86
86
|
require('../useSubdomainCheck/useSubdomainCheck.cjs');
|
|
87
87
|
require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
88
|
+
var apiUrl = require('../../constants/waas/apiUrl.cjs');
|
|
89
|
+
var useClientSessionKeys = require('../useClientSessionKeys/useClientSessionKeys.cjs');
|
|
90
|
+
var useGetMfaToken = require('../useGetMfaToken/useGetMfaToken.cjs');
|
|
91
|
+
var useRefreshUser = require('../useRefreshUser/useRefreshUser.cjs');
|
|
92
|
+
var constants = require('./constants.cjs');
|
|
88
93
|
require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
89
94
|
require('../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
|
|
90
95
|
require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
@@ -97,11 +102,6 @@ require('../../../context/FooterAnimationContext/index.cjs');
|
|
|
97
102
|
require('../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
|
|
98
103
|
require('../../../context/PasskeyContext/PasskeyContext.cjs');
|
|
99
104
|
require('../../../context/OnrampContext/OnrampContext.cjs');
|
|
100
|
-
var useRefreshUser = require('../useRefreshUser/useRefreshUser.cjs');
|
|
101
|
-
var apiUrl = require('../../constants/waas/apiUrl.cjs');
|
|
102
|
-
var useClientSessionKeys = require('../useClientSessionKeys/useClientSessionKeys.cjs');
|
|
103
|
-
var useGetMfaToken = require('../useGetMfaToken/useGetMfaToken.cjs');
|
|
104
|
-
var constants = require('./constants.cjs');
|
|
105
105
|
require('../../../store/state/sendBalances.cjs');
|
|
106
106
|
require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
|
|
107
107
|
require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
|
|
@@ -491,7 +491,36 @@ const useDynamicWaas = () => {
|
|
|
491
491
|
throw new utils.DynamicError('Upgrade failed, please try again.');
|
|
492
492
|
}
|
|
493
493
|
}), [environmentId, getWaasWalletConnector, primaryWallet, refresh]);
|
|
494
|
+
/**
|
|
495
|
+
* Returns WaaS wallet instances from `userWallets` filtered by `key === 'dynamicwaas'`.
|
|
496
|
+
*
|
|
497
|
+
* Note: This returns runtime wallet instances which may not include all WaaS wallets.
|
|
498
|
+
* For example, an EVM WaaS wallet used as a signer for a smart wallet (e.g., ZeroDev)
|
|
499
|
+
* may appear in `userWallets` with a different key (e.g., 'zerodev') rather than 'dynamicwaas'.
|
|
500
|
+
*
|
|
501
|
+
* Use `getWaasWalletsByCredentials` if you need to identify all WaaS wallets regardless
|
|
502
|
+
* of how they're represented at runtime.
|
|
503
|
+
*/
|
|
494
504
|
const getWaasWallets = React.useCallback(() => userWallets.filter((w) => w.key === 'dynamicwaas'), [userWallets]);
|
|
505
|
+
/**
|
|
506
|
+
* Returns all WaaS wallet credentials based on `verifiedCredentials` (the backend source of truth).
|
|
507
|
+
*
|
|
508
|
+
* Unlike `getWaasWallets`, this method identifies WaaS wallets by their credential's
|
|
509
|
+
* `walletName === 'dynamicwaas'`, which is reliable regardless of how the wallet is
|
|
510
|
+
* instantiated at runtime. This is useful for operations like backup and key share export
|
|
511
|
+
* where you need to identify all WaaS wallets, including those used as signers for
|
|
512
|
+
* smart wallets (e.g., ZeroDev, EIP-7702).
|
|
513
|
+
*
|
|
514
|
+
* @returns Array of WaaS wallet credentials with valid address and chain.
|
|
515
|
+
*/
|
|
516
|
+
const getWaasWalletsByCredentials = React.useCallback(() => {
|
|
517
|
+
if (!(user === null || user === void 0 ? void 0 : user.verifiedCredentials))
|
|
518
|
+
return [];
|
|
519
|
+
return user.verifiedCredentials.filter((cred) => cred.walletName === 'dynamicwaas' &&
|
|
520
|
+
cred.address &&
|
|
521
|
+
cred.chain &&
|
|
522
|
+
values.VerifiedCredentialNameToChainEnum[cred.chain]);
|
|
523
|
+
}, [user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
|
|
495
524
|
const processSignOnWalletSettings = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
496
525
|
var _j;
|
|
497
526
|
if (!(user === null || user === void 0 ? void 0 : user.verifiedCredentials)) {
|
|
@@ -555,6 +584,7 @@ const useDynamicWaas = () => {
|
|
|
555
584
|
dynamicWaasIsEnabled,
|
|
556
585
|
getWaasWalletConnector,
|
|
557
586
|
getWaasWallets,
|
|
587
|
+
getWaasWalletsByCredentials,
|
|
558
588
|
importPrivateKey,
|
|
559
589
|
initializeWaas,
|
|
560
590
|
needsAutoCreateWalletChains,
|
|
@@ -22,6 +22,7 @@ export declare const useDynamicWaas: () => {
|
|
|
22
22
|
dynamicWaasIsEnabled: boolean;
|
|
23
23
|
getWaasWalletConnector: (chainName: string) => IDynamicWaasConnector | undefined;
|
|
24
24
|
getWaasWallets: () => Wallet<WalletConnectorCore.WalletConnector>[];
|
|
25
|
+
getWaasWalletsByCredentials: () => import("@dynamic-labs/sdk-api-core").JwtVerifiedCredential[];
|
|
25
26
|
importPrivateKey: ({ chainName, privateKey, }: {
|
|
26
27
|
chainName: ChainEnum;
|
|
27
28
|
privateKey: string;
|
|
@@ -81,6 +81,11 @@ import 'qrcode';
|
|
|
81
81
|
import 'formik';
|
|
82
82
|
import '../useSubdomainCheck/useSubdomainCheck.js';
|
|
83
83
|
import '../../../context/WalletGroupContext/WalletGroupContext.js';
|
|
84
|
+
import { DEFAULT_WAAS_API_URL } from '../../constants/waas/apiUrl.js';
|
|
85
|
+
import { useClientSessionKeys } from '../useClientSessionKeys/useClientSessionKeys.js';
|
|
86
|
+
import { useGetMfaToken } from '../useGetMfaToken/useGetMfaToken.js';
|
|
87
|
+
import { useRefreshUser } from '../useRefreshUser/useRefreshUser.js';
|
|
88
|
+
import { DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR, NO_ENABLED_CHAINS_ERROR, INVALID_CHAINS_ERROR, WALLET_CREATION_FAILED_ERROR } from './constants.js';
|
|
84
89
|
import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
85
90
|
import '../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
|
|
86
91
|
import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
@@ -93,11 +98,6 @@ import '../../../context/FooterAnimationContext/index.js';
|
|
|
93
98
|
import '../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
|
|
94
99
|
import '../../../context/PasskeyContext/PasskeyContext.js';
|
|
95
100
|
import '../../../context/OnrampContext/OnrampContext.js';
|
|
96
|
-
import { useRefreshUser } from '../useRefreshUser/useRefreshUser.js';
|
|
97
|
-
import { DEFAULT_WAAS_API_URL } from '../../constants/waas/apiUrl.js';
|
|
98
|
-
import { useClientSessionKeys } from '../useClientSessionKeys/useClientSessionKeys.js';
|
|
99
|
-
import { useGetMfaToken } from '../useGetMfaToken/useGetMfaToken.js';
|
|
100
|
-
import { DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR, NO_ENABLED_CHAINS_ERROR, INVALID_CHAINS_ERROR, WALLET_CREATION_FAILED_ERROR } from './constants.js';
|
|
101
101
|
import '../../../store/state/sendBalances.js';
|
|
102
102
|
import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
|
|
103
103
|
import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
|
|
@@ -487,7 +487,36 @@ const useDynamicWaas = () => {
|
|
|
487
487
|
throw new DynamicError('Upgrade failed, please try again.');
|
|
488
488
|
}
|
|
489
489
|
}), [environmentId, getWaasWalletConnector, primaryWallet, refresh]);
|
|
490
|
+
/**
|
|
491
|
+
* Returns WaaS wallet instances from `userWallets` filtered by `key === 'dynamicwaas'`.
|
|
492
|
+
*
|
|
493
|
+
* Note: This returns runtime wallet instances which may not include all WaaS wallets.
|
|
494
|
+
* For example, an EVM WaaS wallet used as a signer for a smart wallet (e.g., ZeroDev)
|
|
495
|
+
* may appear in `userWallets` with a different key (e.g., 'zerodev') rather than 'dynamicwaas'.
|
|
496
|
+
*
|
|
497
|
+
* Use `getWaasWalletsByCredentials` if you need to identify all WaaS wallets regardless
|
|
498
|
+
* of how they're represented at runtime.
|
|
499
|
+
*/
|
|
490
500
|
const getWaasWallets = useCallback(() => userWallets.filter((w) => w.key === 'dynamicwaas'), [userWallets]);
|
|
501
|
+
/**
|
|
502
|
+
* Returns all WaaS wallet credentials based on `verifiedCredentials` (the backend source of truth).
|
|
503
|
+
*
|
|
504
|
+
* Unlike `getWaasWallets`, this method identifies WaaS wallets by their credential's
|
|
505
|
+
* `walletName === 'dynamicwaas'`, which is reliable regardless of how the wallet is
|
|
506
|
+
* instantiated at runtime. This is useful for operations like backup and key share export
|
|
507
|
+
* where you need to identify all WaaS wallets, including those used as signers for
|
|
508
|
+
* smart wallets (e.g., ZeroDev, EIP-7702).
|
|
509
|
+
*
|
|
510
|
+
* @returns Array of WaaS wallet credentials with valid address and chain.
|
|
511
|
+
*/
|
|
512
|
+
const getWaasWalletsByCredentials = useCallback(() => {
|
|
513
|
+
if (!(user === null || user === void 0 ? void 0 : user.verifiedCredentials))
|
|
514
|
+
return [];
|
|
515
|
+
return user.verifiedCredentials.filter((cred) => cred.walletName === 'dynamicwaas' &&
|
|
516
|
+
cred.address &&
|
|
517
|
+
cred.chain &&
|
|
518
|
+
VerifiedCredentialNameToChainEnum[cred.chain]);
|
|
519
|
+
}, [user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
|
|
491
520
|
const processSignOnWalletSettings = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
492
521
|
var _j;
|
|
493
522
|
if (!(user === null || user === void 0 ? void 0 : user.verifiedCredentials)) {
|
|
@@ -551,6 +580,7 @@ const useDynamicWaas = () => {
|
|
|
551
580
|
dynamicWaasIsEnabled,
|
|
552
581
|
getWaasWalletConnector,
|
|
553
582
|
getWaasWallets,
|
|
583
|
+
getWaasWalletsByCredentials,
|
|
554
584
|
importPrivateKey,
|
|
555
585
|
initializeWaas,
|
|
556
586
|
needsAutoCreateWalletChains,
|
|
@@ -107,45 +107,30 @@ const useOnramp = () => {
|
|
|
107
107
|
const { onrampEnabled, enabledOnrampProviders, openOnramp } = OnrampContext.useOnrampContext();
|
|
108
108
|
const { primaryWallet, network } = useInternalDynamicContext.useInternalDynamicContext();
|
|
109
109
|
const environmentId = dynamicContextProps.useEnvironmentId();
|
|
110
|
-
const getMatchingProvider = (
|
|
111
|
-
var _b;
|
|
110
|
+
const getMatchingProvider = (params) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
111
|
+
var _a, _b;
|
|
112
112
|
if (!environmentId)
|
|
113
113
|
return undefined;
|
|
114
114
|
const providers = yield getOnrampProviders.getOnrampProviders({
|
|
115
|
-
address,
|
|
116
|
-
chainName,
|
|
117
|
-
currency,
|
|
115
|
+
address: params.address,
|
|
116
|
+
chainName: params.chainName,
|
|
117
|
+
currency: params.currency,
|
|
118
118
|
environmentId,
|
|
119
119
|
includeDisabled: true,
|
|
120
|
-
|
|
120
|
+
merchantName: params.merchantName,
|
|
121
|
+
network: (_b = (_a = params.network) !== null && _a !== void 0 ? _a : network) !== null && _b !== void 0 ? _b : undefined,
|
|
121
122
|
primaryWallet,
|
|
122
|
-
token,
|
|
123
|
-
tokenAmount,
|
|
123
|
+
token: params.token,
|
|
124
|
+
tokenAmount: params.tokenAmount,
|
|
124
125
|
});
|
|
125
|
-
return providers.find((p) => String(p.provider) === String(onrampProvider));
|
|
126
|
+
return providers.find((p) => String(p.provider) === String(params.onrampProvider));
|
|
126
127
|
});
|
|
127
|
-
const getOnrampUrl = (
|
|
128
|
-
const match = yield getMatchingProvider(
|
|
129
|
-
address,
|
|
130
|
-
chainName,
|
|
131
|
-
currency,
|
|
132
|
-
network: networkOverride,
|
|
133
|
-
onrampProvider,
|
|
134
|
-
token,
|
|
135
|
-
tokenAmount,
|
|
136
|
-
});
|
|
128
|
+
const getOnrampUrl = (params) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
129
|
+
const match = yield getMatchingProvider(params);
|
|
137
130
|
return match === null || match === void 0 ? void 0 : match.url;
|
|
138
131
|
});
|
|
139
|
-
const getOnrampQrCode = (
|
|
140
|
-
const match = yield getMatchingProvider(
|
|
141
|
-
address,
|
|
142
|
-
chainName,
|
|
143
|
-
currency,
|
|
144
|
-
network: networkOverride,
|
|
145
|
-
onrampProvider,
|
|
146
|
-
token,
|
|
147
|
-
tokenAmount,
|
|
148
|
-
});
|
|
132
|
+
const getOnrampQrCode = (params) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
133
|
+
const match = yield getMatchingProvider(params);
|
|
149
134
|
return match === null || match === void 0 ? void 0 : match.qrCode;
|
|
150
135
|
});
|
|
151
136
|
return {
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import type { OnrampProviders } from '@dynamic-labs/sdk-api-core';
|
|
2
|
+
type OnrampParams = {
|
|
3
|
+
onrampProvider: OnrampProviders;
|
|
4
|
+
address?: string;
|
|
5
|
+
token?: string;
|
|
6
|
+
tokenAmount?: number;
|
|
7
|
+
network?: string | number;
|
|
8
|
+
chainName?: string;
|
|
9
|
+
currency?: string;
|
|
10
|
+
merchantName?: string;
|
|
11
|
+
};
|
|
2
12
|
export declare const useOnramp: () => {
|
|
3
13
|
enabled: boolean;
|
|
4
|
-
getOnrampQrCode: (
|
|
5
|
-
|
|
6
|
-
address?: string;
|
|
7
|
-
token?: string;
|
|
8
|
-
tokenAmount?: number;
|
|
9
|
-
network?: string | number;
|
|
10
|
-
chainName?: string;
|
|
11
|
-
currency?: string;
|
|
12
|
-
}) => Promise<string | undefined>;
|
|
13
|
-
getOnrampUrl: ({ onrampProvider, address, token, tokenAmount, network: networkOverride, chainName, currency, }: {
|
|
14
|
-
onrampProvider: OnrampProviders;
|
|
15
|
-
address?: string;
|
|
16
|
-
token?: string;
|
|
17
|
-
tokenAmount?: number;
|
|
18
|
-
network?: string | number;
|
|
19
|
-
chainName?: string;
|
|
20
|
-
currency?: string;
|
|
21
|
-
}) => Promise<string | undefined>;
|
|
14
|
+
getOnrampQrCode: (params: OnrampParams) => Promise<string | undefined>;
|
|
15
|
+
getOnrampUrl: (params: OnrampParams) => Promise<string | undefined>;
|
|
22
16
|
open: (props: {
|
|
23
17
|
address?: string | undefined;
|
|
24
18
|
token?: string | undefined;
|
|
@@ -29,6 +23,8 @@ export declare const useOnramp: () => {
|
|
|
29
23
|
currency?: string | undefined;
|
|
30
24
|
overrideOnRamp?: boolean | undefined;
|
|
31
25
|
payingWithDynamic?: boolean | undefined;
|
|
26
|
+
merchantName?: string | undefined;
|
|
32
27
|
}) => Promise<void>;
|
|
33
28
|
providers: import("../../../context/DynamicContext").OnrampOption[];
|
|
34
29
|
};
|
|
30
|
+
export {};
|
|
@@ -103,45 +103,30 @@ const useOnramp = () => {
|
|
|
103
103
|
const { onrampEnabled, enabledOnrampProviders, openOnramp } = useOnrampContext();
|
|
104
104
|
const { primaryWallet, network } = useInternalDynamicContext();
|
|
105
105
|
const environmentId = useEnvironmentId();
|
|
106
|
-
const getMatchingProvider = (
|
|
107
|
-
var _b;
|
|
106
|
+
const getMatchingProvider = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
+
var _a, _b;
|
|
108
108
|
if (!environmentId)
|
|
109
109
|
return undefined;
|
|
110
110
|
const providers = yield getOnrampProviders({
|
|
111
|
-
address,
|
|
112
|
-
chainName,
|
|
113
|
-
currency,
|
|
111
|
+
address: params.address,
|
|
112
|
+
chainName: params.chainName,
|
|
113
|
+
currency: params.currency,
|
|
114
114
|
environmentId,
|
|
115
115
|
includeDisabled: true,
|
|
116
|
-
|
|
116
|
+
merchantName: params.merchantName,
|
|
117
|
+
network: (_b = (_a = params.network) !== null && _a !== void 0 ? _a : network) !== null && _b !== void 0 ? _b : undefined,
|
|
117
118
|
primaryWallet,
|
|
118
|
-
token,
|
|
119
|
-
tokenAmount,
|
|
119
|
+
token: params.token,
|
|
120
|
+
tokenAmount: params.tokenAmount,
|
|
120
121
|
});
|
|
121
|
-
return providers.find((p) => String(p.provider) === String(onrampProvider));
|
|
122
|
+
return providers.find((p) => String(p.provider) === String(params.onrampProvider));
|
|
122
123
|
});
|
|
123
|
-
const getOnrampUrl = (
|
|
124
|
-
const match = yield getMatchingProvider(
|
|
125
|
-
address,
|
|
126
|
-
chainName,
|
|
127
|
-
currency,
|
|
128
|
-
network: networkOverride,
|
|
129
|
-
onrampProvider,
|
|
130
|
-
token,
|
|
131
|
-
tokenAmount,
|
|
132
|
-
});
|
|
124
|
+
const getOnrampUrl = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
125
|
+
const match = yield getMatchingProvider(params);
|
|
133
126
|
return match === null || match === void 0 ? void 0 : match.url;
|
|
134
127
|
});
|
|
135
|
-
const getOnrampQrCode = (
|
|
136
|
-
const match = yield getMatchingProvider(
|
|
137
|
-
address,
|
|
138
|
-
chainName,
|
|
139
|
-
currency,
|
|
140
|
-
network: networkOverride,
|
|
141
|
-
onrampProvider,
|
|
142
|
-
token,
|
|
143
|
-
tokenAmount,
|
|
144
|
-
});
|
|
128
|
+
const getOnrampQrCode = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
129
|
+
const match = yield getMatchingProvider(params);
|
|
145
130
|
return match === null || match === void 0 ? void 0 : match.qrCode;
|
|
146
131
|
});
|
|
147
132
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { usePhantomRedirectEvents, type UsePhantomRedirectEventsProps, } from './usePhantomRedirectEvents';
|