@dynamic-labs-sdk/client 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +11 -0
  2. package/dist/{InvalidParamError-c8UAEGKA.esm.js → InvalidParamError-ClTYNFqH.esm.js} +2 -2
  3. package/dist/{InvalidParamError-c8UAEGKA.esm.js.map → InvalidParamError-ClTYNFqH.esm.js.map} +1 -1
  4. package/dist/{InvalidParamError-C5YtT7LQ.cjs.js → InvalidParamError-CyWn6Ttk.cjs.js} +2 -2
  5. package/dist/{InvalidParamError-C5YtT7LQ.cjs.js.map → InvalidParamError-CyWn6Ttk.cjs.js.map} +1 -1
  6. package/dist/{NotWaasWalletAccountError-DUvIdb2w.cjs.js → NotWaasWalletAccountError-BhAtBWXM.cjs.js} +3 -3
  7. package/dist/{NotWaasWalletAccountError-DUvIdb2w.cjs.js.map → NotWaasWalletAccountError-BhAtBWXM.cjs.js.map} +1 -1
  8. package/dist/{NotWaasWalletAccountError-D0YXdfTu.esm.js → NotWaasWalletAccountError-CrPgPmnV.esm.js} +3 -3
  9. package/dist/{NotWaasWalletAccountError-D0YXdfTu.esm.js.map → NotWaasWalletAccountError-CrPgPmnV.esm.js.map} +1 -1
  10. package/dist/client/types/DynamicClientConfig.d.ts +11 -2
  11. package/dist/client/types/DynamicClientConfig.d.ts.map +1 -1
  12. package/dist/{constants-hy8OYHwt.esm.js → constants-Bf0abTTp.esm.js} +3 -3
  13. package/dist/{constants-hy8OYHwt.esm.js.map → constants-Bf0abTTp.esm.js.map} +1 -1
  14. package/dist/{constants-BbG0v26E.cjs.js → constants-CnfZO_F_.cjs.js} +4 -4
  15. package/dist/{constants-BbG0v26E.cjs.js.map → constants-CnfZO_F_.cjs.js.map} +1 -1
  16. package/dist/core.cjs.js +33 -5
  17. package/dist/core.cjs.js.map +1 -1
  18. package/dist/core.esm.js +35 -8
  19. package/dist/core.esm.js.map +1 -1
  20. package/dist/exports/core.d.ts +2 -0
  21. package/dist/exports/core.d.ts.map +1 -1
  22. package/dist/exports/index.d.ts +4 -0
  23. package/dist/exports/index.d.ts.map +1 -1
  24. package/dist/exports/waasCore.d.ts +2 -2
  25. package/dist/exports/waasCore.d.ts.map +1 -1
  26. package/dist/{getNetworkProviderFromNetworkId-CTKZxd1T.cjs.js → getNetworkProviderFromNetworkId-D8p1kWCm.cjs.js} +5 -4
  27. package/dist/{getNetworkProviderFromNetworkId-CTKZxd1T.cjs.js.map → getNetworkProviderFromNetworkId-D8p1kWCm.cjs.js.map} +1 -1
  28. package/dist/{getNetworkProviderFromNetworkId-vL_E8aHC.esm.js → getNetworkProviderFromNetworkId-XZfM4Nug.esm.js} +7 -6
  29. package/dist/getNetworkProviderFromNetworkId-XZfM4Nug.esm.js.map +1 -0
  30. package/dist/{getSignedSessionId-BhFfSHeA.esm.js → getSignedSessionId-CtIzVPwH.esm.js} +3 -3
  31. package/dist/{getSignedSessionId-BhFfSHeA.esm.js.map → getSignedSessionId-CtIzVPwH.esm.js.map} +1 -1
  32. package/dist/{getSignedSessionId-QJpJQ_Jz.cjs.js → getSignedSessionId-Dhhp9jB9.cjs.js} +3 -3
  33. package/dist/{getSignedSessionId-QJpJQ_Jz.cjs.js.map → getSignedSessionId-Dhhp9jB9.cjs.js.map} +1 -1
  34. package/dist/{getVerifiedCredentialForWalletAccount-c_lbXWMG.esm.js → getVerifiedCredentialForWalletAccount-D2MMFllp.esm.js} +2 -2
  35. package/dist/{getVerifiedCredentialForWalletAccount-c_lbXWMG.esm.js.map → getVerifiedCredentialForWalletAccount-D2MMFllp.esm.js.map} +1 -1
  36. package/dist/{getVerifiedCredentialForWalletAccount-DAb9lFwa.cjs.js → getVerifiedCredentialForWalletAccount-DMDL4c5-.cjs.js} +3 -3
  37. package/dist/{getVerifiedCredentialForWalletAccount-DAb9lFwa.cjs.js.map → getVerifiedCredentialForWalletAccount-DMDL4c5-.cjs.js.map} +1 -1
  38. package/dist/index.cjs.js +89 -13
  39. package/dist/index.cjs.js.map +1 -1
  40. package/dist/index.esm.js +91 -18
  41. package/dist/index.esm.js.map +1 -1
  42. package/dist/{isMfaRequiredForAction-CAwdzRA9.cjs.js → isMfaRequiredForAction-AMhrkEV0.cjs.js} +2 -2
  43. package/dist/{isMfaRequiredForAction-CAwdzRA9.cjs.js.map → isMfaRequiredForAction-AMhrkEV0.cjs.js.map} +1 -1
  44. package/dist/{isMfaRequiredForAction-BgevGq0s.esm.js → isMfaRequiredForAction-CRUZHKnT.esm.js} +2 -2
  45. package/dist/{isMfaRequiredForAction-BgevGq0s.esm.js.map → isMfaRequiredForAction-CRUZHKnT.esm.js.map} +1 -1
  46. package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts +6 -1
  47. package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +1 -1
  48. package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/buildOAuthUrl.d.ts +1 -1
  49. package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/buildOAuthUrl.d.ts.map +1 -1
  50. package/dist/modules/auth/social/social.types.d.ts +1 -1
  51. package/dist/modules/auth/social/social.types.d.ts.map +1 -1
  52. package/dist/modules/funding/kraken/createKrakenExchangeTransfer/createKrakenExchangeTransfer.d.ts +17 -0
  53. package/dist/modules/funding/kraken/createKrakenExchangeTransfer/createKrakenExchangeTransfer.d.ts.map +1 -0
  54. package/dist/modules/funding/kraken/createKrakenExchangeTransfer/index.d.ts +3 -0
  55. package/dist/modules/funding/kraken/createKrakenExchangeTransfer/index.d.ts.map +1 -0
  56. package/dist/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.d.ts +21 -0
  57. package/dist/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.d.ts.map +1 -0
  58. package/dist/modules/funding/kraken/getKrakenAccounts/index.d.ts +3 -0
  59. package/dist/modules/funding/kraken/getKrakenAccounts/index.d.ts.map +1 -0
  60. package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.d.ts +9 -0
  61. package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.d.ts.map +1 -0
  62. package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/index.d.ts +2 -0
  63. package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/index.d.ts.map +1 -0
  64. package/dist/modules/funding/kraken/kraken.types.d.ts +4 -0
  65. package/dist/modules/funding/kraken/kraken.types.d.ts.map +1 -0
  66. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  67. package/dist/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.d.ts +15 -0
  68. package/dist/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.d.ts.map +1 -0
  69. package/dist/modules/wallets/utils/getAllProvidersFromWindow/index.d.ts +2 -0
  70. package/dist/modules/wallets/utils/getAllProvidersFromWindow/index.d.ts.map +1 -0
  71. package/dist/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
  72. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts +2 -1
  73. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts.map +1 -1
  74. package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts.map +1 -1
  75. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  76. package/dist/waas.cjs.js +5 -4
  77. package/dist/waas.cjs.js.map +1 -1
  78. package/dist/waas.esm.js +4 -3
  79. package/dist/waas.esm.js.map +1 -1
  80. package/dist/waasCore.cjs.js +9 -6
  81. package/dist/waasCore.cjs.js.map +1 -1
  82. package/dist/waasCore.esm.js +8 -5
  83. package/dist/waasCore.esm.js.map +1 -1
  84. package/package.json +3 -3
  85. package/dist/getNetworkProviderFromNetworkId-vL_E8aHC.esm.js.map +0 -1
