@dynamic-labs-sdk/client 1.32.0 → 1.33.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 (150) hide show
  1. package/dist/{apiClient-Bwd6cllS.native.esm.js → apiClient-4r7VAsLC.native.esm.js} +45 -12
  2. package/dist/apiClient-4r7VAsLC.native.esm.js.map +1 -0
  3. package/dist/constants.d.ts +6 -0
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/core.cjs +78 -5
  6. package/dist/core.cjs.map +1 -1
  7. package/dist/core.esm.js +77 -6
  8. package/dist/core.esm.js.map +1 -1
  9. package/dist/core.native.esm.js +79 -8
  10. package/dist/core.native.esm.js.map +1 -1
  11. package/dist/errors/UnexpectedConsentResponseError.d.ts +7 -0
  12. package/dist/errors/UnexpectedConsentResponseError.d.ts.map +1 -0
  13. package/dist/exports/core.d.ts +2 -0
  14. package/dist/exports/core.d.ts.map +1 -1
  15. package/dist/exports/index.d.ts +2 -0
  16. package/dist/exports/index.d.ts.map +1 -1
  17. package/dist/exports/waas.d.ts +2 -1
  18. package/dist/exports/waas.d.ts.map +1 -1
  19. package/dist/{getNetworkProviderFromNetworkId-DSsGkava.native.esm.js → getNetworkProviderFromNetworkId-BV229QF3.native.esm.js} +112 -89
  20. package/dist/getNetworkProviderFromNetworkId-BV229QF3.native.esm.js.map +1 -0
  21. package/dist/{getNetworkProviderFromNetworkId-TTqmAiJh.esm.js → getNetworkProviderFromNetworkId-D9oRzWA6.esm.js} +106 -83
  22. package/dist/getNetworkProviderFromNetworkId-D9oRzWA6.esm.js.map +1 -0
  23. package/dist/{getNetworkProviderFromNetworkId-5UBZwUg2.cjs → getNetworkProviderFromNetworkId-DOrcvuFv.cjs} +105 -82
  24. package/dist/getNetworkProviderFromNetworkId-DOrcvuFv.cjs.map +1 -0
  25. package/dist/{getSignedSessionId-DBUnRGjt.cjs → getSignedSessionId-4qHh_BOh.cjs} +3 -3
  26. package/dist/{getSignedSessionId-DBUnRGjt.cjs.map → getSignedSessionId-4qHh_BOh.cjs.map} +1 -1
  27. package/dist/{getSignedSessionId-BkYhH1zc.native.esm.js → getSignedSessionId-Cd8CCp5d.native.esm.js} +3 -3
  28. package/dist/{getSignedSessionId-BkYhH1zc.native.esm.js.map → getSignedSessionId-Cd8CCp5d.native.esm.js.map} +1 -1
  29. package/dist/{getSignedSessionId-DeeDyino.esm.js → getSignedSessionId-DA-MMsJm.esm.js} +3 -3
  30. package/dist/{getSignedSessionId-DeeDyino.esm.js.map → getSignedSessionId-DA-MMsJm.esm.js.map} +1 -1
  31. package/dist/{getVerifiedCredentialForWalletAccount-BSxiaaVp.cjs → getVerifiedCredentialForWalletAccount-Bw5q7QZn.cjs} +2 -2
  32. package/dist/{getVerifiedCredentialForWalletAccount-BSxiaaVp.cjs.map → getVerifiedCredentialForWalletAccount-Bw5q7QZn.cjs.map} +1 -1
  33. package/dist/{getVerifiedCredentialForWalletAccount-C--Dza_K.esm.js → getVerifiedCredentialForWalletAccount-Fr3bEKeU.esm.js} +2 -2
  34. package/dist/{getVerifiedCredentialForWalletAccount-C--Dza_K.esm.js.map → getVerifiedCredentialForWalletAccount-Fr3bEKeU.esm.js.map} +1 -1
  35. package/dist/index.cjs +379 -638
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.esm.js +375 -635
  38. package/dist/index.esm.js.map +1 -1
  39. package/dist/index.native.esm.js +377 -637
  40. package/dist/index.native.esm.js.map +1 -1
  41. package/dist/{isMfaRequiredForAction-BPEXPqSt.esm.js → isMfaRequiredForAction-BdU62usM.esm.js} +3 -9
  42. package/dist/{isMfaRequiredForAction-BPEXPqSt.esm.js.map → isMfaRequiredForAction-BdU62usM.esm.js.map} +1 -1
  43. package/dist/{isMfaRequiredForAction-DfrEFvU2.native.esm.js → isMfaRequiredForAction-DZfEkyIU.native.esm.js} +3 -9
  44. package/dist/{isMfaRequiredForAction-DfrEFvU2.native.esm.js.map → isMfaRequiredForAction-DZfEkyIU.native.esm.js.map} +1 -1
  45. package/dist/{isMfaRequiredForAction-62zh3W-2.cjs → isMfaRequiredForAction-Djd-jkSl.cjs} +3 -9
  46. package/dist/{isMfaRequiredForAction-62zh3W-2.cjs.map → isMfaRequiredForAction-Djd-jkSl.cjs.map} +1 -1
  47. package/dist/{isUserOnboardingComplete-Dmck83_2.esm.js → isUserOnboardingComplete-BEZOYohA.esm.js} +3 -3
  48. package/dist/{isUserOnboardingComplete-Dmck83_2.esm.js.map → isUserOnboardingComplete-BEZOYohA.esm.js.map} +1 -1
  49. package/dist/{isUserOnboardingComplete-DtxIznZD.cjs → isUserOnboardingComplete-Bwvv6Urs.cjs} +3 -3
  50. package/dist/{isUserOnboardingComplete-DtxIznZD.cjs.map → isUserOnboardingComplete-Bwvv6Urs.cjs.map} +1 -1
  51. package/dist/{isUserOnboardingComplete-BWrCHXXO.native.esm.js → isUserOnboardingComplete-CEUkAzCi.native.esm.js} +3 -3
  52. package/dist/{isUserOnboardingComplete-BWrCHXXO.native.esm.js.map → isUserOnboardingComplete-CEUkAzCi.native.esm.js.map} +1 -1
  53. package/dist/{logoutWithReason-yDqQ0UIt.cjs → logoutWithReason-B-ZF0VmN.cjs} +57 -18
  54. package/dist/logoutWithReason-B-ZF0VmN.cjs.map +1 -0
  55. package/dist/{logoutWithReason-DIc7cC6T.native.esm.js → logoutWithReason-DvnEa2Uv.native.esm.js} +3 -9
  56. package/dist/{logoutWithReason-DIc7cC6T.native.esm.js.map → logoutWithReason-DvnEa2Uv.native.esm.js.map} +1 -1
  57. package/dist/{logoutWithReason-x8mE7EAy.esm.js → logoutWithReason-I6vShLpA.esm.js} +46 -19
  58. package/dist/logoutWithReason-I6vShLpA.esm.js.map +1 -0
  59. package/dist/{migrateFromFireblocks-BUhWQCqm.native.esm.js → migrateFromFireblocks-6I7lkraQ.native.esm.js} +2 -2
  60. package/dist/{migrateFromFireblocks-BUhWQCqm.native.esm.js.map → migrateFromFireblocks-6I7lkraQ.native.esm.js.map} +1 -1
  61. package/dist/{migrateFromFireblocks-qYPrnWF8.cjs → migrateFromFireblocks-C23-24bK.cjs} +2 -2
  62. package/dist/{migrateFromFireblocks-qYPrnWF8.cjs.map → migrateFromFireblocks-C23-24bK.cjs.map} +1 -1
  63. package/dist/{migrateFromFireblocks-BapjEhra.esm.js → migrateFromFireblocks-Dtk6t8hN.esm.js} +2 -2
  64. package/dist/{migrateFromFireblocks-BapjEhra.esm.js.map → migrateFromFireblocks-Dtk6t8hN.esm.js.map} +1 -1
  65. package/dist/modules/funding/coinbase/getCoinbaseAccounts/getCoinbaseAccounts.d.ts +1 -1
  66. package/dist/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts +1 -1
  67. package/dist/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.d.ts +1 -1
  68. package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.d.ts +1 -1
  69. package/dist/modules/sessionKeys/signBusinessAccountIntent/signBusinessAccountIntent.d.ts +95 -0
  70. package/dist/modules/sessionKeys/signBusinessAccountIntent/signBusinessAccountIntent.d.ts.map +1 -0
  71. package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts +3 -1
  72. package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts.map +1 -1
  73. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts +15 -6
  74. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts.map +1 -1
  75. package/dist/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.d.ts +7 -3
  76. package/dist/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.d.ts.map +1 -1
  77. package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts +115 -2
  78. package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts.map +1 -1
  79. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/index.d.ts +2 -0
  80. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/index.d.ts.map +1 -0
  81. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/isBusinessAccountActionRequired.d.ts +27 -0
  82. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/isBusinessAccountActionRequired.d.ts.map +1 -0
  83. package/dist/modules/waas/businessAccounts/updateBusinessAccountMemberRole/updateBusinessAccountMemberRole.d.ts +13 -6
  84. package/dist/modules/waas/businessAccounts/updateBusinessAccountMemberRole/updateBusinessAccountMemberRole.d.ts.map +1 -1
  85. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  86. package/dist/modules/waas/waas.types.d.ts +5 -2
  87. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  88. package/dist/modules/walletOptionsCatalogue/buildWalletBookConnectionOptions/buildWalletBookConnectionOptions.d.ts +42 -0
  89. package/dist/modules/walletOptionsCatalogue/buildWalletBookConnectionOptions/buildWalletBookConnectionOptions.d.ts.map +1 -0
  90. package/dist/modules/walletOptionsCatalogue/buildWalletConnectOptions/buildWalletConnectOptions.d.ts +7 -1
  91. package/dist/modules/walletOptionsCatalogue/buildWalletConnectOptions/buildWalletConnectOptions.d.ts.map +1 -1
  92. package/dist/modules/walletOptionsCatalogue/buildWalletOption/buildWalletOption.d.ts.map +1 -1
  93. package/dist/modules/walletOptionsCatalogue/deriveSupportedChains/deriveSupportedChains.d.ts +27 -0
  94. package/dist/modules/walletOptionsCatalogue/deriveSupportedChains/deriveSupportedChains.d.ts.map +1 -0
  95. package/dist/modules/walletOptionsCatalogue/getWalletOptionsCatalogue/getWalletOptionsCatalogue.d.ts +4 -0
  96. package/dist/modules/walletOptionsCatalogue/getWalletOptionsCatalogue/getWalletOptionsCatalogue.d.ts.map +1 -1
  97. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/index.d.ts +3 -0
  98. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/index.d.ts.map +1 -0
  99. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/isWalletExtensionInstalled.d.ts +35 -0
  100. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/isWalletExtensionInstalled.d.ts.map +1 -0
  101. package/dist/modules/walletOptionsCatalogue/sortWalletOptions/sortWalletOptions.d.ts +1 -1
  102. package/dist/modules/walletOptionsCatalogue/walletOptionsCatalogue.types.d.ts +7 -0
  103. package/dist/modules/walletOptionsCatalogue/walletOptionsCatalogue.types.d.ts.map +1 -1
  104. package/dist/modules/wallets/resolveWalletConnectionOption/resolveWalletConnectionOption.d.ts.map +1 -1
  105. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/getUriConnectionStarterChains.d.ts +27 -0
  106. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/getUriConnectionStarterChains.d.ts.map +1 -0
  107. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/index.d.ts +2 -0
  108. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/index.d.ts.map +1 -0
  109. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts.map +1 -1
  110. package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts +6 -5
  111. package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts.map +1 -1
  112. package/dist/services/instrumentation/resolveInstrumentationCore/index.d.ts +2 -0
  113. package/dist/services/instrumentation/resolveInstrumentationCore/index.d.ts.map +1 -0
  114. package/dist/services/instrumentation/resolveInstrumentationCore/resolveInstrumentationCore.d.ts +19 -0
  115. package/dist/services/instrumentation/resolveInstrumentationCore/resolveInstrumentationCore.d.ts.map +1 -0
  116. package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts +4 -3
  117. package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts.map +1 -1
  118. package/dist/services/realtime/createRealtimeService/createRealtimeService.d.ts.map +1 -1
  119. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  120. package/dist/utils/isScreeningBlockedError/index.d.ts +2 -0
  121. package/dist/utils/isScreeningBlockedError/index.d.ts.map +1 -0
  122. package/dist/utils/isScreeningBlockedError/isScreeningBlockedError.d.ts +24 -0
  123. package/dist/utils/isScreeningBlockedError/isScreeningBlockedError.d.ts.map +1 -0
  124. package/dist/{waas-WID2Fy_N.cjs → waas-C0IDCf3u.cjs} +81 -18
  125. package/dist/waas-C0IDCf3u.cjs.map +1 -0
  126. package/dist/{waas-CyUrvkQr.native.esm.js → waas-DJeW02-Y.native.esm.js} +77 -20
  127. package/dist/waas-DJeW02-Y.native.esm.js.map +1 -0
  128. package/dist/{waas-DzcYsWU8.esm.js → waas-D_alZrtb.esm.js} +77 -20
  129. package/dist/waas-D_alZrtb.esm.js.map +1 -0
  130. package/dist/waas.cjs +5 -4
  131. package/dist/waas.esm.js +5 -5
  132. package/dist/waas.native.esm.js +5 -5
  133. package/dist/waasCore.cjs +8 -6
  134. package/dist/waasCore.cjs.map +1 -1
  135. package/dist/waasCore.esm.js +8 -6
  136. package/dist/waasCore.esm.js.map +1 -1
  137. package/dist/waasCore.native.esm.js +8 -6
  138. package/dist/waasCore.native.esm.js.map +1 -1
  139. package/package.json +5 -4
  140. package/dist/apiClient-Bwd6cllS.native.esm.js.map +0 -1
  141. package/dist/getNetworkProviderFromNetworkId-5UBZwUg2.cjs.map +0 -1
  142. package/dist/getNetworkProviderFromNetworkId-DSsGkava.native.esm.js.map +0 -1
  143. package/dist/getNetworkProviderFromNetworkId-TTqmAiJh.esm.js.map +0 -1
  144. package/dist/logoutWithReason-x8mE7EAy.esm.js.map +0 -1
  145. package/dist/logoutWithReason-yDqQ0UIt.cjs.map +0 -1
  146. package/dist/modules/walletOptionsCatalogue/hasInstalledProvider/hasInstalledProvider.d.ts +0 -18
  147. package/dist/modules/walletOptionsCatalogue/hasInstalledProvider/hasInstalledProvider.d.ts.map +0 -1
  148. package/dist/waas-CyUrvkQr.native.esm.js.map +0 -1
  149. package/dist/waas-DzcYsWU8.esm.js.map +0 -1
  150. package/dist/waas-WID2Fy_N.cjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ export { isScreeningBlockedError } from './isScreeningBlockedError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/isScreeningBlockedError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Check if the given value is an Error raised because compliance screening
