@dynamic-labs-sdk/client 1.30.2 → 1.31.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 (348) hide show
  1. package/dist/{updateAuthFromVerifyResponse-CTvWpZLa.native.esm.js → apiClient-DpzKqY39.native.esm.js} +557 -465
  2. package/dist/apiClient-DpzKqY39.native.esm.js.map +1 -0
  3. package/dist/client/types/DynamicClient.d.ts +1 -1
  4. package/dist/client/types/DynamicClient.d.ts.map +1 -1
  5. package/dist/core.cjs +121 -61
  6. package/dist/core.cjs.map +1 -1
  7. package/dist/core.esm.js +64 -6
  8. package/dist/core.esm.js.map +1 -1
  9. package/dist/core.native.esm.js +64 -6
  10. package/dist/core.native.esm.js.map +1 -1
  11. package/dist/errors/WaasRbacStaleRetryUnsafeError.d.ts +36 -0
  12. package/dist/errors/WaasRbacStaleRetryUnsafeError.d.ts.map +1 -0
  13. package/dist/exports/core.d.ts +6 -0
  14. package/dist/exports/core.d.ts.map +1 -1
  15. package/dist/exports/index.d.ts +16 -4
  16. package/dist/exports/index.d.ts.map +1 -1
  17. package/dist/exports/waas.d.ts +3 -2
  18. package/dist/exports/waas.d.ts.map +1 -1
  19. package/dist/{getNetworkProviderFromNetworkId-CamHn2s3.esm.js → getNetworkProviderFromNetworkId-BN2jUhHm.esm.js} +8 -3
  20. package/dist/getNetworkProviderFromNetworkId-BN2jUhHm.esm.js.map +1 -0
  21. package/dist/{getNetworkProviderFromNetworkId-igDf2OPy.cjs → getNetworkProviderFromNetworkId-BoNAPSjx.cjs} +62 -51
  22. package/dist/getNetworkProviderFromNetworkId-BoNAPSjx.cjs.map +1 -0
  23. package/dist/{getNetworkProviderFromNetworkId--X0cb1ad.native.esm.js → getNetworkProviderFromNetworkId-DUym3Qq0.native.esm.js} +9 -4
  24. package/dist/getNetworkProviderFromNetworkId-DUym3Qq0.native.esm.js.map +1 -0
  25. package/dist/{getSignedSessionId-DGa_pu-i.cjs → getSignedSessionId-9ADIJCl1.cjs} +11 -11
  26. package/dist/{getSignedSessionId-DGa_pu-i.cjs.map → getSignedSessionId-9ADIJCl1.cjs.map} +1 -1
  27. package/dist/{getSignedSessionId--XNTxNFo.native.esm.js → getSignedSessionId-Dr4Ic68X.native.esm.js} +3 -3
  28. package/dist/{getSignedSessionId--XNTxNFo.native.esm.js.map → getSignedSessionId-Dr4Ic68X.native.esm.js.map} +1 -1
  29. package/dist/{getSignedSessionId-DY-ietfO.esm.js → getSignedSessionId-DxpqG4pv.esm.js} +3 -3
  30. package/dist/{getSignedSessionId-DY-ietfO.esm.js.map → getSignedSessionId-DxpqG4pv.esm.js.map} +1 -1
  31. package/dist/{getWalletProviderByKey-DzpmoNlv.cjs → getVerifiedCredentialForWalletAccount-C2o5idph.cjs} +10 -10
  32. package/dist/getVerifiedCredentialForWalletAccount-C2o5idph.cjs.map +1 -0
  33. package/dist/{getWalletProviderByKey-xqyD3ybv.esm.js → getVerifiedCredentialForWalletAccount-Cjwoeej7.esm.js} +10 -10
  34. package/dist/getVerifiedCredentialForWalletAccount-Cjwoeej7.esm.js.map +1 -0
  35. package/dist/index.cjs +677 -672
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.esm.js +47 -23
  38. package/dist/index.esm.js.map +1 -1
  39. package/dist/index.native.esm.js +47 -23
  40. package/dist/index.native.esm.js.map +1 -1
  41. package/dist/{isMfaRequiredForAction-CatS60F6.esm.js → isMfaRequiredForAction-BIBmJbV9.esm.js} +2 -2
  42. package/dist/isMfaRequiredForAction-BIBmJbV9.esm.js.map +1 -0
  43. package/dist/{isMfaRequiredForAction-BcJvy7Gw.native.esm.js → isMfaRequiredForAction-DuSU67yq.native.esm.js} +2 -2
  44. package/dist/isMfaRequiredForAction-DuSU67yq.native.esm.js.map +1 -0
  45. package/dist/{isMfaRequiredForAction-DKfoMhEk.cjs → isMfaRequiredForAction-yM84r7l7.cjs} +11 -11
  46. package/dist/isMfaRequiredForAction-yM84r7l7.cjs.map +1 -0
  47. package/dist/{isUserOnboardingComplete-BWVuE4Jg.native.esm.js → isUserOnboardingComplete-B2Ha2dkP.esm.js} +47 -4
  48. package/dist/isUserOnboardingComplete-B2Ha2dkP.esm.js.map +1 -0
  49. package/dist/{isUserOnboardingComplete-jv_idxWY.cjs → isUserOnboardingComplete-BRTOnK8V.cjs} +63 -14
  50. package/dist/isUserOnboardingComplete-BRTOnK8V.cjs.map +1 -0
  51. package/dist/{isUserOnboardingComplete-jkAQQVdP.esm.js → isUserOnboardingComplete-DCIlkCub.native.esm.js} +47 -4
  52. package/dist/isUserOnboardingComplete-DCIlkCub.native.esm.js.map +1 -0
  53. package/dist/{updateAuthFromVerifyResponse-BLgNMqwN.esm.js → logoutWithReason-DV89zJmJ.esm.js} +679 -587
  54. package/dist/logoutWithReason-DV89zJmJ.esm.js.map +1 -0
  55. package/dist/{updateAuthFromVerifyResponse-Dsw-eAro.cjs → logoutWithReason-DlA15deT.cjs} +691 -587
  56. package/dist/logoutWithReason-DlA15deT.cjs.map +1 -0
  57. package/dist/{getWalletProviderByKey-Cl6WDOoD.native.esm.js → logoutWithReason-HqGlUccb.native.esm.js} +19 -19
  58. package/dist/logoutWithReason-HqGlUccb.native.esm.js.map +1 -0
  59. package/dist/migrateFromFireblocks-CiOS4_Nq.esm.js +128 -0
  60. package/dist/migrateFromFireblocks-CiOS4_Nq.esm.js.map +1 -0
  61. package/dist/migrateFromFireblocks-CqIpxGRS.cjs +163 -0
  62. package/dist/migrateFromFireblocks-CqIpxGRS.cjs.map +1 -0
  63. package/dist/migrateFromFireblocks-DnQsGmIW.native.esm.js +128 -0
  64. package/dist/migrateFromFireblocks-DnQsGmIW.native.esm.js.map +1 -0
  65. package/dist/modules/apiClient/apiClient.types.d.ts +1 -1
  66. package/dist/modules/apiClient/apiClient.types.d.ts.map +1 -1
  67. package/dist/modules/apiClient/createApiClient.d.ts.map +1 -1
  68. package/dist/modules/apiClient/utils/rbacStaleMiddleware/createRbacStaleMiddleware.d.ts +10 -0
  69. package/dist/modules/apiClient/utils/rbacStaleMiddleware/createRbacStaleMiddleware.d.ts.map +1 -0
  70. package/dist/modules/auth/auth.types.d.ts +45 -0
  71. package/dist/modules/auth/auth.types.d.ts.map +1 -0
  72. package/dist/modules/auth/checkStepUpAuth/checkStepUpAuth.d.ts +2 -1
  73. package/dist/modules/auth/checkStepUpAuth/checkStepUpAuth.d.ts.map +1 -1
  74. package/dist/modules/auth/consts.d.ts +9 -0
  75. package/dist/modules/auth/consts.d.ts.map +1 -1
  76. package/dist/modules/auth/createVisit/createVisit.d.ts.map +1 -1
  77. package/dist/modules/auth/externalAuth/requestExternalAuthElevatedToken/requestExternalAuthElevatedToken.d.ts +1 -1
  78. package/dist/modules/auth/externalAuth/requestExternalAuthElevatedToken/requestExternalAuthElevatedToken.d.ts.map +1 -1
  79. package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts +1 -1
  80. package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts.map +1 -1
  81. package/dist/modules/auth/getActionAuthorizationTokens/getActionAuthorizationTokens.d.ts +2 -1
  82. package/dist/modules/auth/getActionAuthorizationTokens/getActionAuthorizationTokens.d.ts.map +1 -1
  83. package/dist/modules/auth/mergeUserAccounts/mergeUserAccounts.d.ts +4 -3
  84. package/dist/modules/auth/mergeUserAccounts/mergeUserAccounts.d.ts.map +1 -1
  85. package/dist/modules/auth/passkeys/getPasskeys/getPasskeys.d.ts +1 -1
  86. package/dist/modules/auth/passkeys/getPasskeys/getPasskeys.d.ts.map +1 -1
  87. package/dist/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts +2 -1
  88. package/dist/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts.map +1 -1
  89. package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts +3 -1
  90. package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts.map +1 -1
  91. package/dist/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts +2 -1
  92. package/dist/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts.map +1 -1
  93. package/dist/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts +1 -1
  94. package/dist/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts.map +1 -1
  95. package/dist/modules/auth/social/oauth/completeSocialAuthentication/completeSocialAuthentication.d.ts +1 -1
  96. package/dist/modules/auth/social/oauth/completeSocialAuthentication/completeSocialAuthentication.d.ts.map +1 -1
  97. package/dist/modules/auth/social/oauth/completeSocialRedirect/completeSocialRedirect.types.d.ts +1 -1
  98. package/dist/modules/auth/social/oauth/completeSocialRedirect/completeSocialRedirect.types.d.ts.map +1 -1
  99. package/dist/modules/auth/social/oauth/processSocialCallback/processSocialCallback.d.ts +1 -1
  100. package/dist/modules/auth/social/oauth/processSocialCallback/processSocialCallback.d.ts.map +1 -1
  101. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.types.d.ts +1 -1
  102. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.types.d.ts.map +1 -1
  103. package/dist/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts +1 -1
  104. package/dist/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts.map +1 -1
  105. package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts +1 -1
  106. package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
  107. package/dist/modules/balances/balances.types.d.ts +59 -0
  108. package/dist/modules/balances/balances.types.d.ts.map +1 -0
  109. package/dist/modules/balances/getMultichainTokenBalances/getMultichainTokenBalances.d.ts +1 -1
  110. package/dist/modules/balances/getMultichainTokenBalances/getMultichainTokenBalances.d.ts.map +1 -1
  111. package/dist/modules/balances/getTokenBalances/getTokenBalances.d.ts +1 -1
  112. package/dist/modules/balances/getTokenBalances/getTokenBalances.d.ts.map +1 -1
  113. package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts +1 -1
  114. package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts.map +1 -1
  115. package/dist/modules/checkout/checkout.types.d.ts +10 -2
  116. package/dist/modules/checkout/checkout.types.d.ts.map +1 -1
  117. package/dist/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.d.ts +1 -1
  118. package/dist/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.d.ts.map +1 -1
  119. package/dist/modules/deviceRegistration/deviceRegistration.types.d.ts +9 -0
  120. package/dist/modules/deviceRegistration/deviceRegistration.types.d.ts.map +1 -0
  121. package/dist/modules/deviceRegistration/getRegisteredDevices/getRegisteredDevices.d.ts +1 -1
  122. package/dist/modules/deviceRegistration/getRegisteredDevices/getRegisteredDevices.d.ts.map +1 -1
  123. package/dist/modules/funding/coinbase/coinbase.types.d.ts +2 -40
  124. package/dist/modules/funding/coinbase/coinbase.types.d.ts.map +1 -1
  125. package/dist/modules/funding/coinbase/createCoinbaseExchangeTransfer/createCoinbaseExchangeTransfer.d.ts +1 -1
  126. package/dist/modules/funding/coinbase/createCoinbaseExchangeTransfer/createCoinbaseExchangeTransfer.d.ts.map +1 -1
  127. package/dist/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts +2 -2
  128. package/dist/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts.map +1 -1
  129. package/dist/modules/funding/cryptoDotCom/cryptoDotCom.types.d.ts +2 -2
  130. package/dist/modules/funding/cryptoDotCom/cryptoDotCom.types.d.ts.map +1 -1
  131. package/dist/modules/funding/funding.types.d.ts +26 -0
  132. package/dist/modules/funding/funding.types.d.ts.map +1 -0
  133. package/dist/modules/funding/kraken/createKrakenExchangeTransfer/createKrakenExchangeTransfer.d.ts +4 -4
  134. package/dist/modules/funding/kraken/createKrakenExchangeTransfer/createKrakenExchangeTransfer.d.ts.map +1 -1
  135. package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts +3 -1
  136. package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts.map +1 -1
  137. package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +3 -1
  138. package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts.map +1 -1
  139. package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts +3 -1
  140. package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts.map +1 -1
  141. package/dist/modules/mfa/createNewMfaRecoveryCodes/createNewMfaRecoveryCodes.d.ts +1 -1
  142. package/dist/modules/mfa/createNewMfaRecoveryCodes/createNewMfaRecoveryCodes.d.ts.map +1 -1
  143. package/dist/modules/mfa/getMfaDevices/getMfaDevices.d.ts +1 -1
  144. package/dist/modules/mfa/getMfaDevices/getMfaDevices.d.ts.map +1 -1
  145. package/dist/modules/mfa/getMfaMethods/getMfaMethods.d.ts +1 -1
  146. package/dist/modules/mfa/getMfaMethods/getMfaMethods.d.ts.map +1 -1
  147. package/dist/modules/mfa/getMfaRecoveryCodes/getMfaRecoveryCodes.d.ts +1 -1
  148. package/dist/modules/mfa/getMfaRecoveryCodes/getMfaRecoveryCodes.d.ts.map +1 -1
  149. package/dist/modules/mfa/isMfaRequiredForAction/isMfaRequiredForAction.d.ts +1 -1
  150. package/dist/modules/mfa/isMfaRequiredForAction/isMfaRequiredForAction.d.ts.map +1 -1
  151. package/dist/modules/mfa/mfa.consts.d.ts +10 -0
  152. package/dist/modules/mfa/mfa.consts.d.ts.map +1 -0
  153. package/dist/modules/mfa/mfa.types.d.ts +66 -1
  154. package/dist/modules/mfa/mfa.types.d.ts.map +1 -1
  155. package/dist/modules/mfa/registerTotpMfaDevice/registerTotpMfaDevice.d.ts +1 -1
  156. package/dist/modules/mfa/registerTotpMfaDevice/registerTotpMfaDevice.d.ts.map +1 -1
  157. package/dist/modules/otp/verifyOTP/verifyOTP.d.ts +2 -1
  158. package/dist/modules/otp/verifyOTP/verifyOTP.d.ts.map +1 -1
  159. package/dist/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts +1 -1
  160. package/dist/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts.map +1 -1
  161. package/dist/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts +1 -1
  162. package/dist/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts.map +1 -1
  163. package/dist/modules/projectSettings/projectSettings.types.d.ts +15 -0
  164. package/dist/modules/projectSettings/projectSettings.types.d.ts.map +1 -0
  165. package/dist/modules/simulation/simulation.types.d.ts +27 -1
  166. package/dist/modules/simulation/simulation.types.d.ts.map +1 -1
  167. package/dist/modules/storageSync/schema.d.ts +2 -2
  168. package/dist/modules/storageSync/schema.d.ts.map +1 -1
  169. package/dist/modules/swap/swap.types.d.ts +15 -2
  170. package/dist/modules/swap/swap.types.d.ts.map +1 -1
  171. package/dist/modules/user/refreshAuth/refreshAuth.d.ts +2 -2
  172. package/dist/modules/user/refreshAuth/refreshAuth.d.ts.map +1 -1
  173. package/dist/modules/user/refreshUser/refreshUser.d.ts +3 -3
  174. package/dist/modules/user/refreshUser/refreshUser.d.ts.map +1 -1
  175. package/dist/modules/user/user.consts.d.ts +19 -0
  176. package/dist/modules/user/user.consts.d.ts.map +1 -0
  177. package/dist/modules/user/user.types.d.ts +22 -2
  178. package/dist/modules/user/user.types.d.ts.map +1 -1
  179. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts +4 -2
  180. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts.map +1 -1
  181. package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts +1 -1
  182. package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts.map +1 -1
  183. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  184. package/dist/modules/waas/getWalletAccountShareSets/getWalletAccountShareSets.d.ts +2 -2
  185. package/dist/modules/waas/getWalletAccountShareSets/getWalletAccountShareSets.d.ts.map +1 -1
  186. package/dist/modules/waas/injectWaasVerifiedCredentialFields/injectWaasVerifiedCredentialFields.d.ts +3 -1
  187. package/dist/modules/waas/injectWaasVerifiedCredentialFields/injectWaasVerifiedCredentialFields.d.ts.map +1 -1
  188. package/dist/modules/waas/policies/applyPolicyLayerBatch/applyPolicyLayerBatch.d.ts +2 -1
  189. package/dist/modules/waas/policies/applyPolicyLayerBatch/applyPolicyLayerBatch.d.ts.map +1 -1
  190. package/dist/modules/waas/policies/buildAllowAddressesRule/buildAllowAddressesRule.d.ts +1 -2
  191. package/dist/modules/waas/policies/buildAllowAddressesRule/buildAllowAddressesRule.d.ts.map +1 -1
  192. package/dist/modules/waas/policies/buildAllowPolicyRule/buildAllowPolicyRule.d.ts +1 -2
  193. package/dist/modules/waas/policies/buildAllowPolicyRule/buildAllowPolicyRule.d.ts.map +1 -1
  194. package/dist/modules/waas/policies/buildBlockExportRule/buildBlockExportRule.d.ts +1 -2
  195. package/dist/modules/waas/policies/buildBlockExportRule/buildBlockExportRule.d.ts.map +1 -1
  196. package/dist/modules/waas/policies/buildDenyAddressesRule/buildDenyAddressesRule.d.ts +1 -2
  197. package/dist/modules/waas/policies/buildDenyAddressesRule/buildDenyAddressesRule.d.ts.map +1 -1
  198. package/dist/modules/waas/policies/buildDenyPolicyRule/buildDenyPolicyRule.d.ts +1 -2
  199. package/dist/modules/waas/policies/buildDenyPolicyRule/buildDenyPolicyRule.d.ts.map +1 -1
  200. package/dist/modules/waas/policies/buildMaxAmountPerTransactionRule/buildMaxAmountPerTransactionRule.d.ts +1 -2
  201. package/dist/modules/waas/policies/buildMaxAmountPerTransactionRule/buildMaxAmountPerTransactionRule.d.ts.map +1 -1
  202. package/dist/modules/waas/policies/buildOperationForExistingRule/buildOperationForExistingRule.d.ts +3 -2
  203. package/dist/modules/waas/policies/buildOperationForExistingRule/buildOperationForExistingRule.d.ts.map +1 -1
  204. package/dist/modules/waas/policies/buildOperationsForRule/buildOperationsForRule.d.ts +2 -2
  205. package/dist/modules/waas/policies/buildOperationsForRule/buildOperationsForRule.d.ts.map +1 -1
  206. package/dist/modules/waas/policies/createPolicy/createPolicy.d.ts +2 -1
  207. package/dist/modules/waas/policies/createPolicy/createPolicy.d.ts.map +1 -1
  208. package/dist/modules/waas/policies/desugarPolicyRules/desugarPolicyRules.d.ts +1 -2
  209. package/dist/modules/waas/policies/desugarPolicyRules/desugarPolicyRules.d.ts.map +1 -1
  210. package/dist/modules/waas/policies/expandPolicyRules/expandPolicyRules.d.ts +2 -2
  211. package/dist/modules/waas/policies/expandPolicyRules/expandPolicyRules.d.ts.map +1 -1
  212. package/dist/modules/waas/policies/fillOmittedRuleValues/fillOmittedRuleValues.d.ts +1 -2
  213. package/dist/modules/waas/policies/fillOmittedRuleValues/fillOmittedRuleValues.d.ts.map +1 -1
  214. package/dist/modules/waas/policies/findMatchedRuleKind/findMatchedRuleKind.d.ts +1 -2
  215. package/dist/modules/waas/policies/findMatchedRuleKind/findMatchedRuleKind.d.ts.map +1 -1
  216. package/dist/modules/waas/policies/getAccountPolicyLayer/getAccountPolicyLayer.d.ts +1 -1
  217. package/dist/modules/waas/policies/getAccountPolicyLayer/getAccountPolicyLayer.d.ts.map +1 -1
  218. package/dist/modules/waas/policies/getPolicy/getPolicy.d.ts +2 -2
  219. package/dist/modules/waas/policies/getPolicy/getPolicy.d.ts.map +1 -1
  220. package/dist/modules/waas/policies/getResolvedPolicyLayer/getResolvedPolicyLayer.d.ts +1 -1
  221. package/dist/modules/waas/policies/getResolvedPolicyLayer/getResolvedPolicyLayer.d.ts.map +1 -1
  222. package/dist/modules/waas/policies/getSignerPolicyLayer/getSignerPolicyLayer.d.ts +1 -1
  223. package/dist/modules/waas/policies/getSignerPolicyLayer/getSignerPolicyLayer.d.ts.map +1 -1
  224. package/dist/modules/waas/policies/getWalletPolicyLayer/getWalletPolicyLayer.d.ts +1 -1
  225. package/dist/modules/waas/policies/getWalletPolicyLayer/getWalletPolicyLayer.d.ts.map +1 -1
  226. package/dist/modules/waas/policies/hasAddresses/hasAddresses.d.ts +1 -1
  227. package/dist/modules/waas/policies/hasAddresses/hasAddresses.d.ts.map +1 -1
  228. package/dist/modules/waas/policies/hasUnrecognizedFields/hasUnrecognizedFields.d.ts +1 -1
  229. package/dist/modules/waas/policies/hasUnrecognizedFields/hasUnrecognizedFields.d.ts.map +1 -1
  230. package/dist/modules/waas/policies/isPolicyRuleDeletionMarker/isPolicyRuleDeletionMarker.d.ts +1 -2
  231. package/dist/modules/waas/policies/isPolicyRuleDeletionMarker/isPolicyRuleDeletionMarker.d.ts.map +1 -1
  232. package/dist/modules/waas/policies/matchExistingRules/matchExistingRules.d.ts +1 -1
  233. package/dist/modules/waas/policies/matchExistingRules/matchExistingRules.d.ts.map +1 -1
  234. package/dist/modules/waas/policies/policies.types.d.ts +17 -1
  235. package/dist/modules/waas/policies/policies.types.d.ts.map +1 -1
  236. package/dist/modules/waas/policies/policyRuleKinds.d.ts +1 -2
  237. package/dist/modules/waas/policies/policyRuleKinds.d.ts.map +1 -1
  238. package/dist/modules/waas/policies/readAllowAddressesRule/readAllowAddressesRule.d.ts +1 -2
  239. package/dist/modules/waas/policies/readAllowAddressesRule/readAllowAddressesRule.d.ts.map +1 -1
  240. package/dist/modules/waas/policies/readBlockExportRule/readBlockExportRule.d.ts +1 -2
  241. package/dist/modules/waas/policies/readBlockExportRule/readBlockExportRule.d.ts.map +1 -1
  242. package/dist/modules/waas/policies/readCoveredRule/readCoveredRule.d.ts +1 -2
  243. package/dist/modules/waas/policies/readCoveredRule/readCoveredRule.d.ts.map +1 -1
  244. package/dist/modules/waas/policies/readDenyAddressesRule/readDenyAddressesRule.d.ts +1 -2
  245. package/dist/modules/waas/policies/readDenyAddressesRule/readDenyAddressesRule.d.ts.map +1 -1
  246. package/dist/modules/waas/policies/readMaxAmountPerTransactionRule/readMaxAmountPerTransactionRule.d.ts +1 -2
  247. package/dist/modules/waas/policies/readMaxAmountPerTransactionRule/readMaxAmountPerTransactionRule.d.ts.map +1 -1
  248. package/dist/modules/waas/policies/removeAccountPolicyRule/removeAccountPolicyRule.d.ts +1 -1
  249. package/dist/modules/waas/policies/removeAccountPolicyRule/removeAccountPolicyRule.d.ts.map +1 -1
  250. package/dist/modules/waas/policies/removePolicyRules/removePolicyRules.d.ts +2 -1
  251. package/dist/modules/waas/policies/removePolicyRules/removePolicyRules.d.ts.map +1 -1
  252. package/dist/modules/waas/policies/removeSignerPolicyRule/removeSignerPolicyRule.d.ts +1 -1
  253. package/dist/modules/waas/policies/removeSignerPolicyRule/removeSignerPolicyRule.d.ts.map +1 -1
  254. package/dist/modules/waas/policies/removeWalletPolicyRule/removeWalletPolicyRule.d.ts +1 -1
  255. package/dist/modules/waas/policies/removeWalletPolicyRule/removeWalletPolicyRule.d.ts.map +1 -1
  256. package/dist/modules/waas/policies/resolveRuleName/resolveRuleName.d.ts +1 -2
  257. package/dist/modules/waas/policies/resolveRuleName/resolveRuleName.d.ts.map +1 -1
  258. package/dist/modules/waas/policies/sortRulesByRuleId/sortRulesByRuleId.d.ts +1 -1
  259. package/dist/modules/waas/policies/sortRulesByRuleId/sortRulesByRuleId.d.ts.map +1 -1
  260. package/dist/modules/waas/policies/upsertAccountPolicyRule/upsertAccountPolicyRule.d.ts +2 -1
  261. package/dist/modules/waas/policies/upsertAccountPolicyRule/upsertAccountPolicyRule.d.ts.map +1 -1
  262. package/dist/modules/waas/policies/upsertSignerPolicyRule/upsertSignerPolicyRule.d.ts +2 -1
  263. package/dist/modules/waas/policies/upsertSignerPolicyRule/upsertSignerPolicyRule.d.ts.map +1 -1
  264. package/dist/modules/waas/policies/upsertWalletPolicyRule/upsertWalletPolicyRule.d.ts +2 -1
  265. package/dist/modules/waas/policies/upsertWalletPolicyRule/upsertWalletPolicyRule.d.ts.map +1 -1
  266. package/dist/modules/waas/waas.consts.d.ts +23 -0
  267. package/dist/modules/waas/waas.consts.d.ts.map +1 -0
  268. package/dist/modules/waas/waas.types.d.ts +30 -1
  269. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  270. package/dist/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts +2 -2
  271. package/dist/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts.map +1 -1
  272. package/dist/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts +2 -2
  273. package/dist/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts.map +1 -1
  274. package/dist/modules/wallets/screenTransaction/screenTransaction.d.ts +1 -1
  275. package/dist/modules/wallets/screenTransaction/screenTransaction.d.ts.map +1 -1
  276. package/dist/modules/wallets/userHasEmbeddedWalletForChain/userHasEmbeddedWalletForChain.d.ts +2 -2
  277. package/dist/modules/wallets/userHasEmbeddedWalletForChain/userHasEmbeddedWalletForChain.d.ts.map +1 -1
  278. package/dist/modules/wallets/userHasExternalWallet/userHasExternalWallet.d.ts +2 -2
  279. package/dist/modules/wallets/userHasExternalWallet/userHasExternalWallet.d.ts.map +1 -1
  280. package/dist/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts +1 -1
  281. package/dist/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts.map +1 -1
  282. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts +5 -3
  283. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts.map +1 -1
  284. package/dist/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts +1 -1
  285. package/dist/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts.map +1 -1
  286. package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts +1 -1
  287. package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts.map +1 -1
  288. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts +4 -2
  289. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  290. package/dist/modules/wallets/wallets.types.d.ts +47 -0
  291. package/dist/modules/wallets/wallets.types.d.ts.map +1 -0
  292. package/dist/modules/yield/yield.types.d.ts +8 -0
  293. package/dist/modules/yield/yield.types.d.ts.map +1 -1
  294. package/dist/services/eventEmitter/createEventEmitter.d.ts +3 -2
  295. package/dist/services/eventEmitter/createEventEmitter.d.ts.map +1 -1
  296. package/dist/services/eventEmitter/index.d.ts +1 -1
  297. package/dist/services/eventEmitter/index.d.ts.map +1 -1
  298. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  299. package/dist/utils/createSequenceQueue/createSequenceQueue.d.ts +52 -0
  300. package/dist/utils/createSequenceQueue/createSequenceQueue.d.ts.map +1 -0
  301. package/dist/utils/createSequenceQueue/index.d.ts +3 -0
  302. package/dist/utils/createSequenceQueue/index.d.ts.map +1 -0
  303. package/dist/waas-BOKafCeH.cjs +2467 -0
  304. package/dist/waas-BOKafCeH.cjs.map +1 -0
  305. package/dist/waas-CUDgU2pl.esm.js +2150 -0
  306. package/dist/waas-CUDgU2pl.esm.js.map +1 -0
  307. package/dist/waas-CkQYVo6U.native.esm.js +2150 -0
  308. package/dist/waas-CkQYVo6U.native.esm.js.map +1 -0
  309. package/dist/waas.cjs +60 -2185
  310. package/dist/waas.esm.js +5 -2126
  311. package/dist/waas.native.esm.js +5 -2126
  312. package/dist/waasCore.cjs +76 -44
  313. package/dist/waasCore.cjs.map +1 -1
  314. package/dist/waasCore.esm.js +56 -24
  315. package/dist/waasCore.esm.js.map +1 -1
  316. package/dist/waasCore.native.esm.js +56 -24
  317. package/dist/waasCore.native.esm.js.map +1 -1
  318. package/package.json +5 -5
  319. package/dist/getNetworkProviderFromNetworkId--X0cb1ad.native.esm.js.map +0 -1
  320. package/dist/getNetworkProviderFromNetworkId-CamHn2s3.esm.js.map +0 -1
  321. package/dist/getNetworkProviderFromNetworkId-igDf2OPy.cjs.map +0 -1
  322. package/dist/getWalletProviderByKey-Cl6WDOoD.native.esm.js.map +0 -1
  323. package/dist/getWalletProviderByKey-DzpmoNlv.cjs.map +0 -1
  324. package/dist/getWalletProviderByKey-xqyD3ybv.esm.js.map +0 -1
  325. package/dist/isDynamicWaasEnabled-CMccs1-6.cjs +0 -136
  326. package/dist/isDynamicWaasEnabled-CMccs1-6.cjs.map +0 -1
  327. package/dist/isDynamicWaasEnabled-DSqgpEcX.native.esm.js +0 -113
  328. package/dist/isDynamicWaasEnabled-DSqgpEcX.native.esm.js.map +0 -1
  329. package/dist/isDynamicWaasEnabled-DYORq7Jc.esm.js +0 -113
  330. package/dist/isDynamicWaasEnabled-DYORq7Jc.esm.js.map +0 -1
  331. package/dist/isMfaRequiredForAction-BcJvy7Gw.native.esm.js.map +0 -1
  332. package/dist/isMfaRequiredForAction-CatS60F6.esm.js.map +0 -1
  333. package/dist/isMfaRequiredForAction-DKfoMhEk.cjs.map +0 -1
  334. package/dist/isUserOnboardingComplete-BWVuE4Jg.native.esm.js.map +0 -1
  335. package/dist/isUserOnboardingComplete-jkAQQVdP.esm.js.map +0 -1
  336. package/dist/isUserOnboardingComplete-jv_idxWY.cjs.map +0 -1
  337. package/dist/migrateFromFireblocks-B-WUs34v.native.esm.js +0 -65
  338. package/dist/migrateFromFireblocks-B-WUs34v.native.esm.js.map +0 -1
  339. package/dist/migrateFromFireblocks-D4E9bT2H.esm.js +0 -65
  340. package/dist/migrateFromFireblocks-D4E9bT2H.esm.js.map +0 -1
  341. package/dist/migrateFromFireblocks-zp5Jbq2J.cjs +0 -82
  342. package/dist/migrateFromFireblocks-zp5Jbq2J.cjs.map +0 -1
  343. package/dist/updateAuthFromVerifyResponse-BLgNMqwN.esm.js.map +0 -1
  344. package/dist/updateAuthFromVerifyResponse-CTvWpZLa.native.esm.js.map +0 -1
  345. package/dist/updateAuthFromVerifyResponse-Dsw-eAro.cjs.map +0 -1
  346. package/dist/waas.cjs.map +0 -1
  347. package/dist/waas.esm.js.map +0 -1
  348. package/dist/waas.native.esm.js.map +0 -1
