@dynamic-labs-sdk/client 1.16.1 → 1.17.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 (110) hide show
  1. package/dist/core.cjs +53 -53
  2. package/dist/core.cjs.map +1 -1
  3. package/dist/core.esm.js +5 -5
  4. package/dist/core.native.esm.js +5 -5
  5. package/dist/exports/waas.d.ts +2 -1
  6. package/dist/exports/waas.d.ts.map +1 -1
  7. package/dist/exports/waasCore.d.ts +3 -2
  8. package/dist/exports/waasCore.d.ts.map +1 -1
  9. package/dist/{getNetworkProviderFromNetworkId-BPeOK1Xx.esm.js → getNetworkProviderFromNetworkId-BVVs3arj.esm.js} +2 -3
  10. package/dist/{getNetworkProviderFromNetworkId-BPeOK1Xx.esm.js.map → getNetworkProviderFromNetworkId-BVVs3arj.esm.js.map} +1 -1
  11. package/dist/{getNetworkProviderFromNetworkId-D79icjmX.native.esm.js → getNetworkProviderFromNetworkId-DC1bhMuB.native.esm.js} +3 -4
  12. package/dist/{getNetworkProviderFromNetworkId-D79icjmX.native.esm.js.map → getNetworkProviderFromNetworkId-DC1bhMuB.native.esm.js.map} +1 -1
  13. package/dist/{getNetworkProviderFromNetworkId-BHxkTbiJ.cjs → getNetworkProviderFromNetworkId-DzzocxRc.cjs} +43 -44
  14. package/dist/{getNetworkProviderFromNetworkId-BHxkTbiJ.cjs.map → getNetworkProviderFromNetworkId-DzzocxRc.cjs.map} +1 -1
  15. package/dist/{getSignedSessionId-DzjHW7Rw.esm.js → getSignedSessionId-Bnuz2Aqc.esm.js} +3 -3
  16. package/dist/{getSignedSessionId-DzjHW7Rw.esm.js.map → getSignedSessionId-Bnuz2Aqc.esm.js.map} +1 -1
  17. package/dist/{getSignedSessionId-BjSUL8Br.cjs → getSignedSessionId-Dx0qQLMP.cjs} +11 -11
  18. package/dist/{getSignedSessionId-BjSUL8Br.cjs.map → getSignedSessionId-Dx0qQLMP.cjs.map} +1 -1
  19. package/dist/{getSignedSessionId-Dh4Df1mY.native.esm.js → getSignedSessionId-Pc_5wscD.native.esm.js} +3 -3
  20. package/dist/{getSignedSessionId-Dh4Df1mY.native.esm.js.map → getSignedSessionId-Pc_5wscD.native.esm.js.map} +1 -1
  21. package/dist/getWalletProviderByKey-BL3u0e-d.esm.js +20 -0
  22. package/dist/getWalletProviderByKey-BL3u0e-d.esm.js.map +1 -0
  23. package/dist/getWalletProviderByKey-BLWcueTR.cjs +31 -0
  24. package/dist/getWalletProviderByKey-BLWcueTR.cjs.map +1 -0
  25. package/dist/getWalletProviderByKey-DhqKzh7g.native.esm.js +20 -0
  26. package/dist/getWalletProviderByKey-DhqKzh7g.native.esm.js.map +1 -0
  27. package/dist/index.cjs +539 -540
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.esm.js +6 -7
  30. package/dist/index.esm.js.map +1 -1
  31. package/dist/index.native.esm.js +6 -7
  32. package/dist/index.native.esm.js.map +1 -1
  33. package/dist/isDynamicWaasEnabled-BEn7FcD9.cjs +88 -0
  34. package/dist/isDynamicWaasEnabled-BEn7FcD9.cjs.map +1 -0
  35. package/dist/isDynamicWaasEnabled-CvBaMGlR.native.esm.js +70 -0
  36. package/dist/isDynamicWaasEnabled-CvBaMGlR.native.esm.js.map +1 -0
  37. package/dist/isDynamicWaasEnabled-DYy0TvLy.esm.js +70 -0
  38. package/dist/isDynamicWaasEnabled-DYy0TvLy.esm.js.map +1 -0
  39. package/dist/{isMfaRequiredForAction-CkX6CfJf.esm.js → isMfaRequiredForAction-B7wNkqQf.esm.js} +2 -2
  40. package/dist/{isMfaRequiredForAction-CkX6CfJf.esm.js.map → isMfaRequiredForAction-B7wNkqQf.esm.js.map} +1 -1
  41. package/dist/{isMfaRequiredForAction-CBW-d9C6.native.esm.js → isMfaRequiredForAction-CJ9qbBUz.native.esm.js} +2 -2
  42. package/dist/{isMfaRequiredForAction-CBW-d9C6.native.esm.js.map → isMfaRequiredForAction-CJ9qbBUz.native.esm.js.map} +1 -1
  43. package/dist/{isMfaRequiredForAction-3fWX5MEF.cjs → isMfaRequiredForAction-CaNdGc-m.cjs} +29 -29
  44. package/dist/{isMfaRequiredForAction-3fWX5MEF.cjs.map → isMfaRequiredForAction-CaNdGc-m.cjs.map} +1 -1
  45. package/dist/{isUserOnboardingComplete-C4_b3pDb.esm.js → isUserOnboardingComplete-CGz-9Iyw.esm.js} +3 -3
  46. package/dist/{isUserOnboardingComplete-C4_b3pDb.esm.js.map → isUserOnboardingComplete-CGz-9Iyw.esm.js.map} +1 -1
  47. package/dist/{isUserOnboardingComplete-m6E6GbB0.native.esm.js → isUserOnboardingComplete-FRAIuxdi.native.esm.js} +3 -3
  48. package/dist/{isUserOnboardingComplete-m6E6GbB0.native.esm.js.map → isUserOnboardingComplete-FRAIuxdi.native.esm.js.map} +1 -1
  49. package/dist/{isUserOnboardingComplete-D0JrQGvR.cjs → isUserOnboardingComplete-w1IkCC_p.cjs} +13 -13
  50. package/dist/{isUserOnboardingComplete-D0JrQGvR.cjs.map → isUserOnboardingComplete-w1IkCC_p.cjs.map} +1 -1
  51. package/dist/migrateFromFireblocks-C-IqJz3q.native.esm.js +65 -0
  52. package/dist/migrateFromFireblocks-C-IqJz3q.native.esm.js.map +1 -0
  53. package/dist/migrateFromFireblocks-CjQWJPZW.cjs +82 -0
  54. package/dist/migrateFromFireblocks-CjQWJPZW.cjs.map +1 -0
  55. package/dist/migrateFromFireblocks-DXs3odF_.esm.js +65 -0
  56. package/dist/migrateFromFireblocks-DXs3odF_.esm.js.map +1 -0
  57. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  58. package/dist/modules/waas/migrateFromFireblocks/index.d.ts +2 -0
  59. package/dist/modules/waas/migrateFromFireblocks/index.d.ts.map +1 -0
  60. package/dist/modules/waas/migrateFromFireblocks/migrateFromFireblocks.d.ts +52 -0
  61. package/dist/modules/waas/migrateFromFireblocks/migrateFromFireblocks.d.ts.map +1 -0
  62. package/dist/modules/waas/waas.types.d.ts +9 -1
  63. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  64. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  65. package/dist/{InvalidParamError-PQ2Xen_o.esm.js → updateAuthFromVerifyResponse-BdokPJ21.esm.js} +237 -3
  66. package/dist/updateAuthFromVerifyResponse-BdokPJ21.esm.js.map +1 -0
  67. package/dist/{InvalidParamError-DCpeZMBr.cjs → updateAuthFromVerifyResponse-CUnvs5Af.cjs} +291 -9
  68. package/dist/updateAuthFromVerifyResponse-CUnvs5Af.cjs.map +1 -0
  69. package/dist/{InvalidParamError-5AXtm6Zp.native.esm.js → updateAuthFromVerifyResponse-DW-tPgdV.native.esm.js} +457 -4
  70. package/dist/updateAuthFromVerifyResponse-DW-tPgdV.native.esm.js.map +1 -0
  71. package/dist/waas.cjs +53 -67
  72. package/dist/waas.cjs.map +1 -1
  73. package/dist/waas.esm.js +5 -20
  74. package/dist/waas.esm.js.map +1 -1
  75. package/dist/waas.native.esm.js +5 -20
  76. package/dist/waas.native.esm.js.map +1 -1
  77. package/dist/waasCore.cjs +40 -23
  78. package/dist/waasCore.cjs.map +1 -1
  79. package/dist/waasCore.esm.js +23 -7
  80. package/dist/waasCore.esm.js.map +1 -1
  81. package/dist/waasCore.native.esm.js +23 -7
  82. package/dist/waasCore.native.esm.js.map +1 -1
  83. package/package.json +2 -2
  84. package/dist/InvalidParamError-5AXtm6Zp.native.esm.js.map +0 -1
  85. package/dist/InvalidParamError-DCpeZMBr.cjs.map +0 -1
  86. package/dist/InvalidParamError-PQ2Xen_o.esm.js.map +0 -1
  87. package/dist/getWaasWalletProviderFromWalletAccount-BxyUZBpT.cjs +0 -19
  88. package/dist/getWaasWalletProviderFromWalletAccount-BxyUZBpT.cjs.map +0 -1
  89. package/dist/getWaasWalletProviderFromWalletAccount-Ca0SiNEz.native.esm.js +0 -14
  90. package/dist/getWaasWalletProviderFromWalletAccount-Ca0SiNEz.native.esm.js.map +0 -1
  91. package/dist/getWaasWalletProviderFromWalletAccount-CupLo7EC.esm.js +0 -14
  92. package/dist/getWaasWalletProviderFromWalletAccount-CupLo7EC.esm.js.map +0 -1
  93. package/dist/getWalletProviderByKey-B6vtKHJy.esm.js +0 -255
  94. package/dist/getWalletProviderByKey-B6vtKHJy.esm.js.map +0 -1
  95. package/dist/getWalletProviderByKey-DIFBlGlR.cjs +0 -321
  96. package/dist/getWalletProviderByKey-DIFBlGlR.cjs.map +0 -1
  97. package/dist/getWalletProviderByKey-Dh2qnBmw.native.esm.js +0 -474
  98. package/dist/getWalletProviderByKey-Dh2qnBmw.native.esm.js.map +0 -1
  99. package/dist/isDynamicWaasEnabled-A8Humh0r.cjs +0 -49
  100. package/dist/isDynamicWaasEnabled-A8Humh0r.cjs.map +0 -1
  101. package/dist/isDynamicWaasEnabled-BmWqrgz1.esm.js +0 -37
  102. package/dist/isDynamicWaasEnabled-BmWqrgz1.esm.js.map +0 -1
  103. package/dist/isDynamicWaasEnabled-Djp4QuBw.native.esm.js +0 -37
  104. package/dist/isDynamicWaasEnabled-Djp4QuBw.native.esm.js.map +0 -1
  105. package/dist/refreshAuth-BKeW1dSq.cjs +0 -43
  106. package/dist/refreshAuth-BKeW1dSq.cjs.map +0 -1
  107. package/dist/refreshAuth-Cykyxvpz.native.esm.js +0 -38
  108. package/dist/refreshAuth-Cykyxvpz.native.esm.js.map +0 -1
  109. package/dist/refreshAuth-LzA2xxNC.esm.js +0 -38
  110. package/dist/refreshAuth-LzA2xxNC.esm.js.map +0 -1