package/dist/index.cjs.js CHANGED
@@ -1,9 +1,9 @@
1
- const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-CTKZxd1T.cjs.js');
2
- const require_constants = require('./constants-BbG0v26E.cjs.js');
3
- const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-DAb9lFwa.cjs.js');
4
- const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-CAwdzRA9.cjs.js');
5
- const require_NotWaasWalletAccountError = require('./NotWaasWalletAccountError-DUvIdb2w.cjs.js');
6
- const require_InvalidParamError = require('./InvalidParamError-C5YtT7LQ.cjs.js');
1
+ const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-D8p1kWCm.cjs.js');
2
+ const require_constants = require('./constants-CnfZO_F_.cjs.js');
3
+ const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-DMDL4c5-.cjs.js');
4
+ const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-AMhrkEV0.cjs.js');
5
+ const require_NotWaasWalletAccountError = require('./NotWaasWalletAccountError-BhAtBWXM.cjs.js');
6
+ const require_InvalidParamError = require('./InvalidParamError-CyWn6Ttk.cjs.js');
7
7
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
8
8
  let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
9
9
  let zod_mini = require("zod/mini");
@@ -1390,7 +1390,7 @@ const encodeBase64Url = (str) => {
1390
1390
  const APPLE_RESPONSE_MODE = "form_post";
1391
1391
  const APPLE_RESPONSE_TYPE = "code id_token";
1392
1392
  /** Helper function to add OAuth URL parameters to a given base URL. */
1393
- const addOAuthUrlParams = (provider, baseUrl) => {
1393
+ const addOAuthUrlParams = (provider, baseUrl, options = {}) => {
1394
1394
  require_constants.assertDefined(provider.clientId, "Client ID not found");
1395
1395
  require_constants.assertDefined(provider.provider, "Provider type not found");
1396
1396
  require_constants.assertDefined(provider.redirectUrl, "Redirect URL not found");
@@ -1402,7 +1402,10 @@ const addOAuthUrlParams = (provider, baseUrl) => {
1402
1402
  baseUrl.searchParams.delete("client_id");
1403
1403
  baseUrl.searchParams.set("client_key", provider.clientId);
1404
1404
  }
1405
- if (providerType === _dynamic_labs_sdk_api_core.ProviderEnum.Google) baseUrl.searchParams.set("access_type", "offline");
1405
+ if (providerType === _dynamic_labs_sdk_api_core.ProviderEnum.Google) {
1406
+ baseUrl.searchParams.set("access_type", "offline");
1407
+ if (options.isGoogleDriveBackupEnabled) baseUrl.searchParams.set("prompt", "consent");
1408
+ }
1406
1409
  if (providerType === _dynamic_labs_sdk_api_core.ProviderEnum.Apple) {
1407
1410
  baseUrl.searchParams.set("response_mode", APPLE_RESPONSE_MODE);
1408
1411
  baseUrl.searchParams.set("response_type", APPLE_RESPONSE_TYPE);
@@ -1440,7 +1443,8 @@ const buildOAuthUrl = async (core, provider) => {
1440
1443
  require_constants.assertDefined(projectSettings.providers, "Project providers not found");
1441
1444
  const socialProvider = projectSettings.providers.find((p) => p.provider === provider);
1442
1445
  require_constants.assertDefined(socialProvider, `Social provider ${provider} not supported`);
1443
- const socialProviderUrl = addOAuthUrlParams(socialProvider, getOAuthBaseUrl(socialProvider));
1446
+ const isGoogleDriveBackupEnabled = projectSettings.sdk.waas?.backupOptions?.includes(_dynamic_labs_sdk_api_core.WaasBackupOptionsEnum.GoogleDrive);
1447
+ const socialProviderUrl = addOAuthUrlParams(socialProvider, getOAuthBaseUrl(socialProvider), { isGoogleDriveBackupEnabled });
1444
1448
  const usingPkce = providersRequiringPkce.includes(provider);
1445
1449
  const state = require_constants.randomString(32);
1446
1450
  const codeVerifier = require_constants.randomString(43);
@@ -1805,6 +1809,62 @@ const createCryptoDotComPayment = async (paymentParams, client = require_constan
1805
1809
  });
1806
1810
  };
1807
1811
 
1812
+ //#endregion
1813
+ //#region src/modules/funding/kraken/createKrakenExchangeTransfer/createKrakenExchangeTransfer.ts
1814
+ /**
1815
+ * Creates a Kraken exchange transfer to send crypto from a Kraken account to a whitelisted address
1816
+ *
1817
+ * @param transferParams - The parameters for the transfer including accountId
1818
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1819
+ * @returns The created transfer
1820
+ */
1821
+ const createKrakenExchangeTransfer = async (transferParams, client = require_constants.getDefaultClient()) => {
1822
+ const core = require_constants.getCore(client);
1823
+ const apiClient = require_constants.createApiClient({ includeMfaToken: true }, client);
1824
+ const { accountId, ...createExchangeTransferRequest } = transferParams;
1825
+ return await apiClient.postExchangeAccountTransfer({
1826
+ accountId,
1827
+ createExchangeTransferRequest,
1828
+ environmentId: core.environmentId,
1829
+ exchangeKey: _dynamic_labs_sdk_api_core.ExchangeKeyEnum.Kraken
1830
+ });
1831
+ };
1832
+
1833
+ //#endregion
1834
+ //#region src/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.ts
1835
+ /**
1836
+ * Gets the Kraken accounts (balances) for the authenticated user
1837
+ *
1838
+ * @param [params] GetKrakenAccountsParams - Optional filters for the accounts.
1839
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1840
+ * @returns Array of Kraken accounts with balances
1841
+ */
1842
+ const getKrakenAccounts = async (params, client = require_constants.getDefaultClient()) => {
1843
+ const core = require_constants.getCore(client);
1844
+ return await require_constants.createApiClient({ includeMfaToken: true }, client).getUserAccounts({
1845
+ chainName: params?.chainName,
1846
+ environmentId: core.environmentId,
1847
+ exchangeKey: _dynamic_labs_sdk_api_core.ExchangeKeyEnum.Kraken,
1848
+ networkId: params?.networkId
1849
+ });
1850
+ };
1851
+
1852
+ //#endregion
1853
+ //#region src/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.ts
1854
+ /**
1855
+ * Gets the whitelisted addresses for Kraken transfers
1856
+ *
1857
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1858
+ * @returns Transfer destinations response with whitelisted addresses
1859
+ */
1860
+ const getKrakenWhitelistedAddresses = async (client = require_constants.getDefaultClient()) => {
1861
+ const core = require_constants.getCore(client);
1862
+ return await require_constants.createApiClient({ includeMfaToken: true }, client).getExchangeTransferDestinations({
1863
+ environmentId: core.environmentId,
1864
+ exchangeKey: _dynamic_labs_sdk_api_core.ExchangeKeyEnum.Kraken
1865
+ });
1866
+ };
1867
+
1808
1868
  //#endregion
1809
1869
  //#region src/modules/initializeClient/waitForClientInitialized/waitForClientInitialized.ts
1810
1870
  /**
@@ -3784,18 +3844,29 @@ const getChainIdForAccountVerification = async ({ walletProvider }) => {
3784
3844
  const getSignInMessage = async ({ walletAccount }, client) => {
3785
3845
  const core = require_constants.getCore(client);
3786
3846
  const apiClient = require_constants.createApiClient({}, client);
3787
- const appUrl = core.metadata?.url;
3788
- require_constants.assertDefined(appUrl, "App URL is not set");
3789
- const url = new URL(appUrl);
3847
+ const universalLink = core.metadata?.universalLink;
3848
+ require_constants.assertDefined(universalLink, "Universal link is not set");
3849
+ const url = new URL(universalLink);
3850
+ const domain = url.host;
3790
3851
  const { nonce } = await apiClient.getNonce({ environmentId: core.environmentId });
3791
3852
  require_constants.assertDefined(nonce, "Failed to get nonce");
3792
3853
  const walletProvider = require_getVerifiedCredentialForWalletAccount.getWalletProviderFromWalletAccount({ walletAccount }, client);
3854
+ if (walletProvider.chain === "STARK")
3855
+ /**
3856
+ * Starknet requires the strings to be 31 chars long
3857
+ * Nonce - we need to keep full size for nonce verification on the backend (the backend shortens it to 31 chars)
3858
+ * Domain - we need to shorten the domain to 31 chars
3859
+ */
3860
+ return JSON.stringify({
3861
+ domain: domain.substring(0, 31),
3862
+ nonce
3863
+ });
3793
3864
  const statement = require_getNetworkProviderFromNetworkId.createSignInMessageStatement(client);
3794
3865
  return await require_getNetworkProviderFromNetworkId.formatSignInMessage({
3795
3866
  address: walletAccount.address,
3796
3867
  blockchainName: require_constants.CHAINS_INFO_MAP[walletProvider.chain].blockchainName,
3797
3868
  chainId: await getChainIdForAccountVerification({ walletProvider }),
3798
- domain: url.host,
3869
+ domain,
3799
3870
  issuedAt: (/* @__PURE__ */ new Date()).toISOString(),
3800
3871
  nonce,
3801
3872
  requestId: core.environmentId,
@@ -3840,11 +3911,13 @@ const verifyWalletAccountForSignInOrTransfer = async ({ walletAccount, isTransfe
3840
3911
  if (walletAccount.verifiedCredentialId) throw new WalletAccountAlreadyVerifiedError(walletAccount.address);
3841
3912
  const walletProvider = require_getVerifiedCredentialForWalletAccount.getWalletProviderFromWalletAccount({ walletAccount }, client);
3842
3913
  const { messageToSign, signature } = await proveWalletAccountOwnership({ walletAccount }, client);
3914
+ const { networkId } = await walletProvider.getActiveNetworkId();
3843
3915
  const response = await require_getNetworkProviderFromNetworkId.verifyMessageSignatureOwnership({
3844
3916
  addressesWithTypes: walletAccount.addressesWithTypes,
3845
3917
  chain: walletAccount.chain,
3846
3918
  isTransfer,
3847
3919
  messageToSign,
3920
+ networkId,
3848
3921
  signature,
3849
3922
  walletAddress: walletAccount.address,
3850
3923
  walletDisplayName: walletProvider.metadata.displayName,
@@ -4404,6 +4477,7 @@ exports.consumeMfaToken = require_isMfaRequiredForAction.consumeMfaToken;
4404
4477
  exports.createCoinbaseOnrampOrder = createCoinbaseOnrampOrder;
4405
4478
  exports.createCryptoDotComPayment = createCryptoDotComPayment;
4406
4479
  exports.createDynamicClient = createDynamicClient;
4480
+ exports.createKrakenExchangeTransfer = createKrakenExchangeTransfer;
4407
4481
  exports.createNewMfaRecoveryCodes = createNewMfaRecoveryCodes;
4408
4482
  exports.deleteMfaDevice = deleteMfaDevice;
4409
4483
  exports.deletePasskey = deletePasskey;
@@ -4418,6 +4492,8 @@ exports.getBalanceForAddress = getBalanceForAddress;
4418
4492
  exports.getCoinbaseBuyUrl = getCoinbaseBuyUrl;
4419
4493
  exports.getConnectedAddresses = getConnectedAddresses;
4420
4494
  exports.getDefaultClient = require_constants.getDefaultClient;
4495
+ exports.getKrakenAccounts = getKrakenAccounts;
4496
+ exports.getKrakenWhitelistedAddresses = getKrakenWhitelistedAddresses;
4421
4497
  exports.getMfaDevices = getMfaDevices;
4422
4498
  exports.getMfaMethods = require_isMfaRequiredForAction.getMfaMethods;
4423
4499
  exports.getMfaRecoveryCodes = getMfaRecoveryCodes;