package/dist/core.cjs CHANGED
@@ -1,16 +1,16 @@
1
- const require_updateAuthFromVerifyResponse = require('./updateAuthFromVerifyResponse-Dsw-eAro.cjs');
2
- const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-igDf2OPy.cjs');
3
- const require_getWalletProviderByKey = require('./getWalletProviderByKey-DzpmoNlv.cjs');
4
- require('./isMfaRequiredForAction-DKfoMhEk.cjs');
5
- const require_getSignedSessionId = require('./getSignedSessionId-DGa_pu-i.cjs');
1
+ const require_logoutWithReason = require('./logoutWithReason-DlA15deT.cjs');
2
+ const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-BoNAPSjx.cjs');
3
+ const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-C2o5idph.cjs');
4
+ require('./isMfaRequiredForAction-yM84r7l7.cjs');
5
+ const require_getSignedSessionId = require('./getSignedSessionId-9ADIJCl1.cjs');
6
6
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
7
7
  let zod_mini = require("zod/mini");
8
- zod_mini = require_updateAuthFromVerifyResponse.__toESM(zod_mini);
8
+ zod_mini = require_logoutWithReason.__toESM(zod_mini);
9
9
  let eventemitter3 = require("eventemitter3");
10
- eventemitter3 = require_updateAuthFromVerifyResponse.__toESM(eventemitter3);
10
+ eventemitter3 = require_logoutWithReason.__toESM(eventemitter3);
11
11
 