3
+ * blocked the wallet, under any of the error codes the backend may return for
4
+ * that outcome.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * try {
9
+ * await verifyMessageSignatureOwnership(params, client);
10
+ * } catch (error) {
11
+ * if (isScreeningBlockedError(error)) {
12
+ * throw new WalletScreeningBlockedError({ cause: error });
13
+ * }
14
+ * }
15
+ * ```
16
+ *
17
+ * @param error - The value to check.
18
+ * @returns True when the value is an Error carrying a screening block code.
19
+ * @see SCREENING_BLOCKED_WALLET_ERROR_CODES
20
+ * @see isErrorWithCode
21
+ * @notInstrumented
22
+ */
23
+ export declare const isScreeningBlockedError: (error: unknown) => error is Error;
24
+ //# sourceMappingURL=isScreeningBlockedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isScreeningBlockedError.d.ts","sourceRoot":"","sources":["../../../src/utils/isScreeningBlockedError/isScreeningBlockedError.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,KAAK,IAAI,KAI/D,CAAC"}
@@ -1,6 +1,6 @@
1
- const require_logoutWithReason = require('./logoutWithReason-yDqQ0UIt.cjs');
2
- const require_migrateFromFireblocks = require('./migrateFromFireblocks-qYPrnWF8.cjs');
3
- const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-BSxiaaVp.cjs');
1
+ const require_logoutWithReason = require('./logoutWithReason-B-ZF0VmN.cjs');
2
+ const require_migrateFromFireblocks = require('./migrateFromFireblocks-C23-24bK.cjs');
3
+ const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-Bw5q7QZn.cjs');
4
4
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
5
5
  let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
6
6
 
@@ -64,7 +64,9 @@ const IDENTIFIER_TYPE_TO_API = {
64
64
  *
65
65
  * @param params.businessAccountId - The ID of the business account.
66
66
  * @param params.targetIdentity - The member to add (userId, or identifier + identifierType).
67
- * @param [params.role] - The member role (`admin` or `viewer`). Defaults to `viewer`.
67
+ * @param [params.role] - The member role: a built-in (`admin`, `viewer`) or a
68
+ * role this account defined. Defaults to `viewer`. `owner` is rejected — use
69
+ * `transferBusinessAccountOwnership`.
68
70
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
69
71
  * @returns The created business account member.
70
72
  * @notInstrumented
@@ -80,7 +82,7 @@ const addBusinessAccountMember = async ({ businessAccountId, targetIdentity, rol
80
82
  return await apiClient.sdkAddBusinessAccountMember({
81
83
  addBusinessAccountMemberSdkRequest: {
82
84
  identifier,
83
- role: role === "admin" ? _dynamic_labs_sdk_api_core.AssignableBusinessAccountMemberRole.Admin : _dynamic_labs_sdk_api_core.AssignableBusinessAccountMemberRole.Viewer,
85
+ role: role ?? "viewer",
84
86
  smsCountryCode,
85
87
  socialProvider,
86
88
  type: identifierType ? IDENTIFIER_TYPE_TO_API[identifierType] : void 0,
@@ -124,10 +126,12 @@ const getWaasWalletProviderByChain = ({ chain }, client) => {
124
126
  * @param [params.password] - Password for the current signer's share, if it is password-encrypted.
125
127
  * @param [params.targetSignerPassword] - Password used to encrypt the new signer's share. Required when wallet passwords are required by the environment.
126
128
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
127
- * @returns The new signer's share set id.
129
+ * @returns The new signer's share set id, or a consent-pending answer when the
130
+ * account governs `addSignerToWallet` — the reshare has NOT run in that case.
131
+ * Narrow it with `isBusinessAccountActionRequired`.
128
132
  * @notInstrumented
129
133
  */
130
- const addBusinessAccountSigner = async ({ walletAccount, businessAccountId, walletId, targetIdentity, signerType, password, targetSignerPassword }, client = require_logoutWithReason.getDefaultClient()) => {
134
+ const addBusinessAccountSigner = async ({ walletAccount, businessAccountId, walletId, targetIdentity, signerType, password, targetSignerPassword, intent, intentSignature }, client = require_logoutWithReason.getDefaultClient()) => {
131
135
  assertTargetIdentity({
132
136
  fnName: "addBusinessAccountSigner",
133
137
  targetIdentity
@@ -145,6 +149,8 @@ const addBusinessAccountSigner = async ({ walletAccount, businessAccountId, wall
145
149
  }
146
150
  const result = await getWaasWalletProviderByChain({ chain: walletAccount.chain }, client).reshareToNewSignerShareSet({
147
151
  businessAccountId: resolvedBusinessAccountId,
152
+ intent,
153
+ intentSignature,
148
154
  password,
149
155
  signerType,
150
156
  targetSignerIdentity: targetIdentity,
@@ -155,6 +161,20 @@ const addBusinessAccountSigner = async ({ walletAccount, businessAccountId, wall
155
161
  return result;
156
162
  };
157
163
 
164
+ //#endregion
165
+ //#region src/errors/UnexpectedConsentResponseError.ts
166
+ var UnexpectedConsentResponseError = class extends require_logoutWithReason.BaseError {
167
+ constructor({ message }) {
168
+ super({
169
+ cause: null,
170
+ code: "unexpected_consent_response_error",
171
+ docsUrl: null,
172
+ name: "UnexpectedConsentResponse",
173
+ shortMessage: message
174
+ });
175
+ }
176
+ };
177
+
158
178
  //#endregion
159
179
  //#region src/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.ts
160
180
  /**
@@ -166,21 +186,31 @@ const addBusinessAccountSigner = async ({ walletAccount, businessAccountId, wall
166
186
  * mutation with no MPC step, so a rejection (e.g. a 422 resource-limit) surfaces
167
187
  * as a thrown error rather than stalling in the iframe bridge.
168
188
  *
189
+ * When the account governs `linkWallet`, nothing is written and the 202 body is
190
+ * returned instead — first the intent to sign, then the proposal collecting
191
+ * approvals. Narrow it with `isBusinessAccountActionRequired`.
192
+ *
169
193
  * @param [params.businessAccountId] - The business account to link to; found-or-created when omitted.
170
194
  * @param params.walletId - The ID of the wallet to link.
171
195
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
172
- * @returns The updated business account detail.
196
+ * @returns The updated business account detail, or the outstanding action required.
173
197
  * @notInstrumented
174
198
  */
175
199
  const addWalletToBusinessAccount = async ({ businessAccountId, walletId }, client = require_logoutWithReason.getDefaultClient()) => {
176
200
  const core = require_logoutWithReason.getCore(client);
177
- const detail = await require_logoutWithReason.createApiClient({ elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.BusinessAccountlinkWallet }, client).sdkLinkBusinessAccountWallet({
201
+ const response = await require_logoutWithReason.createApiClient({ elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.BusinessAccountlinkWallet }, client).sdkLinkBusinessAccountWalletRaw({
178
202
  environmentId: core.environmentId,
179
203
  linkBusinessAccountWalletSdkRequest: {
180
204
  businessAccountId,
181
205
  walletId
182
206
  }
183
207
  });
208
+ if (response.raw.status === 202) {
209
+ const payload = await response.raw.json();
210
+ if (payload.reason !== "INTENT_REQUIRED" && payload.reason !== "APPROVALS_REQUIRED" || !payload.intent) throw new UnexpectedConsentResponseError({ message: `addWalletToBusinessAccount: unexpected 202 body: ${JSON.stringify(payload)}` });
211
+ return payload;
212
+ }
213
+ const detail = await response.value();
184
214
  await require_logoutWithReason.__refreshAuth_wrapped(client);
185
215
  return detail;
186
216
  };
@@ -1480,6 +1510,34 @@ const importWaasPrivateKey = async ({ chain, privateKey, thresholdSignatureSchem
1480
1510
  });
1481
1511
  };
1482
1512
 
1513
+ //#endregion
1514
+ //#region src/modules/waas/businessAccounts/isBusinessAccountActionRequired/isBusinessAccountActionRequired.ts
1515
+ /**
1516
+ * Narrows a governed mutation's result to the not-yet-authorized case.
1517
+ *
1518
+ * A governed action answers 202 with the bytes to sign, or with the proposal
1519
+ * collecting approvals — neither is an error, so both come back as a value. Use
1520
+ * this to tell them apart from the applied result.
1521
+ *
1522
+ * @param result - What a governed business-account mutation returned.
1523
+ * @returns True when the action still needs a signature or approvals.
1524
+ *
1525
+ * @example
1526
+ * ```ts
1527
+ * const result = await addWalletToBusinessAccount({ walletId });
1528
+ * if (isBusinessAccountActionRequired(result)) {
1529
+ * await signIntent(result.intent);
1530
+ * return;
1531
+ * }
1532
+ * console.log(result.members.length);
1533
+ * ```
1534
+ *
1535
+ * @see {@link BusinessAccountActionRequired} for the shape this narrows to.
1536
+ * @see {@link addWalletToBusinessAccount} for a governed mutation that can return it.
1537
+ * @notInstrumented
1538
+ */
1539
+ const isBusinessAccountActionRequired = (result) => "reason" in result && (result.reason === "INTENT_REQUIRED" || result.reason === "APPROVALS_REQUIRED");
1540
+
1483
1541
  //#endregion
1484
1542
  //#region src/modules/waas/isPasswordRequiredForWaasWallets/isPasswordRequiredForWaasWallets.ts
1485
1543
  /**
@@ -1990,17 +2048,16 @@ const updateBusinessAccount = async ({ businessAccountId, name: name$1 }, client
1990
2048
 
1991
2049
  //#endregion
1992
2050
  //#region src/modules/waas/businessAccounts/updateBusinessAccountMemberRole/updateBusinessAccountMemberRole.ts
1993
- const ROLE_TO_API = {
1994
- admin: _dynamic_labs_sdk_api_core.AssignableBusinessAccountMemberRole.Admin,
1995
- viewer: _dynamic_labs_sdk_api_core.AssignableBusinessAccountMemberRole.Viewer
1996
- };
1997
2051
  /**
1998
- * Changes an existing member's role between `admin` and `viewer` (owner-/admin-only).
1999
- * Owner is not assignable here use `transferBusinessAccountOwnership` for that.
2052
+ * Changes an existing member's role (owner-/admin-only) to any role the account
2053
+ * defines a built-in or a custom one, including from one custom role to
2054
+ * another. Owner is not assignable here — use
2055
+ * `transferBusinessAccountOwnership` for that.
2000
2056
  *
2001
2057
  * @param params.businessAccountId - The business account the member belongs to.
2002
2058
  * @param params.userId - The member whose role changes.
2003
- * @param params.role - The new role (`admin` or `viewer`).
2059
+ * @param params.role - The new role: a built-in (`admin`, `viewer`) or a role
2060
+ * this account defined.
2004
2061
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2005
2062
  * @returns The updated business account member.
2006
2063
  *
@@ -2022,7 +2079,7 @@ const updateBusinessAccountMemberRole = async ({ businessAccountId, userId, role
2022
2079
  return await require_logoutWithReason.createApiClient({ elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.BusinessAccountmemberroleupdate }, client).sdkUpdateBusinessAccountMemberRole({
2023
2080
  businessAccountId,
2024
2081
  environmentId: core.environmentId,
2025
- updateBusinessAccountMemberRoleSdkRequest: { role: ROLE_TO_API[role] },
2082
+ updateBusinessAccountMemberRoleSdkRequest: { role },
2026
2083
  userId
2027
2084
  });
2028
2085
  };
@@ -2314,6 +2371,12 @@ Object.defineProperty(exports, 'importWaasPrivateKey', {
2314
2371
  return importWaasPrivateKey;
2315
2372
  }
2316
2373
  });
2374
+ Object.defineProperty(exports, 'isBusinessAccountActionRequired', {
2375
+ enumerable: true,
2376
+ get: function () {
2377
+ return isBusinessAccountActionRequired;
2378
+ }
2379
+ });
2317
2380
  Object.defineProperty(exports, 'isPasswordRequiredForWaasWallets', {
2318
2381
  enumerable: true,
2319
2382
  get: function () {
@@ -2464,4 +2527,4 @@ Object.defineProperty(exports, 'upsertWalletPolicyRule', {
2464
2527
  return upsertWalletPolicyRule;
2465
2528
  }
2466
2529
  });
2467
- //# sourceMappingURL=waas-WID2Fy_N.cjs.map
2530
+ //# sourceMappingURL=waas-C0IDCf3u.cjs.map