@@ -1,9 +1,9 @@
1
- const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-3fWX5MEF.cjs');
1
+ const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-CaNdGc-m.cjs');
2
2
  let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
3
3
 
4
4
  //#region package.json
5
5
  var name = "@dynamic-labs-sdk/client";
6
- var version = "1.16.1";
6
+ var version = "1.17.0";
7
7
  var dependencies = {
8
8
  "@dynamic-labs-sdk/assert-package-version": "workspace:*",
9
9
  "@dynamic-labs-wallet/browser-wallet-client": "1.0.46",
@@ -1615,6 +1615,28 @@ const instrumentFunction = ({ fn, functionName, getCore: getCore$1, redactAll })
1615
1615
  const SDK_API_CORE_VERSION = dependencies["@dynamic-labs/sdk-api-core"];
1616
1616
  const DYNAMIC_ICONIC_SPRITE_URL = "https://iconic.dynamic-static-assets.com/icons/sprite.svg";
1617
1617
 
1618
+ //#endregion
1619
+ //#region src/modules/wallets/emitWalletAccountsChangedEvent/emitWalletAccountsChangedEvent.ts
1620
+ /**
1621
+ * Emits the `walletAccountsChanged` event.
1622
+ * @notInstrumented
1623
+ */
1624
+ const emitWalletAccountsChangedEvent = (client) => {
1625
+ emitEvent({
1626
+ args: { walletAccounts: getWalletAccounts(client) },
1627
+ event: "walletAccountsChanged"
1628
+ }, client);
1629
+ };
1630
+
1631
+ //#endregion
1632
+ //#region src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseWalletAccountsChangedEvent/checkAndRaiseWalletAccountsChangedEvent.ts
1633
+ /** @notInstrumented */
1634
+ const checkAndRaiseWalletAccountsChangedEvent = ({ previousState }, client) => {
1635
+ const core = getCore(client);
1636
+ if (getWalletAccountsHash(previousState, client) !== getWalletAccountsHash(core.state.get(), client)) emitWalletAccountsChangedEvent(client);
1637
+ };
1638
+ const getWalletAccountsHash = (state, client) => getWalletAccountsFromState(state, client).map((walletAccount) => JSON.stringify(walletAccount)).sort().join("-");
1639
+
1618
1640
  //#endregion
1619
1641
  //#region src/modules/mfa/isUserMissingMfaAuth/isUserMissingMfaAuth.ts
1620
1642
  /**
@@ -1633,6 +1655,16 @@ const isUserMissingMfaAuth = (client = getDefaultClient()) => {
1633
1655
  return Boolean(user.scope?.includes("requiresAdditionalAuth"));
1634
1656
  };
1635
1657
 
1658
+ //#endregion
1659
+ //#region src/modules/wallets/getWalletProviders/getWalletProviders.ts
1660
+ /**
1661
+ * Get all available wallet providers to interact with internally.
1662
+ * @notInstrumented
1663
+ */
1664
+ const getWalletProviders = (client) => {
1665
+ return getWalletProviderRegistry(client).listProviders();
1666
+ };
1667
+
1636
1668
  //#endregion
1637
1669
  //#region src/modules/waas/constants.ts
1638
1670
  const DEFAULT_WAAS_BASE_API_URL = "https://app.dynamicauth.com";
@@ -1650,6 +1682,68 @@ const isWaasWalletProvider = (walletProvider) => {
1650
1682
  return walletProvider.key.includes(DYNAMIC_WAAS_METADATA.normalizedWalletName);
1651
1683
  };
1652
1684
 
1685
+ //#endregion
1686
+ //#region src/modules/waas/findWaasWalletProviderByChain/findWaasWalletProviderByChain.ts
1687
+ /** @notInstrumented */
1688
+ const findWaasWalletProviderByChain = ({ chain }, client) => {
1689
+ const providers = getWalletProviders(client);
1690
+ const waasProviderKey = formatWalletProviderKey({
1691
+ chain,
1692
+ displayName: DYNAMIC_WAAS_METADATA.displayName,
1693
+ walletProviderType: _dynamic_labs_sdk_api_core.WalletProviderEnum.EmbeddedWallet
1694
+ });
1695
+ const waasProvider = providers.find((provider) => provider.key === waasProviderKey && provider.chain === chain);
1696
+ if (!waasProvider || !isWaasWalletProvider(waasProvider)) return null;
1697
+ return waasProvider;
1698
+ };
1699
+
1700
+ //#endregion
1701
+ //#region src/modules/waas/isWaasWalletAccount/isWaasWalletAccount.ts
1702
+ /**
1703
+ * This function determines whether the provided wallet account is a Dynamic
1704
+ * WaaS wallet account.
1705
+ *
1706
+ * @param params.walletAccount - The wallet account to check.
1707
+ * @returns True if the wallet account is a WaaS wallet account, false otherwise.
1708
+ * @notInstrumented
1709
+ */
1710
+ const isWaasWalletAccount = ({ walletAccount }) => {
1711
+ return walletAccount.walletProviderKey.includes(DYNAMIC_WAAS_METADATA.normalizedWalletName);
1712
+ };
1713
+
1714
+ //#endregion
1715
+ //#region src/modules/waas/initializeWaasClientsForEagerRecovery/initializeWaasClientsForEagerRecovery.ts
1716
+ /**
1717
+ * On login, boots the WaaS client once per chain so the SDK eagerly recovers
1718
+ * key shares itself (the `eagerlyRecoverKeyShares` capability) instead of the
1719
+ * host looping per wallet. Booting calls `initialize()`, which sends the auth
1720
+ * token the iframe needs to self-recover.
1721
+ *
1722
+ * @notInstrumented
1723
+ */
1724
+ const initializeWaasClientsForEagerRecovery = async (client) => {
1725
+ /**
1726
+ * Booting triggers recovery, which fails if the user is missing the MFA auth.
1727
+ * This early return avoids attempting a call we know will fail and just adds
1728
+ * noise to the logs.
1729
+ */
1730
+ if (isUserMissingMfaAuth(client)) return;
1731
+ const waasChains = new Set(getWalletAccounts(client).filter((walletAccount) => isWaasWalletAccount({ walletAccount })).map((walletAccount) => walletAccount.chain));
1732
+ await Promise.all([...waasChains].map(async (chain) => {
1733
+ const provider = findWaasWalletProviderByChain({ chain }, client);
1734
+ /**
1735
+ * The environment might not have the embedded wallet extensions installed.
1736
+ * In that case there is no provider for the chain and nothing to boot.
1737
+ */
1738
+ if (!provider) return;
1739
+ try {
1740
+ await provider.getWaasClient();
1741
+ } catch (error) {
1742
+ getCore(client).logger.warn("[initializeWaasClientsForEagerRecovery] failed to boot waas client", error);
1743
+ }
1744
+ }));
1745
+ };
1746
+
1653
1747
  //#endregion
1654
1748
  //#region src/errors/InvalidParamError.ts
1655
1749
  var InvalidParamError = class extends BaseError {
@@ -1664,6 +1758,146 @@ var InvalidParamError = class extends BaseError {
1664
1758
  }
1665
1759
  };
1666
1760
 
1761
+ //#endregion
1762
+ //#region src/modules/auth/decodeJwt/decodeJwt.ts
1763
+ /**
1764
+ * Decodes a JWT token and returns the full payload.
1765
+ *
1766
+ * This function extracts and returns the complete JWT payload including scopes,
1767
+ * expiration time, and other claims.
1768
+ *
1769
+ * @param jwt - The JWT token string.
1770
+ * @returns The decoded JWT payload object.
1771
+ * @throws InvalidParamError if the token is invalid or cannot be decoded.
1772
+ *
1773
+ * @example
1774
+ * ```typescript
1775
+ * const payload = decodeJwt(jwt);
1776
+ * // Returns: { scopes: ['wallet:export'], exp: 1234567890, ... }
1777
+ * ```
1778
+ * @notInstrumented
1779
+ */
1780
+ const decodeJwt = (jwt) => {
1781
+ try {
1782
+ const parts = jwt.split(".");
1783
+ if (parts.length !== 3) throw new InvalidParamError("Invalid JWT format");
1784
+ const base64Payload = parts[1].replaceAll("-", "+").replaceAll("_", "/");
1785
+ const paddedPayload = base64Payload + "=".repeat((4 - base64Payload.length % 4) % 4);
1786
+ const decodedPayload = atob(paddedPayload);
1787
+ return JSON.parse(decodedPayload);
1788
+ } catch (error) {
1789
+ if (error instanceof InvalidParamError) throw error;
1790
+ throw new InvalidParamError(`Failed to decode JWT: ${error instanceof Error ? error.message : String(error)}`);
1791
+ }
1792
+ };
1793
+
1794
+ //#endregion
1795
+ //#region src/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/normalizeScopes/normalizeScopes.ts
1796
+ /**
1797
+ * Normalizes scopes by deduplicating and sorting them.
1798
+ * This creates a canonical representation for comparison.
1799
+ *
1800
+ * @param scopes - Array of scope strings (may contain duplicates)
1801
+ * @returns Normalized, sorted array of unique scopes
1802
+ * @notInstrumented
1803
+ */
1804
+ const normalizeScopes = (scopes) => {
1805
+ return [...new Set(scopes)].sort((a, b) => a.localeCompare(b));
1806
+ };
1807
+
1808
+ //#endregion
1809
+ //#region src/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/parseElevatedAccessToken/parseElevatedAccessToken.ts
1810
+ /**
1811
+ * Validates and parses an elevated access token from a JWT string.
1812
+ * Extracts scopes, expiration, and validates the token structure.
1813
+ *
1814
+ * Policy decisions:
1815
+ * - Tokens without scopes are rejected (returns null)
1816
+ * - Tokens with empty scopes array are rejected (returns null)
1817
+ * - Tokens without exp field are rejected (returns null)
1818
+ * - Expired tokens are rejected (returns null)
1819
+ *
1820
+ * @returns Parsed token data or null if token is invalid/expired
1821
+ * @notInstrumented
1822
+ */
1823
+ const parseElevatedAccessToken = ({ token }) => {
1824
+ const payload = decodeJwt(token);
1825
+ const filteredScopes = ((payload?.scope)?.split(" ") ?? []).filter((s) => s.length > 0);
1826
+ const singleUse = payload.singleUse ?? false;
1827
+ if (!filteredScopes || filteredScopes.length === 0) return null;
1828
+ if (!payload.exp) return null;
1829
+ const expiresAt = /* @__PURE__ */ new Date(payload.exp * 1e3);
1830
+ if (expiresAt <= /* @__PURE__ */ new Date()) return null;
1831
+ return {
1832
+ expiresAt,
1833
+ normalizedScopes: normalizeScopes(filteredScopes),
1834
+ scopes: filteredScopes,
1835
+ singleUse,
1836
+ token
1837
+ };
1838
+ };
1839
+
1840
+ //#endregion
1841
+ //#region src/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/upsertElevatedAccessToken/upsertElevatedAccessToken.ts
1842
+ /**
1843
+ * Upserts an elevated access token into the current tokens array.
1844
+ *
1845
+ * Policy: Only one token per normalized scope-set is allowed.
1846
+ * If a token with the same normalized scopes exists, it is replaced.
1847
+ * This ensures we don't accumulate multiple tokens for the same scope combination.
1848
+ *
1849
+ * @param currentTokens - Current array of elevated access tokens
1850
+ * @param newToken - New token to upsert
1851
+ * @returns Updated array of tokens with the new token upserted
1852
+ * @notInstrumented
1853
+ */
1854
+ const upsertElevatedAccessToken = ({ currentTokens, newToken }) => {
1855
+ const newScopeKey = normalizeScopes(newToken.scopes).join(" ");
1856
+ return [...currentTokens.filter((existingToken) => {
1857
+ return normalizeScopes(existingToken.scopes).join(" ") !== newScopeKey;
1858
+ }), {
1859
+ expiresAt: newToken.expiresAt,
1860
+ scopes: newToken.scopes,
1861
+ singleUse: newToken.singleUse,
1862
+ token: newToken.token
1863
+ }];
1864
+ };
1865
+
1866
+ //#endregion
1867
+ //#region src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.ts
1868
+ /** @notInstrumented */
1869
+ const updateAuthFromVerifyResponse = ({ response }, client) => {
1870
+ const core = getCore(client);
1871
+ const previousState = { ...core.state.get() };
1872
+ const { user, minifiedJwt, jwt, expiresAt, mfaToken, elevatedAccessToken } = response;
1873
+ const sessionExpiresAt = /* @__PURE__ */ new Date(expiresAt * 1e3);
1874
+ const newState = {
1875
+ legacyToken: jwt ?? null,
1876
+ sessionExpiresAt,
1877
+ token: minifiedJwt ?? null,
1878
+ user
1879
+ };
1880
+ if (mfaToken) newState.mfaToken = mfaToken;
1881
+ const currentTokens = core.state.get().elevatedAccessTokens || [];
1882
+ newState.elevatedAccessTokens = currentTokens;
1883
+ if (elevatedAccessToken) {
1884
+ const parsedToken = parseElevatedAccessToken({ token: elevatedAccessToken });
1885
+ if (parsedToken) newState.elevatedAccessTokens = upsertElevatedAccessToken({
1886
+ currentTokens,
1887
+ newToken: parsedToken
1888
+ });
1889
+ }
1890
+ core.state.set(newState);
1891
+ /**
1892
+ * For customers using a sandbox environment with cookies enabled, we need to set the cookie
1893
+ * programmatically because Redcoast won't set the cookie via headers. We set the cookie programmatically
1894
+ * so customers can access the cookie from document.cookie consistently between sandbox and live environments.
1895
+ */
1896
+ if (minifiedJwt && isCookieEnabled(client)) setCookie(`${DYNAMIC_AUTH_COOKIE_NAME}=${minifiedJwt}; expires=${sessionExpiresAt.toUTCString()}; path=/; SameSite=Lax`);
1897
+ checkAndRaiseWalletAccountsChangedEvent({ previousState }, client);
1898
+ if (!previousState.user && Boolean(newState.user)) initializeWaasClientsForEagerRecovery(client);
1899
+ };
1900
+
1667
1901
  //#endregion
1668
1902
  Object.defineProperty(exports, 'APIError', {
1669
1903
  enumerable: true,
@@ -1821,6 +2055,12 @@ Object.defineProperty(exports, 'assertDefined', {
1821
2055
  return assertDefined;
1822
2056
  }
1823
2057
  });
2058
+ Object.defineProperty(exports, 'checkAndRaiseWalletAccountsChangedEvent', {
2059
+ enumerable: true,
2060
+ get: function () {
2061
+ return checkAndRaiseWalletAccountsChangedEvent;
2062
+ }
2063
+ });
1824
2064
  Object.defineProperty(exports, 'createApiClient', {
1825
2065
  enumerable: true,
1826
2066
  get: function () {
@@ -1845,6 +2085,12 @@ Object.defineProperty(exports, 'emitEvent', {
1845
2085
  return emitEvent;
1846
2086
  }
1847
2087
  });
2088
+ Object.defineProperty(exports, 'emitWalletAccountsChangedEvent', {
2089
+ enumerable: true,
2090
+ get: function () {
2091
+ return emitWalletAccountsChangedEvent;
2092
+ }
2093
+ });
1848
2094
  Object.defineProperty(exports, 'extractSessionId', {
1849
2095
  enumerable: true,
1850
2096
  get: function () {
@@ -1857,6 +2103,12 @@ Object.defineProperty(exports, 'fetchAndStoreNonces', {
1857
2103
  return fetchAndStoreNonces;
1858
2104
  }
1859
2105
  });
2106
+ Object.defineProperty(exports, 'findWaasWalletProviderByChain', {
2107
+ enumerable: true,
2108
+ get: function () {
2109
+ return findWaasWalletProviderByChain;
2110
+ }
2111
+ });
1860
2112
  Object.defineProperty(exports, 'formatWalletAccountId', {
1861
2113
  enumerable: true,
1862
2114
  get: function () {
@@ -1941,12 +2193,6 @@ Object.defineProperty(exports, 'getWalletAccounts', {
1941
2193
  return getWalletAccounts;
1942
2194
  }
1943
2195
  });
1944
- Object.defineProperty(exports, 'getWalletAccountsFromState', {
1945
- enumerable: true,
1946
- get: function () {
1947
- return getWalletAccountsFromState;
1948
- }
1949
- });
1950
2196
  Object.defineProperty(exports, 'getWalletProviderFromWalletAccount', {
1951
2197
  enumerable: true,
1952
2198
  get: function () {
@@ -1959,6 +2205,18 @@ Object.defineProperty(exports, 'getWalletProviderRegistry', {
1959
2205
  return getWalletProviderRegistry;
1960
2206
  }
1961
2207
  });
2208
+ Object.defineProperty(exports, 'getWalletProviders', {
2209
+ enumerable: true,
2210
+ get: function () {
2211
+ return getWalletProviders;
2212
+ }
2213
+ });
2214
+ Object.defineProperty(exports, 'initializeWaasClientsForEagerRecovery', {
2215
+ enumerable: true,
2216
+ get: function () {
2217
+ return initializeWaasClientsForEagerRecovery;
2218
+ }
2219
+ });
1962
2220
  Object.defineProperty(exports, 'instrumentFunction', {
1963
2221
  enumerable: true,
1964
2222
  get: function () {
@@ -1977,6 +2235,12 @@ Object.defineProperty(exports, 'isUserMissingMfaAuth', {
1977
2235
  return isUserMissingMfaAuth;
1978
2236
  }
1979
2237
  });
2238
+ Object.defineProperty(exports, 'isWaasWalletAccount', {
2239
+ enumerable: true,
2240
+ get: function () {
2241
+ return isWaasWalletAccount;
2242
+ }
2243
+ });
1980
2244
  Object.defineProperty(exports, 'isWaasWalletProvider', {
1981
2245
  enumerable: true,
1982
2246
  get: function () {
@@ -2019,6 +2283,12 @@ Object.defineProperty(exports, 'onceEvent', {
2019
2283
  return onceEvent;
2020
2284
  }
2021
2285
  });
2286
+ Object.defineProperty(exports, 'parseElevatedAccessToken', {
2287
+ enumerable: true,
2288
+ get: function () {
2289
+ return parseElevatedAccessToken;
2290
+ }
2291
+ });
2022
2292
  Object.defineProperty(exports, 'randomString', {
2023
2293
  enumerable: true,
2024
2294
  get: function () {
@@ -2049,10 +2319,22 @@ Object.defineProperty(exports, 'splitWalletProviderKey', {
2049
2319
  return splitWalletProviderKey;
2050
2320
  }
2051
2321
  });
2322
+ Object.defineProperty(exports, 'updateAuthFromVerifyResponse', {
2323
+ enumerable: true,
2324
+ get: function () {
2325
+ return updateAuthFromVerifyResponse;
2326
+ }
2327
+ });
2328
+ Object.defineProperty(exports, 'upsertElevatedAccessToken', {
2329
+ enumerable: true,
2330
+ get: function () {
2331
+ return upsertElevatedAccessToken;
2332
+ }
2333
+ });
2052
2334
  Object.defineProperty(exports, 'version', {
2053
2335
  enumerable: true,
2054
2336
  get: function () {
2055
2337
  return version;
2056
2338
  }
2057
2339
  });
2058
- //# sourceMappingURL=InvalidParamError-DCpeZMBr.cjs.map
2340
+ //# sourceMappingURL=updateAuthFromVerifyResponse-CUnvs5Af.cjs.map