12
12
  //#region src/errors/ArrayMustNotBeEmptyError.ts
13
- var ArrayMustNotBeEmptyError = class extends require_updateAuthFromVerifyResponse.BaseError {
13
+ var ArrayMustNotBeEmptyError = class extends require_logoutWithReason.BaseError {
14
14
  constructor(message) {
15
15
  super({
16
16
  cause: null,
@@ -24,7 +24,7 @@ var ArrayMustNotBeEmptyError = class extends require_updateAuthFromVerifyRespons
24
24
 
25
25
  //#endregion
26
26
  //#region src/errors/ClientsDoNotMatchError.ts
27
- var ClientsDoNotMatchError = class extends require_updateAuthFromVerifyResponse.BaseError {
27
+ var ClientsDoNotMatchError = class extends require_logoutWithReason.BaseError {
28
28
  constructor() {
29
29
  super({
30
30
  cause: null,
@@ -38,7 +38,7 @@ var ClientsDoNotMatchError = class extends require_updateAuthFromVerifyResponse.
38
38
 
39
39
  //#endregion
40
40
  //#region src/errors/MultipleClientsFoundError.ts
41
- var MultipleClientsFoundError = class extends require_updateAuthFromVerifyResponse.BaseError {
41
+ var MultipleClientsFoundError = class extends require_logoutWithReason.BaseError {
42
42
  constructor() {
43
43
  super({
44
44
  cause: null,
@@ -64,17 +64,17 @@ var MultipleClientsFoundError = class extends require_updateAuthFromVerifyRespon
64
64
  * @notInstrumented
65
65
  */
66
66
  const registerExtension = ({ extensionKey }, client) => {
67
- require_updateAuthFromVerifyResponse.getCore(client).extensions.add(extensionKey);
67
+ require_logoutWithReason.getCore(client).extensions.add(extensionKey);
68
68
  };
69
69
 
70
70
  //#endregion
71
71
  //#region src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts
72
72
  /** @notInstrumented */
73
73
  const waitForProjectSettings = async (client) => {
74
- const projectSettingsTracker = require_updateAuthFromVerifyResponse.getCore(client).initTrack.getTracker(require_getNetworkProviderFromNetworkId.FETCH_PROJECT_SETTINGS_TRACKER_KEY);
75
- require_updateAuthFromVerifyResponse.assertDefined(projectSettingsTracker, "Project settings tracker not found");
74
+ const projectSettingsTracker = require_logoutWithReason.getCore(client).initTrack.getTracker(require_getNetworkProviderFromNetworkId.FETCH_PROJECT_SETTINGS_TRACKER_KEY);
75
+ require_logoutWithReason.assertDefined(projectSettingsTracker, "Project settings tracker not found");
76
76
  await projectSettingsTracker.promise;
77
- require_updateAuthFromVerifyResponse.assertDefined(client.projectSettings, "Project settings still not available after awaiting its tracker");
77
+ require_logoutWithReason.assertDefined(client.projectSettings, "Project settings still not available after awaiting its tracker");
78
78
  return client.projectSettings;
79
79
  };
80
80
 
@@ -103,7 +103,7 @@ const getNetworkDataForNetworkId = ({ networkId, chain }, client) => {
103
103
 
104
104
  //#endregion
105
105
  //#region src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts
106
- const networkRegistryStorageKeySchema = require_updateAuthFromVerifyResponse.createStorageKeySchema({
106
+ const networkRegistryStorageKeySchema = require_logoutWithReason.createStorageKeySchema({
107
107
  key: "lastKnownNetworkRegistry",
108
108
  schema: zod_mini.record(zod_mini.string(), zod_mini.string())
109
109
  });
@@ -119,7 +119,7 @@ const networkRegistryStorageKeySchema = require_updateAuthFromVerifyResponse.cre
119
119
  * @notInstrumented
120
120
  */
121
121
  const createLastKnownNetworkRegistry = (client) => {
122
- const core = require_updateAuthFromVerifyResponse.getCore(client);
122
+ const core = require_logoutWithReason.getCore(client);
123
123
  const walletProviderKeyToNetworkId = /* @__PURE__ */ new Map();
124
124
  const getNetworkId = async ({ walletProviderKey }) => {
125
125
  if (walletProviderKeyToNetworkId.has(walletProviderKey)) return { networkId: walletProviderKeyToNetworkId.get(walletProviderKey) };
@@ -129,11 +129,11 @@ const createLastKnownNetworkRegistry = (client) => {
129
129
  walletProviderKeyToNetworkId.set(walletProviderKey, networkId);
130
130
  return { networkId };
131
131
  }
132
- const walletProvider = require_getWalletProviderByKey.getWalletProviderByKey({ walletProviderKey }, client);
132
+ const walletProvider = require_getVerifiedCredentialForWalletAccount.getWalletProviderByKey({ walletProviderKey }, client);
133
133
  const networkProviders = require_getNetworkProviderFromNetworkId.getNetworkProviders(client);
134
134
  if (networkProviders.length === 0) throw new require_getNetworkProviderFromNetworkId.NoNetworkProvidersError();
135
135
  const defaultNetworkProvider = networkProviders.find((networkProvider) => networkProvider.chain === walletProvider.chain);
136
- require_updateAuthFromVerifyResponse.assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
136
+ require_logoutWithReason.assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
137
137
  walletProviderKeyToNetworkId.set(walletProviderKey, defaultNetworkProvider.networkId);
138
138
  return { networkId: defaultNetworkProvider.networkId };
139
139
  };
@@ -149,7 +149,7 @@ const createLastKnownNetworkRegistry = (client) => {
149
149
 
150
150
  //#endregion
151
151
  //#region src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts
152
- const getLastKnownNetworkRegistry = require_updateAuthFromVerifyResponse.createRuntimeServiceAccessKey("last-known-network-registry", (client) => createLastKnownNetworkRegistry(client));
152
+ const getLastKnownNetworkRegistry = require_logoutWithReason.createRuntimeServiceAccessKey("last-known-network-registry", (client) => createLastKnownNetworkRegistry(client));
153
153
 
154
154
  //#endregion
155
155
  //#region src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts
@@ -231,15 +231,15 @@ const createWalletProviderEventEmitter = ({ removeEventListeners, setupEventList
231
231
  /** Value returned by setupEventListeners */
232
232
  let setupReturnValue;
233
233
  const handleAccountsChanged = (params) => {
234
- require_updateAuthFromVerifyResponse.assertDefined(eventEmitter, "Event emitter not defined");
234
+ require_logoutWithReason.assertDefined(eventEmitter, "Event emitter not defined");
235
235
  eventEmitter.emit("accountsChanged", params);
236
236
  };
237
237
  const handleDisconnected = () => {
238
- require_updateAuthFromVerifyResponse.assertDefined(eventEmitter, "Event emitter not defined");
238
+ require_logoutWithReason.assertDefined(eventEmitter, "Event emitter not defined");
239
239
  eventEmitter.emit("disconnected");
240
240
  };
241
241
  const handleNetworkChanged = (params) => {
242
- require_updateAuthFromVerifyResponse.assertDefined(eventEmitter, "Event emitter not defined");
242
+ require_logoutWithReason.assertDefined(eventEmitter, "Event emitter not defined");
243
243
  eventEmitter.emit("networkChanged", params);
244
244
  };
245
245
  const cleanupEventEmitter = () => {
@@ -311,6 +311,64 @@ const bufferToBase64 = (buf) => {
311
311
  return require_getNetworkProviderFromNetworkId.getBuffer().from(binstr, "binary").toString("base64");
312
312
  };
313
313
 
314
+ //#endregion
315
+ //#region src/utils/createSequenceQueue/createSequenceQueue.ts
316
+ /**
317
+ * Creates a queue function that runs every callback passed to it **one at a
318
+ * time, in FIFO order**, relative to every other call made through that same
319
+ * queue function for the same client:
320
+ *
321
+ * - Every queued call runs — this is NOT last-wins/coalescing (see
322
+ * `debouncedMutex` for that behavior instead).
323
+ * - A callback that rejects does not stall the queue: the next queued
324
+ * callback still runs.
325
+ * - Each caller receives its own callback's resolution or rejection,
326
+ * independent of other callers' outcomes.
327
+ * - Different clients never block each other, even through the same queue
328
+ * function.
329
+ *
330
+ * Useful for serializing read-modify-write cycles against a single piece of
331
+ * storage/state so concurrent callers can't race and silently lose an update.
332
+ *
333
+ * @example
334
+ * Without a queue, two concurrent callers incrementing a
335
+ * persisted counter can both read `0`, both write `1`, and lose an update:
336
+ * ```ts
337
+ * const incrementStoredCount = async (client: DynamicClient) => {
338
+ * const current = await storage.get('count'); // both callers read 0
339
+ * await storage.set('count', current + 1); // both callers write 1
340
+ * };
341
+ *
342
+ * await Promise.all([incrementStoredCount(client), incrementStoredCount(client)]);
343
+ * // storage.get('count') === 1, but two increments were requested
344
+ * ```
345
+ *
346
+ * Wrapping the same read-modify-write cycle in a queue forces the second
347
+ * call to wait for the first to finish, so it reads the value the first call
348
+ * just wrote:
349
+ * ```ts
350
+ * const queueCountWrite = createSequenceQueue();
351
+ *
352
+ * const incrementStoredCount = (client: DynamicClient) =>
353
+ * queueCountWrite(async () => {
354
+ * const current = await storage.get('count');
355
+ * await storage.set('count', current + 1);
356
+ * }, client);
357
+ *
358
+ * await Promise.all([incrementStoredCount(client), incrementStoredCount(client)]);
359
+ * // storage.get('count') === 2 — both increments are applied
360
+ * ```
361
+ * @notInstrumented
362
+ */
363
+ const createSequenceQueue = () => {
364
+ const queueTails = /* @__PURE__ */ new WeakMap();
365
+ return (callback, client) => {
366
+ const result = (queueTails.get(client) ?? Promise.resolve()).then(callback, callback);
367
+ queueTails.set(client, result.catch(() => void 0));
368
+ return result;
369
+ };
370
+ };
371
+
314
372
  //#endregion
315
373
  //#region src/utils/filterDuplicates/filterDuplicates.ts
316
374
  /**
@@ -346,7 +404,7 @@ const parseAmountToSmallestUnit = ({ amount, decimals }) => {
346
404
 
347
405
  //#endregion
348
406
  //#region src/errors/ReactNativeOnlyError.ts
349
- var ReactNativeOnlyError = class extends require_updateAuthFromVerifyResponse.BaseError {
407
+ var ReactNativeOnlyError = class extends require_logoutWithReason.BaseError {
350
408
  constructor({ apiName }) {
351
409
  super({
352
410
  cause: null,
@@ -413,68 +471,70 @@ const setScreenshotProtection = ({ enabled }) => {
413
471
 
414
472
  //#endregion
415
473
  //#region src/exports/core.ts
416
- (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_updateAuthFromVerifyResponse.name, require_updateAuthFromVerifyResponse.version);
474
+ (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_logoutWithReason.name, require_logoutWithReason.version);
417
475
 
418
476
  //#endregion
419
- exports.APIError = require_updateAuthFromVerifyResponse.APIError;
477
+ exports.APIError = require_logoutWithReason.APIError;
420
478
  exports.ArrayMustNotBeEmptyError = ArrayMustNotBeEmptyError;
421
- exports.CHAINS_INFO_MAP = require_updateAuthFromVerifyResponse.CHAINS_INFO_MAP;
479
+ exports.CHAINS_INFO_MAP = require_logoutWithReason.CHAINS_INFO_MAP;
422
480
  exports.CannotTrackError = require_getNetworkProviderFromNetworkId.CannotTrackError;
423
- exports.ClientNotFoundError = require_updateAuthFromVerifyResponse.ClientNotFoundError;
481
+ exports.ClientNotFoundError = require_logoutWithReason.ClientNotFoundError;
424
482
  exports.ClientsDoNotMatchError = ClientsDoNotMatchError;
425
483
  exports.CrossTabBroadcastMessageSchema = require_getNetworkProviderFromNetworkId.CrossTabBroadcastMessageSchema;
426
- exports.DYNAMIC_ICONIC_SPRITE_URL = require_updateAuthFromVerifyResponse.DYNAMIC_ICONIC_SPRITE_URL;
427
- exports.DYNAMIC_SDK_API_VERSION = require_updateAuthFromVerifyResponse.SDK_API_CORE_VERSION;
484
+ exports.DYNAMIC_ICONIC_SPRITE_URL = require_logoutWithReason.DYNAMIC_ICONIC_SPRITE_URL;
485
+ exports.DYNAMIC_SDK_API_VERSION = require_logoutWithReason.SDK_API_CORE_VERSION;
428
486
  exports.InvalidStorageSet = require_getNetworkProviderFromNetworkId.InvalidStorageSet;
429
- exports.InvalidWalletProviderKeyError = require_updateAuthFromVerifyResponse.InvalidWalletProviderKeyError;
487
+ exports.InvalidWalletProviderKeyError = require_logoutWithReason.InvalidWalletProviderKeyError;
430
488
  exports.MethodNotImplementedError = require_getNetworkProviderFromNetworkId.MethodNotImplementedError;
431
489
  exports.MultipleClientsFoundError = MultipleClientsFoundError;
432
- exports.NoWalletProviderFoundError = require_updateAuthFromVerifyResponse.NoWalletProviderFoundError;
490
+ exports.NoWalletProviderFoundError = require_logoutWithReason.NoWalletProviderFoundError;
433
491
  exports.UnsafeNavigationUrlError = require_getNetworkProviderFromNetworkId.UnsafeNavigationUrlError;
434
- exports.ValueMustBeDefinedError = require_updateAuthFromVerifyResponse.ValueMustBeDefinedError;
435
- exports.WalletProviderPriority = require_updateAuthFromVerifyResponse.WalletProviderPriority;
436
- exports.assertDefined = require_updateAuthFromVerifyResponse.assertDefined;
492
+ exports.ValueMustBeDefinedError = require_logoutWithReason.ValueMustBeDefinedError;
493
+ exports.WalletProviderPriority = require_logoutWithReason.WalletProviderPriority;
494
+ exports.assertDefined = require_logoutWithReason.assertDefined;
437
495
  exports.assertNonEmptyArray = assertNonEmptyArray;
438
496
  exports.assertSafeDeeplinkUrl = require_getNetworkProviderFromNetworkId.assertSafeDeeplinkUrl;
439
497
  exports.assertSafeNavigationUrl = require_getNetworkProviderFromNetworkId.assertSafeNavigationUrl;
440
498
  exports.bufferToBase64 = bufferToBase64;
441
499
  exports.consumeCaptchaToken = require_getNetworkProviderFromNetworkId.consumeCaptchaToken;
442
500
  exports.consumeMfaTokenIfRequiredForAction = require_getSignedSessionId.consumeMfaTokenIfRequiredForAction;
443
- exports.createApiClient = require_updateAuthFromVerifyResponse.createApiClient;
501
+ exports.createApiClient = require_logoutWithReason.createApiClient;
444
502
  exports.createAppForegroundSubscriber = require_getNetworkProviderFromNetworkId.createAppForegroundSubscriber;
445
503
  exports.createBaseNetworkProvider = createBaseNetworkProvider;
446
504
  exports.createCrossTabBroadcast = require_getNetworkProviderFromNetworkId.createCrossTabBroadcast;
447
505
  exports.createDeferredPromise = require_getNetworkProviderFromNetworkId.createDeferredPromise;
448
- exports.createDeviceSignatureHeadersMiddleware = require_updateAuthFromVerifyResponse.createDeviceSignatureHeadersMiddleware;
506
+ exports.createDeviceSignatureHeadersMiddleware = require_logoutWithReason.createDeviceSignatureHeadersMiddleware;
507
+ exports.createEventEmitter = require_getNetworkProviderFromNetworkId.createEventEmitter;
449
508
  exports.createKeychainService = require_getNetworkProviderFromNetworkId.createKeychainService;
450
509
  exports.createLocalStorageAdapter = require_getNetworkProviderFromNetworkId.createLocalStorageAdapter;
451
510
  exports.createLogger = require_getNetworkProviderFromNetworkId.createLogger;
452
511
  exports.createRealtimeChannelSchema = createRealtimeChannelSchema;
453
512
  exports.createRealtimeService = require_getNetworkProviderFromNetworkId.createRealtimeService;
454
- exports.createRuntimeServiceAccessKey = require_updateAuthFromVerifyResponse.createRuntimeServiceAccessKey;
513
+ exports.createRuntimeServiceAccessKey = require_logoutWithReason.createRuntimeServiceAccessKey;
514
+ exports.createSequenceQueue = createSequenceQueue;
455
515
  exports.createSignInMessageStatement = require_getNetworkProviderFromNetworkId.createSignInMessageStatement;
456
516
  exports.createStorage = require_getNetworkProviderFromNetworkId.createStorage;
457
- exports.createStorageKeySchema = require_updateAuthFromVerifyResponse.createStorageKeySchema;
517
+ exports.createStorageKeySchema = require_logoutWithReason.createStorageKeySchema;
458
518
  exports.createVisit = require_getNetworkProviderFromNetworkId.createVisit;
459
519
  exports.createWalletProviderEventEmitter = createWalletProviderEventEmitter;
460
- exports.emitEvent = require_updateAuthFromVerifyResponse.emitEvent;
461
- exports.emitWalletAccountsChangedEvent = require_updateAuthFromVerifyResponse.emitWalletAccountsChangedEvent;
520
+ exports.emitEvent = require_logoutWithReason.emitEvent;
521
+ exports.emitWalletAccountsChangedEvent = require_logoutWithReason.emitWalletAccountsChangedEvent;
462
522
  exports.filterDuplicates = filterDuplicates;
463
523
  exports.formatSignInMessage = require_getNetworkProviderFromNetworkId.formatSignInMessage;
464
- exports.formatWalletAccountId = require_updateAuthFromVerifyResponse.formatWalletAccountId;
524
+ exports.formatWalletAccountId = require_logoutWithReason.formatWalletAccountId;
465
525
  exports.formatWalletProviderGroupKey = formatWalletProviderGroupKey;
466
- exports.formatWalletProviderKey = require_updateAuthFromVerifyResponse.formatWalletProviderKey;
467
- exports.generateSessionKeys = require_updateAuthFromVerifyResponse.generateSessionKeys;
526
+ exports.formatWalletProviderKey = require_logoutWithReason.formatWalletProviderKey;
527
+ exports.generateSessionKeys = require_logoutWithReason.generateSessionKeys;
468
528
  exports.getActiveNetworkIdFromLastKnownRegistry = getActiveNetworkIdFromLastKnownRegistry;
469
529
  exports.getAllProvidersFromWindow = getAllProvidersFromWindow;
470
530
  exports.getAppMetadata = require_getNetworkProviderFromNetworkId.getAppMetadata;
471
531
  exports.getBuffer = require_getNetworkProviderFromNetworkId.getBuffer;
472
- exports.getChainFromVerifiedCredentialChain = require_updateAuthFromVerifyResponse.getChainFromVerifiedCredentialChain;
473
- exports.getCore = require_updateAuthFromVerifyResponse.getCore;
474
- exports.getDefaultClient = require_updateAuthFromVerifyResponse.getDefaultClient;
475
- exports.getDeviceSigner = require_updateAuthFromVerifyResponse.getDeviceSigner;
476
- exports.getElevatedAccessToken = require_updateAuthFromVerifyResponse.getElevatedAccessToken;
477
- exports.getHeadersForNonceSignedByDeviceSigners = require_updateAuthFromVerifyResponse.getHeadersForNonceSignedByDeviceSigners;
532
+ exports.getChainFromVerifiedCredentialChain = require_logoutWithReason.getChainFromVerifiedCredentialChain;
533
+ exports.getCore = require_logoutWithReason.getCore;
534
+ exports.getDefaultClient = require_logoutWithReason.getDefaultClient;
535
+ exports.getDeviceSigner = require_logoutWithReason.getDeviceSigner;
536
+ exports.getElevatedAccessToken = require_logoutWithReason.getElevatedAccessToken;
537
+ exports.getHeadersForNonceSignedByDeviceSigners = require_logoutWithReason.getHeadersForNonceSignedByDeviceSigners;
478
538
  exports.getInjectedProviderFromWindow = getInjectedProviderFromWindow;
479
539
  exports.getKeychainIndexedDBName = require_getNetworkProviderFromNetworkId.getKeychainIndexedDBName;
480
540
  exports.getLastKnownNetworkRegistry = getLastKnownNetworkRegistry;
@@ -483,31 +543,31 @@ exports.getNetworkDataForNetworkId = getNetworkDataForNetworkId;
483
543
  exports.getNetworkProviderBuilderRegistry = require_getNetworkProviderFromNetworkId.getNetworkProviderBuilderRegistry;
484
544
  exports.getNetworkProviderFromNetworkId = require_getNetworkProviderFromNetworkId.getNetworkProviderFromNetworkId;
485
545
  exports.getNetworkProviders = require_getNetworkProviderFromNetworkId.getNetworkProviders;
486
- exports.getNonce = require_updateAuthFromVerifyResponse.getNonce;
546
+ exports.getNonce = require_logoutWithReason.getNonce;
487
547
  exports.getReactNativeManifest = getReactNativeManifest;
488
- exports.getSessionKeys = require_updateAuthFromVerifyResponse.getSessionKeys;
548
+ exports.getSessionKeys = require_logoutWithReason.getSessionKeys;
489
549
  exports.getSignedSessionId = require_getSignedSessionId.getSignedSessionId;
490
- exports.getVerifiedCredentialForWalletAccount = require_getWalletProviderByKey.getVerifiedCredentialForWalletAccount;
491
- exports.getWalletProviderFromWalletAccount = require_updateAuthFromVerifyResponse.getWalletProviderFromWalletAccount;
492
- exports.getWalletProviderRegistry = require_updateAuthFromVerifyResponse.getWalletProviderRegistry;
493
- exports.getWalletProviders = require_updateAuthFromVerifyResponse.getWalletProviders;
550
+ exports.getVerifiedCredentialForWalletAccount = require_getVerifiedCredentialForWalletAccount.getVerifiedCredentialForWalletAccount;
551
+ exports.getWalletProviderFromWalletAccount = require_logoutWithReason.getWalletProviderFromWalletAccount;
552
+ exports.getWalletProviderRegistry = require_logoutWithReason.getWalletProviderRegistry;
553
+ exports.getWalletProviders = require_logoutWithReason.getWalletProviders;
494
554
  exports.hasExtension = require_getNetworkProviderFromNetworkId.hasExtension;
495
- exports.isCookieEnabled = require_updateAuthFromVerifyResponse.isCookieEnabled;
555
+ exports.isCookieEnabled = require_logoutWithReason.isCookieEnabled;
496
556
  exports.isServerSideRendering = require_getNetworkProviderFromNetworkId.isServerSideRendering;
497
- exports.logoutWithReason = require_updateAuthFromVerifyResponse.__logoutWithReason_wrapped;
498
- exports.normalizeWalletNameWithChain = require_updateAuthFromVerifyResponse.normalizeWalletNameWithChain;
557
+ exports.logoutWithReason = require_logoutWithReason.__logoutWithReason_wrapped;
558
+ exports.normalizeWalletNameWithChain = require_logoutWithReason.normalizeWalletNameWithChain;
499
559
  exports.parseAmountToSmallestUnit = parseAmountToSmallestUnit;
500
- exports.randomString = require_updateAuthFromVerifyResponse.randomString;
560
+ exports.randomString = require_logoutWithReason.randomString;
501
561
  exports.reconcileWalletAccountsAgainstClient = require_getNetworkProviderFromNetworkId.reconcileWalletAccountsAgainstClient;
502
562
  exports.registerExtension = registerExtension;
503
563
  exports.removeUnverifiedWalletAccount = require_getNetworkProviderFromNetworkId.removeUnverifiedWalletAccount;
504
564
  exports.setCaptchaToken = require_getNetworkProviderFromNetworkId.__setCaptchaToken_wrapped;
505
565
  exports.setScreenshotProtection = setScreenshotProtection;
506
566
  exports.setUnverifiedWalletAccounts = require_getNetworkProviderFromNetworkId.setUnverifiedWalletAccounts;
507
- exports.splitWalletProviderKey = require_updateAuthFromVerifyResponse.splitWalletProviderKey;
567
+ exports.splitWalletProviderKey = require_logoutWithReason.splitWalletProviderKey;
508
568
  exports.subscribeWithSelector = require_getNetworkProviderFromNetworkId.subscribeWithSelector;
509
569
  exports.switchActiveNetworkInLastKnownRegistry = switchActiveNetworkInLastKnownRegistry;
510
- exports.updateAuthFromVerifyResponse = require_updateAuthFromVerifyResponse.updateAuthFromVerifyResponse;
570
+ exports.updateAuthFromVerifyResponse = require_logoutWithReason.updateAuthFromVerifyResponse;
511
571
  exports.updateWalletProviderKeysForVerifiedCredentials = require_getNetworkProviderFromNetworkId.updateWalletProviderKeysForVerifiedCredentials;
512
572
  exports.verifyMessageSignatureOwnership = require_getNetworkProviderFromNetworkId.verifyMessageSignatureOwnership;
513
573
  exports.waitForProjectSettings = waitForProjectSettings;
package/dist/core.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs","names":["BaseError","BaseError","BaseError","getCore","getCore","FETCH_PROJECT_SETTINGS_TRACKER_KEY","getNetworksData","createStorageKeySchema","z","getCore","getNetworkId: LastKnownNetworkRegistry['getNetworkId']","getWalletProviderByKey","getNetworkProviders","NoNetworkProvidersError","setNetworkId: LastKnownNetworkRegistry['setNetworkId']","createRuntimeServiceAccessKey","target: unknown","providers: T[]","target: unknown","getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry","switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry","eventEmitter: EventEmitter<WalletProviderEvents> | undefined","setupReturnValue: R","EventEmitter","getBuffer","BaseError","packageName","packageVersion"],"sources":["../src/errors/ArrayMustNotBeEmptyError.ts","../src/errors/ClientsDoNotMatchError.ts","../src/errors/MultipleClientsFoundError.ts","../src/modules/extension/registerExtension/registerExtension.ts","../src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts","../src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts","../src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts","../src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts","../src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts","../src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts","../src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts","../src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts","../src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts","../src/services/realtime/createRealtimeChannelSchema/createRealtimeChannelSchema.ts","../src/utils/assertNonEmptyArray/assertNonEmptyArray.ts","../src/utils/bufferToBase64/bufferToBase64.ts","../src/utils/filterDuplicates/filterDuplicates.ts","../src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts","../src/errors/ReactNativeOnlyError.ts","../src/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.ts","../src/utils/getNativeLinkScheme/getNativeLinkScheme.ts","../src/modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.ts","../src/exports/core.ts"],"sourcesContent":["import { BaseError } from './base';\n\nexport class ArrayMustNotBeEmptyError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(message: string) {\n super({\n cause: null,\n code: 'array_must_not_be_empty_error',\n docsUrl: null,\n name: 'ArrayMustNotBeEmpty',\n shortMessage: message,\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class ClientsDoNotMatchError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'clients_do_not_match_error',\n docsUrl: null,\n name: 'ClientsDoNotMatchError',\n shortMessage: 'Clients do not match',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class MultipleClientsFoundError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'multiple_clients_found_error',\n docsUrl: null,\n name: 'MultipleClientsFoundError',\n shortMessage:\n 'Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly',\n });\n }\n}\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\n\ntype RegisterExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Registers an extension to the client.\n *\n * Other extensions can be aware of which extensions are present,\n * and allows creating dependencies between extensions.\n *\n * @param client - The client instance.\n * @param extensionKey - The key of the extension to register.\n * @returns The client instance.\n * @notInstrumented\n */\nexport const registerExtension = (\n { extensionKey }: RegisterExtensionParams,\n client: DynamicClient\n): void => {\n const core = getCore(client);\n\n core.extensions.add(extensionKey);\n};\n","import type { ProjectSettings } from '@dynamic-labs/sdk-api-core';\n\nimport { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { FETCH_PROJECT_SETTINGS_TRACKER_KEY } from '../consts';\n\n/** @notInstrumented */\nexport const waitForProjectSettings = async (\n client: DynamicClient\n): Promise<ProjectSettings> => {\n const core = getCore(client);\n\n const projectSettingsTracker = core.initTrack.getTracker<void>(\n FETCH_PROJECT_SETTINGS_TRACKER_KEY\n );\n\n assertDefined(projectSettingsTracker, 'Project settings tracker not found');\n\n await projectSettingsTracker.promise;\n\n assertDefined(\n client.projectSettings,\n 'Project settings still not available after awaiting its tracker'\n );\n\n return client.projectSettings;\n};\n","import type { Chain } from '../../../chain';\nimport type {\n BaseNetworkProvider,\n NetworkData,\n} from '../networkProvider/networkProvider.types';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const createBaseNetworkProvider = <TChain extends Chain = Chain>(\n chain: TChain,\n networkData: NetworkData\n): Omit<BaseNetworkProvider<TChain>, 'getBalance'> => ({\n blockExplorerUrls: networkData.blockExplorerUrls,\n chain,\n displayName: networkData.displayName,\n iconUrl: networkData.iconUrl,\n id: `${chain}-${networkData.networkId}`,\n name: networkData.name,\n nativeCurrency: networkData.nativeCurrency,\n networkId: networkData.networkId,\n rpcUrls: networkData.rpcUrls,\n testnet: networkData.testnet,\n});\n","import type { DynamicClient } from '../../../../client/types';\nimport type { Chain } from '../../../chain';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkDataForNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @notInstrumented */\nexport const getNetworkDataForNetworkId = (\n { networkId, chain }: GetNetworkDataForNetworkIdProps,\n client: DynamicClient\n): NetworkData | undefined => {\n const networksData = getNetworksData(client);\n\n const networkData = networksData.find(\n (networkData) =>\n networkData.networkId === networkId && networkData.chain === chain\n );\n\n return networkData;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../../../services/storage';\n\nexport const networkRegistryStorageKeySchema = createStorageKeySchema({\n key: 'lastKnownNetworkRegistry',\n schema: z.record(z.string(), z.string()),\n});\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport { getWalletProviderByKey } from '../../../getWalletProviderByKey';\nimport { getNetworkProviders } from '../../getNetworkProviders';\nimport type { LastKnownNetworkRegistry } from '../LastKnownNetworkRegistry.types';\nimport { networkRegistryStorageKeySchema } from './schema';\n\n/**\n * Creates the registry that keeps tabs on which wallet provider is\n * connected to which network.\n *\n * Reminder that this will not be used for chains that have an internal way to\n * switch networks (ex EVM).\n * @notInstrumented\n */\nexport const createLastKnownNetworkRegistry = (\n client: DynamicClient\n): LastKnownNetworkRegistry => {\n const core = getCore(client);\n\n const walletProviderKeyToNetworkId = new Map<string, string>();\n\n const getNetworkId: LastKnownNetworkRegistry['getNetworkId'] = async ({\n walletProviderKey,\n }) => {\n // Priorities:\n // 1. In memory\n // 2. Storage\n // 3. First available network for this wallet's chain\n\n if (walletProviderKeyToNetworkId.has(walletProviderKey)) {\n return {\n networkId: walletProviderKeyToNetworkId.get(\n walletProviderKey\n ) as string,\n };\n }\n\n const storageRecords = await core.storage.getItem(\n networkRegistryStorageKeySchema\n );\n\n if (storageRecords && storageRecords[walletProviderKey]) {\n const networkId = storageRecords[walletProviderKey];\n\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n return { networkId };\n }\n\n const walletProvider = getWalletProviderByKey(\n { walletProviderKey },\n client\n );\n\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const defaultNetworkProvider = networkProviders.find(\n (networkProvider) => networkProvider.chain === walletProvider.chain\n );\n\n assertDefined(\n defaultNetworkProvider,\n `No networks found for chain ${walletProvider.chain}`\n );\n\n walletProviderKeyToNetworkId.set(\n walletProviderKey,\n defaultNetworkProvider.networkId\n );\n\n // No need to set in storage, as we're just falling back to the default\n return { networkId: defaultNetworkProvider.networkId };\n };\n\n const setNetworkId: LastKnownNetworkRegistry['setNetworkId'] = async ({\n networkId,\n walletProviderKey,\n }) => {\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n await core.storage.setItem(\n networkRegistryStorageKeySchema,\n Object.fromEntries(walletProviderKeyToNetworkId.entries())\n );\n };\n\n return { getNetworkId, setNetworkId };\n};\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createLastKnownNetworkRegistry } from '../createLastKnownNetworkRegistry';\n\nexport const getLastKnownNetworkRegistry = createRuntimeServiceAccessKey(\n 'last-known-network-registry',\n (client) => createLastKnownNetworkRegistry(client)\n);\n","/** @notInstrumented */\nexport const formatWalletProviderGroupKey = (walletName: string): string =>\n walletName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n","/* eslint-disable no-restricted-globals */\n\n/**\n * Retrieves all providers from a window path.\n *\n * Unlike getInjectedProviderFromWindow which returns only the first provider,\n * this function returns ALL providers found at the path, including those\n * in a .providers array if present.\n *\n * This is particularly useful for detecting wallet providers in wallet app\n * in-app browsers, where wallets inject their provider into the window object.\n *\n * @param path - Dot-separated path to traverse (e.g., \"ethereum\")\n * @returns Array of all providers found, or empty array if none\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getAllProvidersFromWindow = <T = unknown>(path: string): T[] => {\n if (typeof window === 'undefined') {\n return [];\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return [];\n }\n\n if (Array.isArray(target)) {\n return target as T[];\n }\n\n const providers: T[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n // If target has a .providers array, return all providers from it\n if (providersArray && Array.isArray(providersArray)) {\n providers.push(...(providersArray as T[]));\n }\n\n // Always include the target itself as a provider (if it's not just a container)\n // This handles the case where window.ethereum is both a provider AND has a providers array\n providers.push(target as T);\n\n return providers;\n};\n","/* eslint-disable no-restricted-globals */\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getInjectedProviderFromWindow = <T = unknown>(\n path: string\n): T | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return null;\n }\n\n if (Array.isArray(target)) {\n return target.length > 0 ? (target[0] as T) : null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n if (providersArray && Array.isArray(providersArray)) {\n return providersArray.length > 0 ? (providersArray[0] as T) : null;\n }\n\n return target as T;\n};\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype GetActiveNetworkIdFromLastKnownRegistry = (args: {\n client: DynamicClient;\n walletProviderKey: string;\n}) => ReturnType<WalletProvider['getActiveNetworkId']>;\n\n/** @notInstrumented */\nexport const getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry =\n async ({ client, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n return networkRegistry.getNetworkId({ walletProviderKey });\n };\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype SwitchActiveNetworkInLastKnownRegistry = (args: {\n client: DynamicClient;\n networkId: string;\n walletProviderKey: string;\n}) => ReturnType<NonNullable<WalletProvider['switchActiveNetwork']>>;\n\n/** @notInstrumented */\nexport const switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry =\n async ({ client, networkId, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n await networkRegistry.setNetworkId({\n networkId,\n walletProviderKey,\n });\n };\n","import EventEmitter from 'eventemitter3';\n\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport type { WalletProvider } from '../../walletProvider.types';\nimport type { WalletProviderEvents } from '../walletProviderEvents.types';\n\ntype CreateWalletProviderEventEmitterParams<R = void> = {\n /**\n * Callback responsible for removing the listeners from the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n * @notInstrumented\n */\n removeEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n /**\n * Value returned by setupEventListeners, particularly useful for cleaning up the event listeners\n */\n setupReturnValue: R;\n }) => void;\n /**\n * Callback responsible for connecting the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n *\n * @returns May return a value that will be later passed to removeEventListeners as `setupReturnValue`\n */\n setupEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n }) => R;\n /**\n * List of events that the wallet provider supports listening to.\n * Defaults to all events.\n */\n supportedEvents?: (keyof WalletProviderEvents)[];\n};\n\nexport type WalletProviderEventEmitter = {\n cleanupEventEmitter: () => void;\n getEventEmitter: () => WalletProvider['events'];\n};\n\n/**\n * Takes a callback that registers handlers for the external wallet provider.\n * Returns both a getter of an eventEmitter that can be exposed via the wallet provider\n * and a callback that will be used to destroy the listeners.\n * @notInstrumented\n */\nexport const createWalletProviderEventEmitter = <R = void>({\n removeEventListeners,\n setupEventListeners,\n supportedEvents = ['accountsChanged', 'disconnected', 'networkChanged'],\n}: CreateWalletProviderEventEmitterParams<R>): WalletProviderEventEmitter => {\n let eventEmitter: EventEmitter<WalletProviderEvents> | undefined;\n\n /** Value returned by setupEventListeners */\n let setupReturnValue: R;\n\n const handleAccountsChanged = (params: { addresses: string[] }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('accountsChanged', params);\n };\n\n const handleDisconnected = () => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('disconnected');\n };\n\n const handleNetworkChanged = (params: { networkId: string }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('networkChanged', params);\n };\n\n const cleanupEventEmitter = () => {\n if (!eventEmitter) {\n return;\n }\n\n removeEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n setupReturnValue,\n });\n\n eventEmitter = undefined;\n };\n\n const getEventEmitter = (): WalletProvider['events'] => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter<WalletProviderEvents>();\n\n setupReturnValue = setupEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n });\n }\n\n return Object.assign(eventEmitter, { supportedEvents });\n };\n\n return {\n cleanupEventEmitter,\n getEventEmitter,\n };\n};\n","import type * as z from 'zod/mini';\n\nimport type { RealtimeChannelSchema } from '../realtime.types';\n\n/**\n * Defines a typed schema for a realtime channel — analogous to `createStorageKeySchema`\n * for storage. Pairs a channel name with a Zod schema that validates the shape of\n * messages sent and received on that channel. Pass the result to the realtime service's\n * `subscribe` / `unsubscribe` / `publish` methods to get end-to-end type safety.\n * @notInstrumented\n */\nexport const createRealtimeChannelSchema = <T>(params: {\n channel: string;\n schema: z.ZodMiniType<T>;\n}): RealtimeChannelSchema<T> => params;\n","/* eslint-disable func-style -- javascript requires this to be a function */\n\nimport { ArrayMustNotBeEmptyError } from './../../errors/ArrayMustNotBeEmptyError';\n\n/**\n * Asserts that a value is a non-empty array, throwing an error if it is null,\n * undefined, or has zero elements. This function acts as a type guard,\n * narrowing the type to a tuple of at least one element.\n *\n * @template T - The element type of the array being checked\n * @param value - The array (or possibly null/undefined value) to check\n * @param message - The error message to throw if the value is empty or missing\n * @throws Throws an error with the provided message if value is null, undefined, or empty\n * @example\n * ```typescript\n * const maybeNetworks: Network[] | undefined = getNetworks();\n * assertNonEmptyArray(maybeNetworks, 'At least one network is required');\n * // maybeNetworks is now typed as [Network, ...Network[]]\n * const first = maybeNetworks[0]; // safely accessible without `| undefined`\n * ```\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport function assertNonEmptyArray<T>(\n value: T[] | null | undefined,\n message: string\n): asserts value is [T, ...T[]] {\n if (!value || value.length === 0) {\n throw new ArrayMustNotBeEmptyError(message);\n }\n}\n","import { getBuffer } from \"../getBuffer\";\n\n/** @notInstrumented */\nexport const bufferToBase64 = (buf: Uint8Array): string => {\n const binstr = Array.prototype.map\n .call(buf, (ch: number) => String.fromCharCode(ch))\n .join('');\n return getBuffer().from(binstr, 'binary').toString('base64');\n};\n","/**\n * Filter duplicates from an array by equality.\n * Uses a Set internally.\n * @notInstrumented\n */\nexport const filterDuplicates = <T>(array: T[]): T[] =>\n Array.from(new Set(array));\n","type ParseAmountToSmallestUnitParams = {\n amount: string;\n decimals: number;\n};\n\n/**\n * Converts a human-readable decimal amount string to the smallest unit\n * representation as a bigint, using string-based arithmetic to avoid\n * floating-point precision loss.\n *\n * @example\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)\n * parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)\n * parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)\n *\n * @param params.amount - The amount as a decimal string (e.g. \"1.5\").\n * @param params.decimals - The number of decimal places for the token.\n * @returns The amount in smallest units as a bigint.\n * @notInstrumented\n */\nexport const parseAmountToSmallestUnit = ({\n amount,\n decimals,\n}: ParseAmountToSmallestUnitParams): bigint => {\n const [whole = '0', fraction = ''] = amount.split('.');\n const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);\n return BigInt(whole + paddedFraction);\n};\n","import { BaseError } from './base';\n\ntype ReactNativeOnlyErrorParams = {\n apiName: string;\n};\n\nexport class ReactNativeOnlyError extends BaseError {\n constructor({ apiName }: ReactNativeOnlyErrorParams) {\n super({\n cause: null,\n code: 'react_native_only_error',\n docsUrl: null,\n name: 'ReactNativeOnlyError',\n shortMessage: `${apiName} is only available in React Native environments.`,\n });\n }\n}\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { ReactNativeManifest } from '../nativeManifest.types';\n\n/**\n * Returns the React Native manifest containing native SDK metadata.\n *\n * This function is only available in React Native environments.\n * On web, it throws a `ReactNativeOnlyError`.\n *\n * @notInstrumented\n */\nexport const getReactNativeManifest = (): ReactNativeManifest => {\n throw new ReactNativeOnlyError({ apiName: 'getReactNativeManifest' });\n};\n","const SCHEME_SEPARATOR = '://';\n\n/** Parameters for {@link getNativeLinkScheme}. */\nexport type GetNativeLinkSchemeParams = {\n /** A native link, e.g. `myapp://wallet/connect`. */\n nativeLink: string | undefined;\n};\n\n/**\n * Reduces a native link to just its URL scheme (e.g.\n * `myapp://wallet/connect` -> `myapp://`), dropping anything after the scheme\n * separator. A native link may be configured with an in-app route, but a\n * consumer that only needs to deep link back into the app (rather than a\n * specific route) should use the scheme alone. Links without a scheme\n * separator are returned unchanged (they cannot carry a route), and\n * `undefined` passes through.\n *\n * @notInstrumented\n */\nexport const getNativeLinkScheme = ({\n nativeLink,\n}: GetNativeLinkSchemeParams): string | undefined => {\n if (nativeLink === undefined) {\n return undefined;\n }\n\n const schemeSeparatorIndex = nativeLink.indexOf(SCHEME_SEPARATOR);\n\n if (schemeSeparatorIndex === -1) {\n return nativeLink;\n }\n\n return nativeLink.slice(0, schemeSeparatorIndex + SCHEME_SEPARATOR.length);\n};\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { SetScreenshotProtectionParams } from './setScreenshotProtection.types';\n\n/**\n * Web/desktop counterpart of the React Native `setScreenshotProtection` (see\n * `setScreenshotProtection.native.ts`).\n *\n * Screenshot/recording protection is a native window-level capability with no\n * web equivalent. Rather than silently no-op (which would let a desktop caller\n * believe content is protected when it is not), this throws a\n * `ReactNativeOnlyError` so an accidental web/desktop call is loud — the API is\n * intentionally React-Native-only.\n *\n * @notInstrumented\n */\nexport const setScreenshotProtection = ({\n // Destructured to keep an identical signature to the native implementation\n // for the platform-type parity check; unused because this always throws.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n enabled,\n}: SetScreenshotProtectionParams): void => {\n throw new ReactNativeOnlyError({ apiName: 'setScreenshotProtection' });\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building Dynamic SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { createAppForegroundSubscriber } from '../services/appForeground/createAppForegroundSubscriber';\n/** @category Extension Development */\nexport { getCore } from '../client/core/getCore';\n/** @category Extension Development */\nexport type { DynamicCore, DynamicCoreState } from '../client/core/types';\n/** @category Extension Development */\nexport { getDefaultClient } from '../client/defaultClient';\n/** @category Extension Development */\nexport { APIError } from '../errors/APIError';\n/** @category Extension Development */\nexport { ArrayMustNotBeEmptyError } from '../errors/ArrayMustNotBeEmptyError';\n/** @category Extension Development */\nexport { CannotTrackError } from '../errors/CannotTrackError';\n/** @category Extension Development */\nexport { ClientNotFoundError } from '../errors/ClientNotFoundError';\n/** @category Extension Development */\nexport { ClientsDoNotMatchError } from '../errors/ClientsDoNotMatchError';\n/** @category Extension Development */\nexport { InvalidStorageSet } from '../errors/InvalidStorageSet';\n/** @category Extension Development */\nexport { InvalidWalletProviderKeyError } from '../errors/InvalidWalletProviderKeyError';\n/** @category Extension Development */\nexport { MethodNotImplementedError } from '../errors/MethodNotImplementedError';\n/** @category Extension Development */\nexport { MultipleClientsFoundError } from '../errors/MultipleClientsFoundError';\n/** @category Extension Development */\nexport { NoWalletProviderFoundError } from '../errors/NoWalletProviderFoundError';\n/** @category Extension Development */\nexport { ValueMustBeDefinedError } from '../errors/ValueMustBeDefinedError';\n/** @category Extension Development */\nexport { createApiClient, DYNAMIC_SDK_API_VERSION } from '../modules/apiClient';\n/** @category Extension Development */\nexport { createVisit } from '../modules/auth/createVisit';\n/** @category Extension Development */\nexport { logoutWithReason } from '../modules/auth/logoutWithReason';\n/** @category Extension Development */\nexport { updateAuthFromVerifyResponse } from '../modules/auth/updateAuthFromVerifyResponse';\n/** @category Extension Development */\nexport { consumeCaptchaToken } from '../modules/captcha/consumeCaptchaToken';\n/** @category Extension Development */\nexport { setCaptchaToken } from '../modules/captcha/setCaptchaToken';\n/** @category Extension Development */\nexport { emitEvent } from '../modules/clientEvents';\n/** @category Extension Development */\nexport { hasExtension } from '../modules/extension/hasExtension';\n/** @category Extension Development */\nexport { registerExtension } from '../modules/extension/registerExtension';\n/** @category Extension Development */\nexport { waitForProjectSettings } from '../modules/initializeClient/waitForProjectSettings';\n/** @category Extension Development */\nexport { getElevatedAccessToken } from '../modules/auth/getElevatedAccessToken';\n/** @category Extension Development */\nexport { consumeMfaTokenIfRequiredForAction } from '../modules/mfa/consumeMfaTokenIfRequiredForAction';\n/** @category Extension Development */\nexport { isCookieEnabled } from '../modules/projectSettings/isCookieEnabled';\n/** @category Extension Development */\nexport { generateSessionKeys } from '../modules/sessionKeys/generateSessionKeys/generateSessionKeys';\n/** @category Extension Development */\nexport { getSessionKeys } from '../modules/sessionKeys/getSessionKeys';\n/** @category Extension Development */\nexport { getSignedSessionId } from '../modules/sessionKeys/getSignedSessionId';\n/** @category Extension Development */\nexport type { SessionKeys } from '../modules/sessionKeys/sessionKeys.types';\n/** @category Extension Development */\nexport { CHAINS_INFO_MAP } from '../modules/wallets/constants';\n/** @category Extension Development */\nexport { emitWalletAccountsChangedEvent } from '../modules/wallets/emitWalletAccountsChangedEvent';\n/** @category Extension Development */\nexport { getWalletProviders } from '../modules/wallets/getWalletProviders';\n/** @category Extension Development */\nexport { createBaseNetworkProvider } from '../modules/wallets/networks/createBaseNetworkProvider';\n/** @category Extension Development */\nexport { getNetworkDataForNetworkId } from '../modules/wallets/networks/getNetworkDataForNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviderFromNetworkId } from '../modules/wallets/networks/getNetworkProviderFromNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviders } from '../modules/wallets/networks/getNetworkProviders';\n/** @category Extension Development */\nexport { getLastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry';\n/** @category Extension Development */\nexport type { LastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/LastKnownNetworkRegistry.types';\n/** @category Extension Development */\nexport type { BaseNetworkProvider } from '../modules/wallets/networks/networkProvider/networkProvider.types';\n/** @category Extension Development */\nexport {\n getNetworkProviderBuilderRegistry,\n type NetworkProviderBuilder,\n type NetworkProviderBuilderRegistry,\n} from '../modules/wallets/networks/networkProviderBuilderRegistry';\n/** @category Extension Development */\nexport { reconcileWalletAccountsAgainstClient } from '../modules/wallets/reconcileWalletAccountsAgainstClient';\n/** @category Extension Development */\nexport { removeUnverifiedWalletAccount } from '../modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount';\nexport { setUnverifiedWalletAccounts } from '../modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts';\n/** @category Extension Development */\nexport { formatSignInMessage } from '../modules/wallets/utils/formatSignInMessage';\n/** @category Extension Development */\nexport { formatWalletAccountId } from '../modules/wallets/utils/formatWalletAccountId';\n/** @category Extension Development */\nexport { formatWalletProviderGroupKey } from '../modules/wallets/utils/formatWalletProviderGroupKey';\n/** @category Extension Development */\nexport { formatWalletProviderKey } from '../modules/wallets/utils/formatWalletProviderKey';\n/** @category Extension Development */\nexport { getAllProvidersFromWindow } from '../modules/wallets/utils/getAllProvidersFromWindow';\n/** @category Extension Development */\nexport { getInjectedProviderFromWindow } from '../modules/wallets/utils/getInjectedProviderFromWindow';\n/** @category Extension Development */\nexport { getVerifiedCredentialForWalletAccount } from '../modules/wallets/utils/getVerifiedCredentialForWalletAccount';\n/** @category Extension Development */\nexport { getWalletProviderFromWalletAccount } from '../modules/wallets/utils/getWalletProviderFromWalletAccount';\n/** @category Extension Development */\nexport { normalizeWalletNameWithChain } from '../modules/wallets/utils/normalizeWalletNameWithChain';\n/** @category Extension Development */\nexport { verifyMessageSignatureOwnership } from '../modules/wallets/verifyMessageSignatureOwnership';\n/** @category Extension Development */\nexport type { BaseWalletAccount } from '../modules/wallets/walletAccount';\n/** @category Extension Development */\nexport type {\n ConfirmTransactionParams,\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n ExecuteYieldTransactionParams,\n ExecuteYieldTransactionResult,\n TransferAmountParams,\n WalletProvider,\n WalletProviderConnectAddress,\n} from '../modules/wallets/walletProvider';\n/** @category Extension Development */\nexport { getActiveNetworkIdFromLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry';\n/** @category Extension Development */\nexport { switchActiveNetworkInLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry';\n/** @category Extension Development */\nexport { createWalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\nexport type { WalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\n/** @category Extension Development */\nexport { splitWalletProviderKey } from '../modules/wallets/walletProvider/splitWalletProviderKey';\n/** @category Extension Development */\nexport {\n getWalletProviderRegistry,\n WalletProviderPriority,\n} from '../modules/wallets/walletProviderRegistry';\n/** @category Extension Development */\nexport type {\n AsyncProcessEntry,\n AsyncProcessStatus,\n AsyncTrack,\n AsyncTrackEmitter,\n} from '../services/asyncTrack/asyncTrack.types';\n/** @category Extension Development */\nexport { createCrossTabBroadcast } from '../services/crossTabBroadcast/createCrossTabBroadcast';\n/** @category Extension Development */\nexport type {\n CrossTabBroadcast,\n CrossTabBroadcastMessage,\n} from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { CrossTabBroadcastMessageSchema } from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { createRealtimeChannelSchema } from '../services/realtime/createRealtimeChannelSchema';\n/** @category Extension Development */\nexport { createRealtimeService } from '../services/realtime/createRealtimeService';\n/** @category Extension Development */\nexport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeService,\n} from '../services/realtime';\n/** @category Extension Development */\nexport { createLogger } from '../services/logger/createLogger';\n/** @category Extension Development */\nexport type { Logger, LogLevel } from '../services/logger/logger.types';\n/** @category Extension Development */\nexport { createKeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { KeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { PasskeyService } from '../services/passkey';\n/** @category Extension Development */\nexport {\n createRuntimeServiceAccessKey,\n type RuntimeServices,\n} from '../services/runtimeServices';\n/** @category Extension Development */\nexport {\n createLocalStorageAdapter,\n createStorage,\n createStorageKeySchema,\n type Storage,\n type StorageAdapter,\n type StorageAdapterOptions,\n type StorageKeySchema,\n type StorageKeySchemaConfig,\n type StorageTier,\n} from '../services/storage';\n/** @category Extension Development */\nexport type { ExtendParameters } from '../types/ExtendParameters';\n/** @category Extension Development */\nexport { assertDefined } from '../utils/assertDefined';\n/** @category Extension Development */\nexport { assertSafeNavigationUrl } from '../utils/assertSafeNavigationUrl';\n/** @category Extension Development */\nexport { UnsafeNavigationUrlError } from '../errors/UnsafeNavigationUrlError';\n/** @category Extension Development */\nexport { assertNonEmptyArray } from '../utils/assertNonEmptyArray';\n/** @category Extension Development */\nexport { bufferToBase64 } from '../utils/bufferToBase64';\n/** @category Extension Development */\nexport type { DebouncedMutex } from '../utils/debouncedMutex/debouncedMutex.types';\n/** @category Extension Development */\nexport { filterDuplicates } from '../utils/filterDuplicates';\n/** @category Extension Development */\nexport { getBuffer } from '../utils/getBuffer';\n/** @category Extension Development */\nexport { getChainFromVerifiedCredentialChain } from '../utils/getChainFromVerifiedCredentialChain';\n/** @category Extension Development */\nexport { getKeychainIndexedDBName } from '../utils/getKeychainIndexedDBName';\n/** @category Extension Development */\nexport { getNonce } from '../utils/getNonce';\n/** @category Extension Development */\nexport { isServerSideRendering } from '../utils/isServerSideRendering';\n/** @category Extension Development */\nexport { parseAmountToSmallestUnit } from '../utils/parseAmountToSmallestUnit';\n/** @category Extension Development */\nexport type { ObservableState } from '../utils/observable/observable.types';\n/** @category Extension Development */\nexport { createSignInMessageStatement } from '../modules/wallets/utils/getSignInMessage/createSignInMessageStatement';\n/** @category Extension Development */\nexport { subscribeWithSelector } from '../utils/observable/subscribeWithSelector';\n/** @category Extension Development */\nexport { updateWalletProviderKeysForVerifiedCredentials } from '../modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n/** @category Extension Development */\nexport { DYNAMIC_ICONIC_SPRITE_URL } from '../constants';\n/** @category Extension Development */\nexport { createDeferredPromise } from '../utils/deferredPromise';\n/** @category Extension Development */\nexport { getDeviceSigner } from '../modules/deviceRegistration/getDeviceSigner';\n/** @category Extension Development */\nexport { getHeadersForNonceSignedByDeviceSigners } from '../modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners';\n/** @category Extension Development */\nexport { createDeviceSignatureHeadersMiddleware } from '../modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware';\n/** @category Extension Development */\nexport { randomString } from '../utils/randomString';\n/** @category Extension Development */\nexport { getReactNativeManifest } from '../services/nativeManifest/getReactNativeManifest';\n/** @category Extension Development */\nexport type { ReactNativeManifest } from '../services/nativeManifest/nativeManifest.types';\n/** @category Extension Development */\nexport { getAppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport type { AppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport { getNativeLinkScheme } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport type { GetNativeLinkSchemeParams } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport { assertSafeDeeplinkUrl } from '../utils/assertSafeDeeplinkUrl';\n/** @category Extension Development */\nexport { setScreenshotProtection } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection';\n/** @category Extension Development */\nexport type { SetScreenshotProtectionParams } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"core.cjs","names":["BaseError","BaseError","BaseError","getCore","getCore","FETCH_PROJECT_SETTINGS_TRACKER_KEY","getNetworksData","createStorageKeySchema","z","getCore","getNetworkId: LastKnownNetworkRegistry['getNetworkId']","getWalletProviderByKey","getNetworkProviders","NoNetworkProvidersError","setNetworkId: LastKnownNetworkRegistry['setNetworkId']","createRuntimeServiceAccessKey","target: unknown","providers: T[]","target: unknown","getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry","switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry","eventEmitter: EventEmitter<WalletProviderEvents> | undefined","setupReturnValue: R","EventEmitter","getBuffer","BaseError","packageName","packageVersion"],"sources":["../src/errors/ArrayMustNotBeEmptyError.ts","../src/errors/ClientsDoNotMatchError.ts","../src/errors/MultipleClientsFoundError.ts","../src/modules/extension/registerExtension/registerExtension.ts","../src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts","../src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts","../src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts","../src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts","../src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts","../src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts","../src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts","../src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts","../src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts","../src/services/realtime/createRealtimeChannelSchema/createRealtimeChannelSchema.ts","../src/utils/assertNonEmptyArray/assertNonEmptyArray.ts","../src/utils/bufferToBase64/bufferToBase64.ts","../src/utils/createSequenceQueue/createSequenceQueue.ts","../src/utils/filterDuplicates/filterDuplicates.ts","../src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts","../src/errors/ReactNativeOnlyError.ts","../src/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.ts","../src/utils/getNativeLinkScheme/getNativeLinkScheme.ts","../src/modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.ts","../src/exports/core.ts"],"sourcesContent":["import { BaseError } from './base';\n\nexport class ArrayMustNotBeEmptyError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(message: string) {\n super({\n cause: null,\n code: 'array_must_not_be_empty_error',\n docsUrl: null,\n name: 'ArrayMustNotBeEmpty',\n shortMessage: message,\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class ClientsDoNotMatchError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'clients_do_not_match_error',\n docsUrl: null,\n name: 'ClientsDoNotMatchError',\n shortMessage: 'Clients do not match',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class MultipleClientsFoundError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'multiple_clients_found_error',\n docsUrl: null,\n name: 'MultipleClientsFoundError',\n shortMessage:\n 'Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly',\n });\n }\n}\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\n\ntype RegisterExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Registers an extension to the client.\n *\n * Other extensions can be aware of which extensions are present,\n * and allows creating dependencies between extensions.\n *\n * @param client - The client instance.\n * @param extensionKey - The key of the extension to register.\n * @returns The client instance.\n * @notInstrumented\n */\nexport const registerExtension = (\n { extensionKey }: RegisterExtensionParams,\n client: DynamicClient\n): void => {\n const core = getCore(client);\n\n core.extensions.add(extensionKey);\n};\n","import type { ProjectSettings } from '@dynamic-labs/sdk-api-core';\n\nimport { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { FETCH_PROJECT_SETTINGS_TRACKER_KEY } from '../consts';\n\n/** @notInstrumented */\nexport const waitForProjectSettings = async (\n client: DynamicClient\n): Promise<ProjectSettings> => {\n const core = getCore(client);\n\n const projectSettingsTracker = core.initTrack.getTracker<void>(\n FETCH_PROJECT_SETTINGS_TRACKER_KEY\n );\n\n assertDefined(projectSettingsTracker, 'Project settings tracker not found');\n\n await projectSettingsTracker.promise;\n\n assertDefined(\n client.projectSettings,\n 'Project settings still not available after awaiting its tracker'\n );\n\n return client.projectSettings;\n};\n","import type { Chain } from '../../../chain';\nimport type {\n BaseNetworkProvider,\n NetworkData,\n} from '../networkProvider/networkProvider.types';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const createBaseNetworkProvider = <TChain extends Chain = Chain>(\n chain: TChain,\n networkData: NetworkData\n): Omit<BaseNetworkProvider<TChain>, 'getBalance'> => ({\n blockExplorerUrls: networkData.blockExplorerUrls,\n chain,\n displayName: networkData.displayName,\n iconUrl: networkData.iconUrl,\n id: `${chain}-${networkData.networkId}`,\n name: networkData.name,\n nativeCurrency: networkData.nativeCurrency,\n networkId: networkData.networkId,\n rpcUrls: networkData.rpcUrls,\n testnet: networkData.testnet,\n});\n","import type { DynamicClient } from '../../../../client/types';\nimport type { Chain } from '../../../chain';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkDataForNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @notInstrumented */\nexport const getNetworkDataForNetworkId = (\n { networkId, chain }: GetNetworkDataForNetworkIdProps,\n client: DynamicClient\n): NetworkData | undefined => {\n const networksData = getNetworksData(client);\n\n const networkData = networksData.find(\n (networkData) =>\n networkData.networkId === networkId && networkData.chain === chain\n );\n\n return networkData;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../../../services/storage';\n\nexport const networkRegistryStorageKeySchema = createStorageKeySchema({\n key: 'lastKnownNetworkRegistry',\n schema: z.record(z.string(), z.string()),\n});\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport { getWalletProviderByKey } from '../../../getWalletProviderByKey';\nimport { getNetworkProviders } from '../../getNetworkProviders';\nimport type { LastKnownNetworkRegistry } from '../LastKnownNetworkRegistry.types';\nimport { networkRegistryStorageKeySchema } from './schema';\n\n/**\n * Creates the registry that keeps tabs on which wallet provider is\n * connected to which network.\n *\n * Reminder that this will not be used for chains that have an internal way to\n * switch networks (ex EVM).\n * @notInstrumented\n */\nexport const createLastKnownNetworkRegistry = (\n client: DynamicClient\n): LastKnownNetworkRegistry => {\n const core = getCore(client);\n\n const walletProviderKeyToNetworkId = new Map<string, string>();\n\n const getNetworkId: LastKnownNetworkRegistry['getNetworkId'] = async ({\n walletProviderKey,\n }) => {\n // Priorities:\n // 1. In memory\n // 2. Storage\n // 3. First available network for this wallet's chain\n\n if (walletProviderKeyToNetworkId.has(walletProviderKey)) {\n return {\n networkId: walletProviderKeyToNetworkId.get(\n walletProviderKey\n ) as string,\n };\n }\n\n const storageRecords = await core.storage.getItem(\n networkRegistryStorageKeySchema\n );\n\n if (storageRecords && storageRecords[walletProviderKey]) {\n const networkId = storageRecords[walletProviderKey];\n\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n return { networkId };\n }\n\n const walletProvider = getWalletProviderByKey(\n { walletProviderKey },\n client\n );\n\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const defaultNetworkProvider = networkProviders.find(\n (networkProvider) => networkProvider.chain === walletProvider.chain\n );\n\n assertDefined(\n defaultNetworkProvider,\n `No networks found for chain ${walletProvider.chain}`\n );\n\n walletProviderKeyToNetworkId.set(\n walletProviderKey,\n defaultNetworkProvider.networkId\n );\n\n // No need to set in storage, as we're just falling back to the default\n return { networkId: defaultNetworkProvider.networkId };\n };\n\n const setNetworkId: LastKnownNetworkRegistry['setNetworkId'] = async ({\n networkId,\n walletProviderKey,\n }) => {\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n await core.storage.setItem(\n networkRegistryStorageKeySchema,\n Object.fromEntries(walletProviderKeyToNetworkId.entries())\n );\n };\n\n return { getNetworkId, setNetworkId };\n};\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createLastKnownNetworkRegistry } from '../createLastKnownNetworkRegistry';\n\nexport const getLastKnownNetworkRegistry = createRuntimeServiceAccessKey(\n 'last-known-network-registry',\n (client) => createLastKnownNetworkRegistry(client)\n);\n","/** @notInstrumented */\nexport const formatWalletProviderGroupKey = (walletName: string): string =>\n walletName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n","/* eslint-disable no-restricted-globals */\n\n/**\n * Retrieves all providers from a window path.\n *\n * Unlike getInjectedProviderFromWindow which returns only the first provider,\n * this function returns ALL providers found at the path, including those\n * in a .providers array if present.\n *\n * This is particularly useful for detecting wallet providers in wallet app\n * in-app browsers, where wallets inject their provider into the window object.\n *\n * @param path - Dot-separated path to traverse (e.g., \"ethereum\")\n * @returns Array of all providers found, or empty array if none\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getAllProvidersFromWindow = <T = unknown>(path: string): T[] => {\n if (typeof window === 'undefined') {\n return [];\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return [];\n }\n\n if (Array.isArray(target)) {\n return target as T[];\n }\n\n const providers: T[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n // If target has a .providers array, return all providers from it\n if (providersArray && Array.isArray(providersArray)) {\n providers.push(...(providersArray as T[]));\n }\n\n // Always include the target itself as a provider (if it's not just a container)\n // This handles the case where window.ethereum is both a provider AND has a providers array\n providers.push(target as T);\n\n return providers;\n};\n","/* eslint-disable no-restricted-globals */\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getInjectedProviderFromWindow = <T = unknown>(\n path: string\n): T | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return null;\n }\n\n if (Array.isArray(target)) {\n return target.length > 0 ? (target[0] as T) : null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n if (providersArray && Array.isArray(providersArray)) {\n return providersArray.length > 0 ? (providersArray[0] as T) : null;\n }\n\n return target as T;\n};\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype GetActiveNetworkIdFromLastKnownRegistry = (args: {\n client: DynamicClient;\n walletProviderKey: string;\n}) => ReturnType<WalletProvider['getActiveNetworkId']>;\n\n/** @notInstrumented */\nexport const getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry =\n async ({ client, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n return networkRegistry.getNetworkId({ walletProviderKey });\n };\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype SwitchActiveNetworkInLastKnownRegistry = (args: {\n client: DynamicClient;\n networkId: string;\n walletProviderKey: string;\n}) => ReturnType<NonNullable<WalletProvider['switchActiveNetwork']>>;\n\n/** @notInstrumented */\nexport const switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry =\n async ({ client, networkId, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n await networkRegistry.setNetworkId({\n networkId,\n walletProviderKey,\n });\n };\n","import EventEmitter from 'eventemitter3';\n\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport type { WalletProvider } from '../../walletProvider.types';\nimport type { WalletProviderEvents } from '../walletProviderEvents.types';\n\ntype CreateWalletProviderEventEmitterParams<R = void> = {\n /**\n * Callback responsible for removing the listeners from the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n * @notInstrumented\n */\n removeEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n /**\n * Value returned by setupEventListeners, particularly useful for cleaning up the event listeners\n */\n setupReturnValue: R;\n }) => void;\n /**\n * Callback responsible for connecting the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n *\n * @returns May return a value that will be later passed to removeEventListeners as `setupReturnValue`\n */\n setupEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n }) => R;\n /**\n * List of events that the wallet provider supports listening to.\n * Defaults to all events.\n */\n supportedEvents?: (keyof WalletProviderEvents)[];\n};\n\nexport type WalletProviderEventEmitter = {\n cleanupEventEmitter: () => void;\n getEventEmitter: () => WalletProvider['events'];\n};\n\n/**\n * Takes a callback that registers handlers for the external wallet provider.\n * Returns both a getter of an eventEmitter that can be exposed via the wallet provider\n * and a callback that will be used to destroy the listeners.\n * @notInstrumented\n */\nexport const createWalletProviderEventEmitter = <R = void>({\n removeEventListeners,\n setupEventListeners,\n supportedEvents = ['accountsChanged', 'disconnected', 'networkChanged'],\n}: CreateWalletProviderEventEmitterParams<R>): WalletProviderEventEmitter => {\n let eventEmitter: EventEmitter<WalletProviderEvents> | undefined;\n\n /** Value returned by setupEventListeners */\n let setupReturnValue: R;\n\n const handleAccountsChanged = (params: { addresses: string[] }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('accountsChanged', params);\n };\n\n const handleDisconnected = () => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('disconnected');\n };\n\n const handleNetworkChanged = (params: { networkId: string }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('networkChanged', params);\n };\n\n const cleanupEventEmitter = () => {\n if (!eventEmitter) {\n return;\n }\n\n removeEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n setupReturnValue,\n });\n\n eventEmitter = undefined;\n };\n\n const getEventEmitter = (): WalletProvider['events'] => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter<WalletProviderEvents>();\n\n setupReturnValue = setupEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n });\n }\n\n return Object.assign(eventEmitter, { supportedEvents });\n };\n\n return {\n cleanupEventEmitter,\n getEventEmitter,\n };\n};\n","import type * as z from 'zod/mini';\n\nimport type { RealtimeChannelSchema } from '../realtime.types';\n\n/**\n * Defines a typed schema for a realtime channel — analogous to `createStorageKeySchema`\n * for storage. Pairs a channel name with a Zod schema that validates the shape of\n * messages sent and received on that channel. Pass the result to the realtime service's\n * `subscribe` / `unsubscribe` / `publish` methods to get end-to-end type safety.\n * @notInstrumented\n */\nexport const createRealtimeChannelSchema = <T>(params: {\n channel: string;\n schema: z.ZodMiniType<T>;\n}): RealtimeChannelSchema<T> => params;\n","/* eslint-disable func-style -- javascript requires this to be a function */\n\nimport { ArrayMustNotBeEmptyError } from './../../errors/ArrayMustNotBeEmptyError';\n\n/**\n * Asserts that a value is a non-empty array, throwing an error if it is null,\n * undefined, or has zero elements. This function acts as a type guard,\n * narrowing the type to a tuple of at least one element.\n *\n * @template T - The element type of the array being checked\n * @param value - The array (or possibly null/undefined value) to check\n * @param message - The error message to throw if the value is empty or missing\n * @throws Throws an error with the provided message if value is null, undefined, or empty\n * @example\n * ```typescript\n * const maybeNetworks: Network[] | undefined = getNetworks();\n * assertNonEmptyArray(maybeNetworks, 'At least one network is required');\n * // maybeNetworks is now typed as [Network, ...Network[]]\n * const first = maybeNetworks[0]; // safely accessible without `| undefined`\n * ```\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport function assertNonEmptyArray<T>(\n value: T[] | null | undefined,\n message: string\n): asserts value is [T, ...T[]] {\n if (!value || value.length === 0) {\n throw new ArrayMustNotBeEmptyError(message);\n }\n}\n","import { getBuffer } from \"../getBuffer\";\n\n/** @notInstrumented */\nexport const bufferToBase64 = (buf: Uint8Array): string => {\n const binstr = Array.prototype.map\n .call(buf, (ch: number) => String.fromCharCode(ch))\n .join('');\n return getBuffer().from(binstr, 'binary').toString('base64');\n};\n","import type { DynamicClient } from '../../client/types';\n\n/** The queue function `createSequenceQueue` returns. */\nexport type SequenceQueue = <T>(\n callback: () => Promise<T>,\n client: DynamicClient\n) => Promise<T>;\n\n/**\n * Creates a queue function that runs every callback passed to it **one at a\n * time, in FIFO order**, relative to every other call made through that same\n * queue function for the same client:\n *\n * - Every queued call runs — this is NOT last-wins/coalescing (see\n * `debouncedMutex` for that behavior instead).\n * - A callback that rejects does not stall the queue: the next queued\n * callback still runs.\n * - Each caller receives its own callback's resolution or rejection,\n * independent of other callers' outcomes.\n * - Different clients never block each other, even through the same queue\n * function.\n *\n * Useful for serializing read-modify-write cycles against a single piece of\n * storage/state so concurrent callers can't race and silently lose an update.\n *\n * @example\n * Without a queue, two concurrent callers incrementing a\n * persisted counter can both read `0`, both write `1`, and lose an update:\n * ```ts\n * const incrementStoredCount = async (client: DynamicClient) => {\n * const current = await storage.get('count'); // both callers read 0\n * await storage.set('count', current + 1); // both callers write 1\n * };\n *\n * await Promise.all([incrementStoredCount(client), incrementStoredCount(client)]);\n * // storage.get('count') === 1, but two increments were requested\n * ```\n *\n * Wrapping the same read-modify-write cycle in a queue forces the second\n * call to wait for the first to finish, so it reads the value the first call\n * just wrote:\n * ```ts\n * const queueCountWrite = createSequenceQueue();\n *\n * const incrementStoredCount = (client: DynamicClient) =>\n * queueCountWrite(async () => {\n * const current = await storage.get('count');\n * await storage.set('count', current + 1);\n * }, client);\n *\n * await Promise.all([incrementStoredCount(client), incrementStoredCount(client)]);\n * // storage.get('count') === 2 — both increments are applied\n * ```\n * @notInstrumented\n */\nexport const createSequenceQueue = (): SequenceQueue => {\n // Tracks the promise of the most recently enqueued callback per client, so\n // each new call can chain onto it and run only once its predecessor settles.\n const queueTails = new WeakMap<DynamicClient, Promise<unknown>>();\n\n // The callback is intentionally a bare positional param (not wrapped in an\n // object) to match the ergonomics of a queue function you call directly,\n // like `setTimeout`/`Promise.then` — wrapping it would obscure the call site.\n // eslint-disable-next-line custom-rules/require-single-object-param\n return <T>(callback: () => Promise<T>, client: DynamicClient): Promise<T> => {\n const previousTail = queueTails.get(client) ?? Promise.resolve();\n\n const result = previousTail.then(callback, callback);\n\n queueTails.set(client, result.catch(() => undefined));\n\n return result;\n };\n};\n","/**\n * Filter duplicates from an array by equality.\n * Uses a Set internally.\n * @notInstrumented\n */\nexport const filterDuplicates = <T>(array: T[]): T[] =>\n Array.from(new Set(array));\n","type ParseAmountToSmallestUnitParams = {\n amount: string;\n decimals: number;\n};\n\n/**\n * Converts a human-readable decimal amount string to the smallest unit\n * representation as a bigint, using string-based arithmetic to avoid\n * floating-point precision loss.\n *\n * @example\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)\n * parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)\n * parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)\n *\n * @param params.amount - The amount as a decimal string (e.g. \"1.5\").\n * @param params.decimals - The number of decimal places for the token.\n * @returns The amount in smallest units as a bigint.\n * @notInstrumented\n */\nexport const parseAmountToSmallestUnit = ({\n amount,\n decimals,\n}: ParseAmountToSmallestUnitParams): bigint => {\n const [whole = '0', fraction = ''] = amount.split('.');\n const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);\n return BigInt(whole + paddedFraction);\n};\n","import { BaseError } from './base';\n\ntype ReactNativeOnlyErrorParams = {\n apiName: string;\n};\n\nexport class ReactNativeOnlyError extends BaseError {\n constructor({ apiName }: ReactNativeOnlyErrorParams) {\n super({\n cause: null,\n code: 'react_native_only_error',\n docsUrl: null,\n name: 'ReactNativeOnlyError',\n shortMessage: `${apiName} is only available in React Native environments.`,\n });\n }\n}\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { ReactNativeManifest } from '../nativeManifest.types';\n\n/**\n * Returns the React Native manifest containing native SDK metadata.\n *\n * This function is only available in React Native environments.\n * On web, it throws a `ReactNativeOnlyError`.\n *\n * @notInstrumented\n */\nexport const getReactNativeManifest = (): ReactNativeManifest => {\n throw new ReactNativeOnlyError({ apiName: 'getReactNativeManifest' });\n};\n","const SCHEME_SEPARATOR = '://';\n\n/** Parameters for {@link getNativeLinkScheme}. */\nexport type GetNativeLinkSchemeParams = {\n /** A native link, e.g. `myapp://wallet/connect`. */\n nativeLink: string | undefined;\n};\n\n/**\n * Reduces a native link to just its URL scheme (e.g.\n * `myapp://wallet/connect` -> `myapp://`), dropping anything after the scheme\n * separator. A native link may be configured with an in-app route, but a\n * consumer that only needs to deep link back into the app (rather than a\n * specific route) should use the scheme alone. Links without a scheme\n * separator are returned unchanged (they cannot carry a route), and\n * `undefined` passes through.\n *\n * @notInstrumented\n */\nexport const getNativeLinkScheme = ({\n nativeLink,\n}: GetNativeLinkSchemeParams): string | undefined => {\n if (nativeLink === undefined) {\n return undefined;\n }\n\n const schemeSeparatorIndex = nativeLink.indexOf(SCHEME_SEPARATOR);\n\n if (schemeSeparatorIndex === -1) {\n return nativeLink;\n }\n\n return nativeLink.slice(0, schemeSeparatorIndex + SCHEME_SEPARATOR.length);\n};\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { SetScreenshotProtectionParams } from './setScreenshotProtection.types';\n\n/**\n * Web/desktop counterpart of the React Native `setScreenshotProtection` (see\n * `setScreenshotProtection.native.ts`).\n *\n * Screenshot/recording protection is a native window-level capability with no\n * web equivalent. Rather than silently no-op (which would let a desktop caller\n * believe content is protected when it is not), this throws a\n * `ReactNativeOnlyError` so an accidental web/desktop call is loud — the API is\n * intentionally React-Native-only.\n *\n * @notInstrumented\n */\nexport const setScreenshotProtection = ({\n // Destructured to keep an identical signature to the native implementation\n // for the platform-type parity check; unused because this always throws.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n enabled,\n}: SetScreenshotProtectionParams): void => {\n throw new ReactNativeOnlyError({ apiName: 'setScreenshotProtection' });\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building Dynamic SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { createAppForegroundSubscriber } from '../services/appForeground/createAppForegroundSubscriber';\n/** @category Extension Development */\nexport { getCore } from '../client/core/getCore';\n/** @category Extension Development */\nexport type { DynamicCore, DynamicCoreState } from '../client/core/types';\n/** @category Extension Development */\nexport { getDefaultClient } from '../client/defaultClient';\n/** @category Extension Development */\nexport { APIError } from '../errors/APIError';\n/** @category Extension Development */\nexport { ArrayMustNotBeEmptyError } from '../errors/ArrayMustNotBeEmptyError';\n/** @category Extension Development */\nexport { CannotTrackError } from '../errors/CannotTrackError';\n/** @category Extension Development */\nexport { ClientNotFoundError } from '../errors/ClientNotFoundError';\n/** @category Extension Development */\nexport { ClientsDoNotMatchError } from '../errors/ClientsDoNotMatchError';\n/** @category Extension Development */\nexport { InvalidStorageSet } from '../errors/InvalidStorageSet';\n/** @category Extension Development */\nexport { InvalidWalletProviderKeyError } from '../errors/InvalidWalletProviderKeyError';\n/** @category Extension Development */\nexport { MethodNotImplementedError } from '../errors/MethodNotImplementedError';\n/** @category Extension Development */\nexport { MultipleClientsFoundError } from '../errors/MultipleClientsFoundError';\n/** @category Extension Development */\nexport { NoWalletProviderFoundError } from '../errors/NoWalletProviderFoundError';\n/** @category Extension Development */\nexport { ValueMustBeDefinedError } from '../errors/ValueMustBeDefinedError';\n/** @category Extension Development */\nexport { createApiClient, DYNAMIC_SDK_API_VERSION } from '../modules/apiClient';\n/** @category Extension Development */\nexport { createVisit } from '../modules/auth/createVisit';\n/** @category Extension Development */\nexport { logoutWithReason } from '../modules/auth/logoutWithReason';\n/** @category Extension Development */\nexport { updateAuthFromVerifyResponse } from '../modules/auth/updateAuthFromVerifyResponse';\n/** @category Extension Development */\nexport { consumeCaptchaToken } from '../modules/captcha/consumeCaptchaToken';\n/** @category Extension Development */\nexport { setCaptchaToken } from '../modules/captcha/setCaptchaToken';\n/** @category Extension Development */\nexport { emitEvent } from '../modules/clientEvents';\n/** @category Extension Development */\nexport { hasExtension } from '../modules/extension/hasExtension';\n/** @category Extension Development */\nexport { registerExtension } from '../modules/extension/registerExtension';\n/** @category Extension Development */\nexport { waitForProjectSettings } from '../modules/initializeClient/waitForProjectSettings';\n/** @category Extension Development */\nexport { getElevatedAccessToken } from '../modules/auth/getElevatedAccessToken';\n/** @category Extension Development */\nexport { consumeMfaTokenIfRequiredForAction } from '../modules/mfa/consumeMfaTokenIfRequiredForAction';\n/** @category Extension Development */\nexport { isCookieEnabled } from '../modules/projectSettings/isCookieEnabled';\n/** @category Extension Development */\nexport { generateSessionKeys } from '../modules/sessionKeys/generateSessionKeys/generateSessionKeys';\n/** @category Extension Development */\nexport { getSessionKeys } from '../modules/sessionKeys/getSessionKeys';\n/** @category Extension Development */\nexport { getSignedSessionId } from '../modules/sessionKeys/getSignedSessionId';\n/** @category Extension Development */\nexport type { SessionKeys } from '../modules/sessionKeys/sessionKeys.types';\n/** @category Extension Development */\nexport { CHAINS_INFO_MAP } from '../modules/wallets/constants';\n/** @category Extension Development */\nexport { emitWalletAccountsChangedEvent } from '../modules/wallets/emitWalletAccountsChangedEvent';\n/** @category Extension Development */\nexport { getWalletProviders } from '../modules/wallets/getWalletProviders';\n/** @category Extension Development */\nexport { createBaseNetworkProvider } from '../modules/wallets/networks/createBaseNetworkProvider';\n/** @category Extension Development */\nexport { getNetworkDataForNetworkId } from '../modules/wallets/networks/getNetworkDataForNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviderFromNetworkId } from '../modules/wallets/networks/getNetworkProviderFromNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviders } from '../modules/wallets/networks/getNetworkProviders';\n/** @category Extension Development */\nexport { getLastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry';\n/** @category Extension Development */\nexport type { LastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/LastKnownNetworkRegistry.types';\n/** @category Extension Development */\nexport type { BaseNetworkProvider } from '../modules/wallets/networks/networkProvider/networkProvider.types';\n/** @category Extension Development */\nexport {\n getNetworkProviderBuilderRegistry,\n type NetworkProviderBuilder,\n type NetworkProviderBuilderRegistry,\n} from '../modules/wallets/networks/networkProviderBuilderRegistry';\n/** @category Extension Development */\nexport { reconcileWalletAccountsAgainstClient } from '../modules/wallets/reconcileWalletAccountsAgainstClient';\n/** @category Extension Development */\nexport { removeUnverifiedWalletAccount } from '../modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount';\nexport { setUnverifiedWalletAccounts } from '../modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts';\n/** @category Extension Development */\nexport { formatSignInMessage } from '../modules/wallets/utils/formatSignInMessage';\n/** @category Extension Development */\nexport { formatWalletAccountId } from '../modules/wallets/utils/formatWalletAccountId';\n/** @category Extension Development */\nexport { formatWalletProviderGroupKey } from '../modules/wallets/utils/formatWalletProviderGroupKey';\n/** @category Extension Development */\nexport { formatWalletProviderKey } from '../modules/wallets/utils/formatWalletProviderKey';\n/** @category Extension Development */\nexport { getAllProvidersFromWindow } from '../modules/wallets/utils/getAllProvidersFromWindow';\n/** @category Extension Development */\nexport { getInjectedProviderFromWindow } from '../modules/wallets/utils/getInjectedProviderFromWindow';\n/** @category Extension Development */\nexport { getVerifiedCredentialForWalletAccount } from '../modules/wallets/utils/getVerifiedCredentialForWalletAccount';\n/** @category Extension Development */\nexport { getWalletProviderFromWalletAccount } from '../modules/wallets/utils/getWalletProviderFromWalletAccount';\n/** @category Extension Development */\nexport { normalizeWalletNameWithChain } from '../modules/wallets/utils/normalizeWalletNameWithChain';\n/** @category Extension Development */\nexport { verifyMessageSignatureOwnership } from '../modules/wallets/verifyMessageSignatureOwnership';\n/** @category Extension Development */\nexport type { BaseWalletAccount } from '../modules/wallets/walletAccount';\n/** @category Extension Development */\nexport type {\n ConfirmTransactionParams,\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n ExecuteYieldTransactionParams,\n ExecuteYieldTransactionResult,\n TransferAmountParams,\n WalletProvider,\n WalletProviderConnectAddress,\n} from '../modules/wallets/walletProvider';\n/** @category Extension Development */\nexport { getActiveNetworkIdFromLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry';\n/** @category Extension Development */\nexport { switchActiveNetworkInLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry';\n/** @category Extension Development */\nexport { createWalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\nexport type { WalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\n/** @category Extension Development */\nexport { splitWalletProviderKey } from '../modules/wallets/walletProvider/splitWalletProviderKey';\n/** @category Extension Development */\nexport {\n getWalletProviderRegistry,\n WalletProviderPriority,\n} from '../modules/wallets/walletProviderRegistry';\n/** @category Extension Development */\nexport type {\n AsyncProcessEntry,\n AsyncProcessStatus,\n AsyncTrack,\n AsyncTrackEmitter,\n} from '../services/asyncTrack/asyncTrack.types';\n/** @category Extension Development */\nexport { createCrossTabBroadcast } from '../services/crossTabBroadcast/createCrossTabBroadcast';\n/** @category Extension Development */\nexport type {\n CrossTabBroadcast,\n CrossTabBroadcastMessage,\n} from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { CrossTabBroadcastMessageSchema } from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { createRealtimeChannelSchema } from '../services/realtime/createRealtimeChannelSchema';\n/** @category Extension Development */\nexport { createRealtimeService } from '../services/realtime/createRealtimeService';\n/** @category Extension Development */\nexport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeService,\n} from '../services/realtime';\n/** @category Extension Development */\nexport { createLogger } from '../services/logger/createLogger';\n/** @category Extension Development */\nexport type { Logger, LogLevel } from '../services/logger/logger.types';\n/** @category Extension Development */\nexport { createKeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { KeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { PasskeyService } from '../services/passkey';\n/** @category Extension Development */\nexport {\n createRuntimeServiceAccessKey,\n type RuntimeServices,\n} from '../services/runtimeServices';\n/** @category Extension Development */\nexport {\n createLocalStorageAdapter,\n createStorage,\n createStorageKeySchema,\n type Storage,\n type StorageAdapter,\n type StorageAdapterOptions,\n type StorageKeySchema,\n type StorageKeySchemaConfig,\n type StorageTier,\n} from '../services/storage';\n/** @category Extension Development */\nexport type { ExtendParameters } from '../types/ExtendParameters';\n/** @category Extension Development */\nexport { assertDefined } from '../utils/assertDefined';\n/** @category Extension Development */\nexport { assertSafeNavigationUrl } from '../utils/assertSafeNavigationUrl';\n/** @category Extension Development */\nexport { UnsafeNavigationUrlError } from '../errors/UnsafeNavigationUrlError';\n/** @category Extension Development */\nexport { assertNonEmptyArray } from '../utils/assertNonEmptyArray';\n/** @category Extension Development */\nexport { bufferToBase64 } from '../utils/bufferToBase64';\n/** @category Extension Development */\nexport type { DebouncedMutex } from '../utils/debouncedMutex/debouncedMutex.types';\n/** @category Extension Development */\nexport { createSequenceQueue } from '../utils/createSequenceQueue';\n/** @category Extension Development */\nexport type { SequenceQueue } from '../utils/createSequenceQueue';\n/** @category Extension Development */\nexport { filterDuplicates } from '../utils/filterDuplicates';\n/** @category Extension Development */\nexport { getBuffer } from '../utils/getBuffer';\n/** @category Extension Development */\nexport { getChainFromVerifiedCredentialChain } from '../utils/getChainFromVerifiedCredentialChain';\n/** @category Extension Development */\nexport { getKeychainIndexedDBName } from '../utils/getKeychainIndexedDBName';\n/** @category Extension Development */\nexport { getNonce } from '../utils/getNonce';\n/** @category Extension Development */\nexport { isServerSideRendering } from '../utils/isServerSideRendering';\n/** @category Extension Development */\nexport { parseAmountToSmallestUnit } from '../utils/parseAmountToSmallestUnit';\n/** @category Extension Development */\nexport type { ObservableState } from '../utils/observable/observable.types';\n/** @category Extension Development */\nexport { createSignInMessageStatement } from '../modules/wallets/utils/getSignInMessage/createSignInMessageStatement';\n/** @category Extension Development */\nexport { subscribeWithSelector } from '../utils/observable/subscribeWithSelector';\n/** @category Extension Development */\nexport { updateWalletProviderKeysForVerifiedCredentials } from '../modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n/** @category Extension Development */\nexport { DYNAMIC_ICONIC_SPRITE_URL } from '../constants';\n/** @category Extension Development */\nexport { createDeferredPromise } from '../utils/deferredPromise';\n/** @category Extension Development */\nexport { getDeviceSigner } from '../modules/deviceRegistration/getDeviceSigner';\n/** @category Extension Development */\nexport { getHeadersForNonceSignedByDeviceSigners } from '../modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners';\n/** @category Extension Development */\nexport { createDeviceSignatureHeadersMiddleware } from '../modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware';\n/** @category Extension Development */\nexport { randomString } from '../utils/randomString';\n/** @category Extension Development */\nexport { getReactNativeManifest } from '../services/nativeManifest/getReactNativeManifest';\n/** @category Extension Development */\nexport type { ReactNativeManifest } from '../services/nativeManifest/nativeManifest.types';\n/** @category Extension Development */\nexport { getAppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport type { AppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport { getNativeLinkScheme } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport type { GetNativeLinkSchemeParams } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport { assertSafeDeeplinkUrl } from '../utils/assertSafeDeeplinkUrl';\n/** @category Extension Development */\nexport { setScreenshotProtection } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection';\n/** @category Extension Development */\nexport type { SetScreenshotProtectionParams } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.types';\n/** @category Extension Development */\nexport {\n createEventEmitter,\n type EventEmitter,\n} from './../services/eventEmitter';\n"],"mappings":"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"}