@dynamic-labs-sdk/client 1.23.1 → 1.24.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.
- package/dist/{NativeModuleNotLinkedError-DLP1hpcM.native.esm.js → NativeModuleNotLinkedError-CJy_4-6r.native.esm.js} +2 -2
- package/dist/{NativeModuleNotLinkedError-DLP1hpcM.native.esm.js.map → NativeModuleNotLinkedError-CJy_4-6r.native.esm.js.map} +1 -1
- package/dist/{consumeMfaTokenIfRequiredForAction-DJAdtHe3.cjs → consumeMfaTokenIfRequiredForAction-B6nFE5IO.cjs} +2 -2
- package/dist/{consumeMfaTokenIfRequiredForAction-DJAdtHe3.cjs.map → consumeMfaTokenIfRequiredForAction-B6nFE5IO.cjs.map} +1 -1
- package/dist/{consumeMfaTokenIfRequiredForAction-D2oiQdpj.esm.js → consumeMfaTokenIfRequiredForAction-DXTH4qki.esm.js} +2 -2
- package/dist/{consumeMfaTokenIfRequiredForAction-D2oiQdpj.esm.js.map → consumeMfaTokenIfRequiredForAction-DXTH4qki.esm.js.map} +1 -1
- package/dist/core.cjs +7 -6
- package/dist/core.cjs.map +1 -1
- package/dist/core.esm.js +9 -9
- package/dist/core.esm.js.map +1 -1
- package/dist/core.native.esm.js +6 -6
- package/dist/core.native.esm.js.map +1 -1
- package/dist/exports/core.d.ts +2 -0
- package/dist/exports/core.d.ts.map +1 -1
- package/dist/exports/waas.d.ts +1 -1
- package/dist/exports/waas.d.ts.map +1 -1
- package/dist/{getNetworkProviderFromNetworkId-BVP0ghId.cjs → getNetworkProviderFromNetworkId-CZjFA5G8.cjs} +64 -2
- package/dist/getNetworkProviderFromNetworkId-CZjFA5G8.cjs.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-OfuaqHXU.esm.js → getNetworkProviderFromNetworkId-CjdC5HjA.esm.js} +63 -7
- package/dist/getNetworkProviderFromNetworkId-CjdC5HjA.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-Bh4_-rhf.native.esm.js → getNetworkProviderFromNetworkId-R8IKGc6s.native.esm.js} +59 -3
- package/dist/getNetworkProviderFromNetworkId-R8IKGc6s.native.esm.js.map +1 -0
- package/dist/{getSignedSessionId-2jmv21__.native.esm.js → getSignedSessionId-B6Eqmue0.native.esm.js} +3 -3
- package/dist/{getSignedSessionId-2jmv21__.native.esm.js.map → getSignedSessionId-B6Eqmue0.native.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-CDEQ6TMC.esm.js → getSignedSessionId-BYR70F5w.esm.js} +2 -2
- package/dist/{getSignedSessionId-CDEQ6TMC.esm.js.map → getSignedSessionId-BYR70F5w.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-_ZPqzvm5.cjs → getSignedSessionId-BpUNqL9z.cjs} +2 -2
- package/dist/{getSignedSessionId-_ZPqzvm5.cjs.map → getSignedSessionId-BpUNqL9z.cjs.map} +1 -1
- package/dist/{getWalletProviderByKey-BIHCI8S6.esm.js → getWalletProviderByKey-BVVFLnfy.esm.js} +2 -2
- package/dist/{getWalletProviderByKey-BIHCI8S6.esm.js.map → getWalletProviderByKey-BVVFLnfy.esm.js.map} +1 -1
- package/dist/{getWalletProviderByKey-0VBVdu30.native.esm.js → getWalletProviderByKey-CqdhcE7y.native.esm.js} +2 -2
- package/dist/{getWalletProviderByKey-0VBVdu30.native.esm.js.map → getWalletProviderByKey-CqdhcE7y.native.esm.js.map} +1 -1
- package/dist/{getWalletProviderByKey-F5wxlC_k.cjs → getWalletProviderByKey-D2ElEmJR.cjs} +2 -2
- package/dist/{getWalletProviderByKey-F5wxlC_k.cjs.map → getWalletProviderByKey-D2ElEmJR.cjs.map} +1 -1
- package/dist/index.cjs +9 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +11 -67
- package/dist/index.esm.js.map +1 -1
- package/dist/index.native.esm.js +8 -64
- package/dist/index.native.esm.js.map +1 -1
- package/dist/{isDynamicWaasEnabled-YigU-EAT.cjs → isDynamicWaasEnabled-B7_FiTkx.cjs} +2 -2
- package/dist/{isDynamicWaasEnabled-YigU-EAT.cjs.map → isDynamicWaasEnabled-B7_FiTkx.cjs.map} +1 -1
- package/dist/{isDynamicWaasEnabled-OlDJAGIi.esm.js → isDynamicWaasEnabled-Ck0VFh7Z.esm.js} +2 -2
- package/dist/{isDynamicWaasEnabled-OlDJAGIi.esm.js.map → isDynamicWaasEnabled-Ck0VFh7Z.esm.js.map} +1 -1
- package/dist/{isDynamicWaasEnabled-cVxCp5BV.native.esm.js → isDynamicWaasEnabled-yo_LqzH5.native.esm.js} +2 -2
- package/dist/{isDynamicWaasEnabled-cVxCp5BV.native.esm.js.map → isDynamicWaasEnabled-yo_LqzH5.native.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-BtPXuiSY.cjs → isMfaRequiredForAction-B3FO4Zbn.cjs} +2 -2
- package/dist/{isMfaRequiredForAction-BtPXuiSY.cjs.map → isMfaRequiredForAction-B3FO4Zbn.cjs.map} +1 -1
- package/dist/{isMfaRequiredForAction-Bn2HCYvZ.esm.js → isMfaRequiredForAction-CnO4g-V0.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-Bn2HCYvZ.esm.js.map → isMfaRequiredForAction-CnO4g-V0.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-DjC0wQJ4.native.esm.js → isMfaRequiredForAction-Zi7_K00W.native.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-DjC0wQJ4.native.esm.js.map → isMfaRequiredForAction-Zi7_K00W.native.esm.js.map} +1 -1
- package/dist/{isUserOnboardingComplete-DScTOOg_.esm.js → isUserOnboardingComplete-DZk1nVHO.esm.js} +3 -3
- package/dist/{isUserOnboardingComplete-DScTOOg_.esm.js.map → isUserOnboardingComplete-DZk1nVHO.esm.js.map} +1 -1
- package/dist/{isUserOnboardingComplete-BCZpska8.native.esm.js → isUserOnboardingComplete-DcRl6Q1f.native.esm.js} +3 -3
- package/dist/{isUserOnboardingComplete-BCZpska8.native.esm.js.map → isUserOnboardingComplete-DcRl6Q1f.native.esm.js.map} +1 -1
- package/dist/{isUserOnboardingComplete-Bi7tw1lk.cjs → isUserOnboardingComplete-Dnx30meW.cjs} +3 -3
- package/dist/{isUserOnboardingComplete-Bi7tw1lk.cjs.map → isUserOnboardingComplete-Dnx30meW.cjs.map} +1 -1
- package/dist/{migrateFromFireblocks-7aKNa_3P.native.esm.js → migrateFromFireblocks-COEK_Acn.native.esm.js} +13 -13
- package/dist/migrateFromFireblocks-COEK_Acn.native.esm.js.map +1 -0
- package/dist/{migrateFromFireblocks-BnHU2AZJ.cjs → migrateFromFireblocks-CdSxWZav.cjs} +13 -13
- package/dist/migrateFromFireblocks-CdSxWZav.cjs.map +1 -0
- package/dist/{migrateFromFireblocks-DkQj3aYU.esm.js → migrateFromFireblocks-nkmSeZrn.esm.js} +14 -14
- package/dist/migrateFromFireblocks-nkmSeZrn.esm.js.map +1 -0
- package/dist/modules/flow/prepareFlowSigning/prepareFlowSigning.d.ts +2 -2
- package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts +7 -11
- package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts.map +1 -1
- package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts +4 -4
- package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts.map +1 -1
- package/dist/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.d.ts +1 -1
- package/dist/modules/waas/businessAccounts/assertTargetIdentity.d.ts +14 -0
- package/dist/modules/waas/businessAccounts/assertTargetIdentity.d.ts.map +1 -0
- package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts +15 -1
- package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts.map +1 -1
- package/dist/modules/waas/waas.types.d.ts +2 -2
- package/dist/modules/waas/waas.types.d.ts.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/{updateAuthFromVerifyResponse-B2QePeNz.cjs → updateAuthFromVerifyResponse-BSORoVT0.cjs} +2 -2
- package/dist/{updateAuthFromVerifyResponse-B2QePeNz.cjs.map → updateAuthFromVerifyResponse-BSORoVT0.cjs.map} +1 -1
- package/dist/{updateAuthFromVerifyResponse-wHGRunTk.esm.js → updateAuthFromVerifyResponse-D0Tt9-Z-.esm.js} +2 -2
- package/dist/{updateAuthFromVerifyResponse-wHGRunTk.esm.js.map → updateAuthFromVerifyResponse-D0Tt9-Z-.esm.js.map} +1 -1
- package/dist/waas.cjs +64 -39
- package/dist/waas.cjs.map +1 -1
- package/dist/waas.esm.js +64 -39
- package/dist/waas.esm.js.map +1 -1
- package/dist/waas.native.esm.js +63 -38
- package/dist/waas.native.esm.js.map +1 -1
- package/dist/waasCore.cjs +7 -7
- package/dist/waasCore.esm.js +7 -7
- package/dist/waasCore.native.esm.js +6 -6
- package/ios/DynamicClientScreenshotProtection.mm +11 -0
- package/package.json +2 -2
- package/dist/getNetworkProviderFromNetworkId-BVP0ghId.cjs.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-Bh4_-rhf.native.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-OfuaqHXU.esm.js.map +0 -1
- package/dist/migrateFromFireblocks-7aKNa_3P.native.esm.js.map +0 -1
- package/dist/migrateFromFireblocks-BnHU2AZJ.cjs.map +0 -1
- package/dist/migrateFromFireblocks-DkQj3aYU.esm.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_updateAuthFromVerifyResponse = require('./updateAuthFromVerifyResponse-
|
|
2
|
-
const require_isDynamicWaasEnabled = require('./isDynamicWaasEnabled-
|
|
3
|
-
const require_getSignedSessionId = require('./getSignedSessionId-
|
|
1
|
+
const require_updateAuthFromVerifyResponse = require('./updateAuthFromVerifyResponse-BSORoVT0.cjs');
|
|
2
|
+
const require_isDynamicWaasEnabled = require('./isDynamicWaasEnabled-B7_FiTkx.cjs');
|
|
3
|
+
const require_getSignedSessionId = require('./getSignedSessionId-BpUNqL9z.cjs');
|
|
4
4
|
let _dynamic_labs_wallet_browser_wallet_client = require("@dynamic-labs-wallet/browser-wallet-client");
|
|
5
5
|
|
|
6
6
|
//#region src/errors/NotWaasWalletProviderError.ts
|
|
@@ -16,6 +16,15 @@ var NotWaasWalletProviderError = class extends require_updateAuthFromVerifyRespo
|
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.ts
|
|
21
|
+
/** @notInstrumented */
|
|
22
|
+
const getWaasWalletProviderFromWalletAccount = ({ walletAccount }, client) => {
|
|
23
|
+
const walletProvider = require_updateAuthFromVerifyResponse.getWalletProviderFromWalletAccount({ walletAccount }, client);
|
|
24
|
+
if (!require_updateAuthFromVerifyResponse.isWaasWalletProvider(walletProvider)) throw new require_isDynamicWaasEnabled.NotWaasWalletAccountError({ walletAddress: walletAccount.address });
|
|
25
|
+
return walletProvider;
|
|
26
|
+
};
|
|
27
|
+
|
|
19
28
|
//#endregion
|
|
20
29
|
//#region src/modules/waas/createWaasClient/createWaasClient.ts
|
|
21
30
|
/** @notInstrumented */
|
|
@@ -53,15 +62,6 @@ const getWaasChainNameFromChain = (chain) => {
|
|
|
53
62
|
return require_updateAuthFromVerifyResponse.CHAINS_INFO_MAP[chain].waasChainNameOverride || chain;
|
|
54
63
|
};
|
|
55
64
|
|
|
56
|
-
//#endregion
|
|
57
|
-
//#region src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.ts
|
|
58
|
-
/** @notInstrumented */
|
|
59
|
-
const getWaasWalletProviderFromWalletAccount = ({ walletAccount }, client) => {
|
|
60
|
-
const walletProvider = require_updateAuthFromVerifyResponse.getWalletProviderFromWalletAccount({ walletAccount }, client);
|
|
61
|
-
if (!require_updateAuthFromVerifyResponse.isWaasWalletProvider(walletProvider)) throw new require_isDynamicWaasEnabled.NotWaasWalletAccountError({ walletAddress: walletAccount.address });
|
|
62
|
-
return walletProvider;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
65
|
//#endregion
|
|
66
66
|
//#region src/modules/waas/migrateFromFireblocks/migrateFromFireblocks.ts
|
|
67
67
|
/**
|
|
@@ -130,4 +130,4 @@ Object.defineProperty(exports, 'migrateFromFireblocks', {
|
|
|
130
130
|
return migrateFromFireblocks;
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
|
-
//# sourceMappingURL=migrateFromFireblocks-
|
|
133
|
+
//# sourceMappingURL=migrateFromFireblocks-CdSxWZav.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateFromFireblocks-CdSxWZav.cjs","names":["BaseError","getWalletProviderFromWalletAccount","isWaasWalletProvider","NotWaasWalletAccountError","createWaasClient: CreateWaasClient","getCore","DynamicWalletClient","isCookieEnabled","DEFAULT_WAAS_BASE_API_URL","DEFAULT_WAAS_BASE_MPC_RELAY_API_URL","CLIENT_SDK_NAME","getSignedSessionId","logoutWithReason","CHAINS_INFO_MAP","getDefaultClient","getWalletProviders","NoWalletProviderFoundError","DYNAMIC_WAAS_METADATA","isWaasWalletProvider","refreshAuth"],"sources":["../src/errors/NotWaasWalletProviderError.ts","../src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.ts","../src/modules/waas/createWaasClient/createWaasClient.ts","../src/modules/waas/getWaasChainNameFromChain/getWaasChainNameFromChain.ts","../src/modules/waas/migrateFromFireblocks/migrateFromFireblocks.ts"],"sourcesContent":["import { BaseError } from './base';\n\ntype NotWaasWalletProviderErrorParams = {\n walletProviderKey: string;\n};\n\nexport class NotWaasWalletProviderError extends BaseError {\n constructor({ walletProviderKey }: NotWaasWalletProviderErrorParams) {\n super({\n cause: null,\n code: 'not_waas_wallet_provider_error',\n docsUrl: null,\n name: 'NotWaasWalletProviderError',\n shortMessage: `Wallet provider ${walletProviderKey} is not a Dynamic WaaS wallet provider`,\n });\n }\n}\n","import type { DynamicClient } from '../../../client/types/DynamicClient';\nimport { NotWaasWalletAccountError } from '../../../errors/NotWaasWalletAccountError';\nimport { getWalletProviderFromWalletAccount } from '../../wallets/utils/getWalletProviderFromWalletAccount';\nimport type { WalletAccount } from '../../wallets/walletAccount';\nimport { isWaasWalletProvider } from '../isWaasWalletProvider';\nimport type { WaasWalletProvider } from '../waas.types';\n\ntype GetWalletProviderFromWalletAccountParams = {\n walletAccount: WalletAccount;\n};\n\n/** @notInstrumented */\nexport const getWaasWalletProviderFromWalletAccount = (\n { walletAccount }: GetWalletProviderFromWalletAccountParams,\n client: DynamicClient\n): WaasWalletProvider => {\n const walletProvider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isWaasWalletProvider(walletProvider)) {\n throw new NotWaasWalletAccountError({\n walletAddress: walletAccount.address,\n });\n }\n\n return walletProvider;\n};\n","import type { AuthMode } from '@dynamic-labs-wallet/browser-wallet-client';\nimport { DynamicWalletClient } from '@dynamic-labs-wallet/browser-wallet-client';\n\nimport { getCore } from '../../../client/core/getCore';\nimport { CLIENT_SDK_NAME } from '../../apiClient/constants';\nimport { logoutWithReason } from '../../auth/logoutWithReason';\nimport { isCookieEnabled } from '../../projectSettings/isCookieEnabled';\nimport { getSignedSessionId } from '../../sessionKeys/getSignedSessionId';\nimport type { CreateWaasClient } from './createWaasClient.types';\nimport {\n DEFAULT_WAAS_BASE_API_URL,\n DEFAULT_WAAS_BASE_MPC_RELAY_API_URL,\n} from '../constants';\n\n/** @notInstrumented */\nexport const createWaasClient: CreateWaasClient = ({ chainName }, client) => {\n const core = getCore(client);\n\n const additionalTrustedOrigins = core.waas?.additionalTrustedOrigins;\n\n const baseClientKeysharesRelayApiUrl =\n client.projectSettings?.sdk.waas?.customKeyshareRelayBaseUrl;\n\n return new DynamicWalletClient(\n {\n authMode: (isCookieEnabled(client) ? 'cookie' : 'header') as AuthMode,\n authToken: client.token || '',\n baseApiUrl: (core.apiBaseUrl || DEFAULT_WAAS_BASE_API_URL).replace(\n '/api/v0',\n ''\n ),\n baseMPCRelayApiUrl:\n client.projectSettings?.sdk.waas?.relayUrl ||\n DEFAULT_WAAS_BASE_MPC_RELAY_API_URL,\n chainName,\n // Opt into the SDK self-driving eager key-share recovery on auth-token\n // arrival, so the client no longer restores shares itself on login.\n eagerlyRecoverKeyShares: true,\n environmentId: core.environmentId,\n sdkVersion: `${CLIENT_SDK_NAME}/${core.version}`,\n ...(additionalTrustedOrigins == undefined\n ? {}\n : { additionalTrustedOrigins }),\n ...(baseClientKeysharesRelayApiUrl == undefined\n ? {}\n : { baseClientKeysharesRelayApiUrl }),\n ...(core.waas?.loadTimeoutMs == undefined\n ? {}\n : { iframeLoadTimeout: core.waas.loadTimeoutMs }),\n ...(core.waas?.maxLoadRetries == undefined\n ? {}\n : { maxRetryAttempts: core.waas.maxLoadRetries }),\n },\n {\n // Lets the iframe mint a fresh signed session id over the reverse channel,\n // which the SDK's eager key-share recovery needs.\n getSignedSessionId: () =>\n getSignedSessionId(client).then(({ signature }) => signature),\n // When the WaaS iframe's own backend call returns 401 (e.g. a forcibly\n // revoked token), the iframe notifies the host via the reverse channel\n // and this fires — log the user out. Mirrors the session-expiry\n // middleware that covers the SDK's own direct API 401s.\n onUnauthorized: () => {\n void logoutWithReason(\n { reason: 'session-refresh-unauthorized' },\n client\n ).catch((error) => {\n core.logger.error(\n 'Failed to log out after WaaS unauthorized response',\n error\n );\n });\n },\n }\n );\n};\n","import type { Chain } from '../../chain';\nimport { CHAINS_INFO_MAP } from '../../wallets/constants';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getWaasChainNameFromChain = (chain: Chain): string => {\n return CHAINS_INFO_MAP[chain].waasChainNameOverride || chain;\n};\n","import type { MigrateFromFireblocksResponse } from '@dynamic-labs-wallet/browser-wallet-client';\n\nimport { getDefaultClient } from '../../../client/defaultClient';\nimport { NoWalletProviderFoundError } from '../../../errors/NoWalletProviderFoundError';\nimport { NotWaasWalletProviderError } from '../../../errors/NotWaasWalletProviderError';\nimport { refreshAuth } from '../../user/refreshAuth';\nimport { getWalletProviders } from '../../wallets/getWalletProviders';\nimport { DYNAMIC_WAAS_METADATA } from '../constants';\nimport { isWaasWalletProvider } from '../isWaasWalletProvider';\n\ntype MigrateFromFireblocksParams = {\n /**\n * Optional SLIP-0044 coin types per chain name for BIP44 derivation off the\n * Fireblocks takeover xprv (e.g. `{ EVM: 1 }` for Sepolia).\n */\n coinTypes?: Record<string, number>;\n /**\n * The Fireblocks NCW device id whose key material is being migrated.\n */\n deviceId: string;\n /**\n * Required per-chain expected wallet address (the address Fireblocks held). Its\n * keys are the chains migration runs on, and the migration iframe verifies each\n * imported Dynamic address matches the value, so a wrong derivation fails loudly\n * instead of producing an unusable wallet.\n */\n expectedAddresses: Record<string, string>;\n /**\n * The Fireblocks-issued JWT authorizing the takeover.\n */\n jwt: string;\n /**\n * The password that encrypted the legacy Fireblocks NCW device storage.\n */\n password: string;\n /**\n * The serialized Fireblocks NCW device storage (the local key share backup).\n */\n storage: Record<string, string>;\n};\n\n/**\n * Migrates an existing Fireblocks NCW wallet into Dynamic's WaaS infrastructure.\n *\n * Migration is a single cross-chain operation: one call takes over the Fireblocks\n * key material and provisions Dynamic WaaS wallet accounts for every supported\n * chain. Because it is not per-chain, this resolves a single WaaS wallet provider\n * (any registered chain) and delegates the takeover to it.\n *\n * @param params.deviceId - The Fireblocks NCW device id being migrated.\n * @param params.jwt - The Fireblocks-issued JWT authorizing the takeover.\n * @param params.storage - The serialized Fireblocks NCW device storage.\n * @param params.password - The password that encrypted the legacy device storage.\n * @param params.expectedAddresses - Required per-chain expected address; its keys are the chains migration runs on, and each imported address is verified against it.\n * @param [params.coinTypes] - Optional SLIP-0044 coin types per chain name.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise resolving to the per-chain migration results.\n * @notInstrumented\n */\nexport const migrateFromFireblocks = async (\n {\n coinTypes,\n deviceId,\n expectedAddresses,\n jwt,\n password,\n storage,\n }: MigrateFromFireblocksParams,\n client = getDefaultClient()\n): Promise<MigrateFromFireblocksResponse> => {\n const providers = getWalletProviders(client);\n\n if (providers.length === 0) {\n throw new NoWalletProviderFoundError({\n walletProviderKey: DYNAMIC_WAAS_METADATA.displayName,\n });\n }\n\n // Migration is cross-chain, so any registered WaaS provider can drive the\n // takeover. Resolve the first one rather than iterating per chain.\n const waasProvider = providers.find(isWaasWalletProvider);\n\n if (!waasProvider) {\n throw new NotWaasWalletProviderError({\n walletProviderKey: providers[0].key,\n });\n }\n\n const result = await waasProvider.migrateFromFireblocks({\n coinTypes,\n deviceId,\n expectedAddresses,\n jwt,\n password,\n storage,\n });\n\n await refreshAuth(client);\n\n return result;\n};\n"],"mappings":";;;;;;AAMA,IAAa,6BAAb,cAAgDA,+CAAU;CACxD,YAAY,EAAE,qBAAuD;AACnE,QAAM;GACJ,OAAO;GACP,MAAM;GACN,SAAS;GACT,MAAM;GACN,cAAc,mBAAmB,kBAAkB;GACpD,CAAC;;;;;;;ACFN,MAAa,0CACX,EAAE,iBACF,WACuB;CACvB,MAAM,iBAAiBC,wEACrB,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAACC,0DAAqB,eAAe,CACvC,OAAM,IAAIC,uDAA0B,EAClC,eAAe,cAAc,SAC9B,CAAC;AAGJ,QAAO;;;;;;ACZT,MAAaC,oBAAsC,EAAE,aAAa,WAAW;CAC3E,MAAM,OAAOC,6CAAQ,OAAO;CAE5B,MAAM,2BAA2B,KAAK,MAAM;CAE5C,MAAM,iCACJ,OAAO,iBAAiB,IAAI,MAAM;AAEpC,QAAO,IAAIC,+DACT;EACE,UAAWC,qDAAgB,OAAO,GAAG,WAAW;EAChD,WAAW,OAAO,SAAS;EAC3B,aAAa,KAAK,cAAcC,gEAA2B,QACzD,WACA,GACD;EACD,oBACE,OAAO,iBAAiB,IAAI,MAAM,YAClCC;EACF;EAGA,yBAAyB;EACzB,eAAe,KAAK;EACpB,YAAY,GAAGC,qDAAgB,GAAG,KAAK;EACvC,GAAI,4BAA4B,SAC5B,EAAE,GACF,EAAE,0BAA0B;EAChC,GAAI,kCAAkC,SAClC,EAAE,GACF,EAAE,gCAAgC;EACtC,GAAI,KAAK,MAAM,iBAAiB,SAC5B,EAAE,GACF,EAAE,mBAAmB,KAAK,KAAK,eAAe;EAClD,GAAI,KAAK,MAAM,kBAAkB,SAC7B,EAAE,GACF,EAAE,kBAAkB,KAAK,KAAK,gBAAgB;EACnD,EACD;EAGE,0BACEC,8CAAmB,OAAO,CAAC,MAAM,EAAE,gBAAgB,UAAU;EAK/D,sBAAsB;AACpB,GAAKC,gEACH,EAAE,QAAQ,gCAAgC,EAC1C,OACD,CAAC,OAAO,UAAU;AACjB,SAAK,OAAO,MACV,sDACA,MACD;KACD;;EAEL,CACF;;;;;;ACrEH,MAAa,6BAA6B,UAAyB;AACjE,QAAOC,qDAAgB,OAAO,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;ACqDzD,MAAa,wBAAwB,OACnC,EACE,WACA,UACA,mBACA,KACA,UACA,WAEF,SAASC,uDAAkB,KACgB;CAC3C,MAAM,YAAYC,wDAAmB,OAAO;AAE5C,KAAI,UAAU,WAAW,EACvB,OAAM,IAAIC,gEAA2B,EACnC,mBAAmBC,2DAAsB,aAC1C,CAAC;CAKJ,MAAM,eAAe,UAAU,KAAKC,0DAAqB;AAEzD,KAAI,CAAC,aACH,OAAM,IAAI,2BAA2B,EACnC,mBAAmB,UAAU,GAAG,KACjC,CAAC;CAGJ,MAAM,SAAS,MAAM,aAAa,sBAAsB;EACtD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,OAAMC,mDAAY,OAAO;AAEzB,QAAO"}
|
package/dist/{migrateFromFireblocks-DkQj3aYU.esm.js → migrateFromFireblocks-nkmSeZrn.esm.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as getWalletProviderFromWalletAccount, D as NoWalletProviderFoundError, F as CHAINS_INFO_MAP, _t as getDefaultClient, bt as BaseError, c as isWaasWalletProvider, d as DYNAMIC_WAAS_METADATA, f as getWalletProviders, g as __logoutWithReason_wrapped, l as DEFAULT_WAAS_BASE_API_URL, ot as CLIENT_SDK_NAME, u as DEFAULT_WAAS_BASE_MPC_RELAY_API_URL, ut as isCookieEnabled, xt as getCore } from "./updateAuthFromVerifyResponse-
|
|
2
|
-
import { n as NotWaasWalletAccountError, r as __refreshAuth_wrapped } from "./isDynamicWaasEnabled-
|
|
3
|
-
import { t as getSignedSessionId } from "./getSignedSessionId-
|
|
1
|
+
import { C as getWalletProviderFromWalletAccount, D as NoWalletProviderFoundError, F as CHAINS_INFO_MAP, _t as getDefaultClient, bt as BaseError, c as isWaasWalletProvider, d as DYNAMIC_WAAS_METADATA, f as getWalletProviders, g as __logoutWithReason_wrapped, l as DEFAULT_WAAS_BASE_API_URL, ot as CLIENT_SDK_NAME, u as DEFAULT_WAAS_BASE_MPC_RELAY_API_URL, ut as isCookieEnabled, xt as getCore } from "./updateAuthFromVerifyResponse-D0Tt9-Z-.esm.js";
|
|
2
|
+
import { n as NotWaasWalletAccountError, r as __refreshAuth_wrapped } from "./isDynamicWaasEnabled-Ck0VFh7Z.esm.js";
|
|
3
|
+
import { t as getSignedSessionId } from "./getSignedSessionId-BYR70F5w.esm.js";
|
|
4
4
|
import { DynamicWalletClient } from "@dynamic-labs-wallet/browser-wallet-client";
|
|
5
5
|
|
|
6
6
|
//#region src/errors/NotWaasWalletProviderError.ts
|
|
@@ -16,6 +16,15 @@ var NotWaasWalletProviderError = class extends BaseError {
|
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.ts
|
|
21
|
+
/** @notInstrumented */
|
|
22
|
+
const getWaasWalletProviderFromWalletAccount = ({ walletAccount }, client) => {
|
|
23
|
+
const walletProvider = getWalletProviderFromWalletAccount({ walletAccount }, client);
|
|
24
|
+
if (!isWaasWalletProvider(walletProvider)) throw new NotWaasWalletAccountError({ walletAddress: walletAccount.address });
|
|
25
|
+
return walletProvider;
|
|
26
|
+
};
|
|
27
|
+
|
|
19
28
|
//#endregion
|
|
20
29
|
//#region src/modules/waas/createWaasClient/createWaasClient.ts
|
|
21
30
|
/** @notInstrumented */
|
|
@@ -53,15 +62,6 @@ const getWaasChainNameFromChain = (chain) => {
|
|
|
53
62
|
return CHAINS_INFO_MAP[chain].waasChainNameOverride || chain;
|
|
54
63
|
};
|
|
55
64
|
|
|
56
|
-
//#endregion
|
|
57
|
-
//#region src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.ts
|
|
58
|
-
/** @notInstrumented */
|
|
59
|
-
const getWaasWalletProviderFromWalletAccount = ({ walletAccount }, client) => {
|
|
60
|
-
const walletProvider = getWalletProviderFromWalletAccount({ walletAccount }, client);
|
|
61
|
-
if (!isWaasWalletProvider(walletProvider)) throw new NotWaasWalletAccountError({ walletAddress: walletAccount.address });
|
|
62
|
-
return walletProvider;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
65
|
//#endregion
|
|
66
66
|
//#region src/modules/waas/migrateFromFireblocks/migrateFromFireblocks.ts
|
|
67
67
|
/**
|
|
@@ -100,5 +100,5 @@ const migrateFromFireblocks = async ({ coinTypes, deviceId, expectedAddresses, j
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
//#endregion
|
|
103
|
-
export { NotWaasWalletProviderError as a,
|
|
104
|
-
//# sourceMappingURL=migrateFromFireblocks-
|
|
103
|
+
export { NotWaasWalletProviderError as a, getWaasWalletProviderFromWalletAccount as i, getWaasChainNameFromChain as n, createWaasClient as r, migrateFromFireblocks as t };
|
|
104
|
+
//# sourceMappingURL=migrateFromFireblocks-nkmSeZrn.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateFromFireblocks-nkmSeZrn.esm.js","names":["createWaasClient: CreateWaasClient","logoutWithReason","refreshAuth"],"sources":["../src/errors/NotWaasWalletProviderError.ts","../src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.ts","../src/modules/waas/createWaasClient/createWaasClient.ts","../src/modules/waas/getWaasChainNameFromChain/getWaasChainNameFromChain.ts","../src/modules/waas/migrateFromFireblocks/migrateFromFireblocks.ts"],"sourcesContent":["import { BaseError } from './base';\n\ntype NotWaasWalletProviderErrorParams = {\n walletProviderKey: string;\n};\n\nexport class NotWaasWalletProviderError extends BaseError {\n constructor({ walletProviderKey }: NotWaasWalletProviderErrorParams) {\n super({\n cause: null,\n code: 'not_waas_wallet_provider_error',\n docsUrl: null,\n name: 'NotWaasWalletProviderError',\n shortMessage: `Wallet provider ${walletProviderKey} is not a Dynamic WaaS wallet provider`,\n });\n }\n}\n","import type { DynamicClient } from '../../../client/types/DynamicClient';\nimport { NotWaasWalletAccountError } from '../../../errors/NotWaasWalletAccountError';\nimport { getWalletProviderFromWalletAccount } from '../../wallets/utils/getWalletProviderFromWalletAccount';\nimport type { WalletAccount } from '../../wallets/walletAccount';\nimport { isWaasWalletProvider } from '../isWaasWalletProvider';\nimport type { WaasWalletProvider } from '../waas.types';\n\ntype GetWalletProviderFromWalletAccountParams = {\n walletAccount: WalletAccount;\n};\n\n/** @notInstrumented */\nexport const getWaasWalletProviderFromWalletAccount = (\n { walletAccount }: GetWalletProviderFromWalletAccountParams,\n client: DynamicClient\n): WaasWalletProvider => {\n const walletProvider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isWaasWalletProvider(walletProvider)) {\n throw new NotWaasWalletAccountError({\n walletAddress: walletAccount.address,\n });\n }\n\n return walletProvider;\n};\n","import type { AuthMode } from '@dynamic-labs-wallet/browser-wallet-client';\nimport { DynamicWalletClient } from '@dynamic-labs-wallet/browser-wallet-client';\n\nimport { getCore } from '../../../client/core/getCore';\nimport { CLIENT_SDK_NAME } from '../../apiClient/constants';\nimport { logoutWithReason } from '../../auth/logoutWithReason';\nimport { isCookieEnabled } from '../../projectSettings/isCookieEnabled';\nimport { getSignedSessionId } from '../../sessionKeys/getSignedSessionId';\nimport type { CreateWaasClient } from './createWaasClient.types';\nimport {\n DEFAULT_WAAS_BASE_API_URL,\n DEFAULT_WAAS_BASE_MPC_RELAY_API_URL,\n} from '../constants';\n\n/** @notInstrumented */\nexport const createWaasClient: CreateWaasClient = ({ chainName }, client) => {\n const core = getCore(client);\n\n const additionalTrustedOrigins = core.waas?.additionalTrustedOrigins;\n\n const baseClientKeysharesRelayApiUrl =\n client.projectSettings?.sdk.waas?.customKeyshareRelayBaseUrl;\n\n return new DynamicWalletClient(\n {\n authMode: (isCookieEnabled(client) ? 'cookie' : 'header') as AuthMode,\n authToken: client.token || '',\n baseApiUrl: (core.apiBaseUrl || DEFAULT_WAAS_BASE_API_URL).replace(\n '/api/v0',\n ''\n ),\n baseMPCRelayApiUrl:\n client.projectSettings?.sdk.waas?.relayUrl ||\n DEFAULT_WAAS_BASE_MPC_RELAY_API_URL,\n chainName,\n // Opt into the SDK self-driving eager key-share recovery on auth-token\n // arrival, so the client no longer restores shares itself on login.\n eagerlyRecoverKeyShares: true,\n environmentId: core.environmentId,\n sdkVersion: `${CLIENT_SDK_NAME}/${core.version}`,\n ...(additionalTrustedOrigins == undefined\n ? {}\n : { additionalTrustedOrigins }),\n ...(baseClientKeysharesRelayApiUrl == undefined\n ? {}\n : { baseClientKeysharesRelayApiUrl }),\n ...(core.waas?.loadTimeoutMs == undefined\n ? {}\n : { iframeLoadTimeout: core.waas.loadTimeoutMs }),\n ...(core.waas?.maxLoadRetries == undefined\n ? {}\n : { maxRetryAttempts: core.waas.maxLoadRetries }),\n },\n {\n // Lets the iframe mint a fresh signed session id over the reverse channel,\n // which the SDK's eager key-share recovery needs.\n getSignedSessionId: () =>\n getSignedSessionId(client).then(({ signature }) => signature),\n // When the WaaS iframe's own backend call returns 401 (e.g. a forcibly\n // revoked token), the iframe notifies the host via the reverse channel\n // and this fires — log the user out. Mirrors the session-expiry\n // middleware that covers the SDK's own direct API 401s.\n onUnauthorized: () => {\n void logoutWithReason(\n { reason: 'session-refresh-unauthorized' },\n client\n ).catch((error) => {\n core.logger.error(\n 'Failed to log out after WaaS unauthorized response',\n error\n );\n });\n },\n }\n );\n};\n","import type { Chain } from '../../chain';\nimport { CHAINS_INFO_MAP } from '../../wallets/constants';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getWaasChainNameFromChain = (chain: Chain): string => {\n return CHAINS_INFO_MAP[chain].waasChainNameOverride || chain;\n};\n","import type { MigrateFromFireblocksResponse } from '@dynamic-labs-wallet/browser-wallet-client';\n\nimport { getDefaultClient } from '../../../client/defaultClient';\nimport { NoWalletProviderFoundError } from '../../../errors/NoWalletProviderFoundError';\nimport { NotWaasWalletProviderError } from '../../../errors/NotWaasWalletProviderError';\nimport { refreshAuth } from '../../user/refreshAuth';\nimport { getWalletProviders } from '../../wallets/getWalletProviders';\nimport { DYNAMIC_WAAS_METADATA } from '../constants';\nimport { isWaasWalletProvider } from '../isWaasWalletProvider';\n\ntype MigrateFromFireblocksParams = {\n /**\n * Optional SLIP-0044 coin types per chain name for BIP44 derivation off the\n * Fireblocks takeover xprv (e.g. `{ EVM: 1 }` for Sepolia).\n */\n coinTypes?: Record<string, number>;\n /**\n * The Fireblocks NCW device id whose key material is being migrated.\n */\n deviceId: string;\n /**\n * Required per-chain expected wallet address (the address Fireblocks held). Its\n * keys are the chains migration runs on, and the migration iframe verifies each\n * imported Dynamic address matches the value, so a wrong derivation fails loudly\n * instead of producing an unusable wallet.\n */\n expectedAddresses: Record<string, string>;\n /**\n * The Fireblocks-issued JWT authorizing the takeover.\n */\n jwt: string;\n /**\n * The password that encrypted the legacy Fireblocks NCW device storage.\n */\n password: string;\n /**\n * The serialized Fireblocks NCW device storage (the local key share backup).\n */\n storage: Record<string, string>;\n};\n\n/**\n * Migrates an existing Fireblocks NCW wallet into Dynamic's WaaS infrastructure.\n *\n * Migration is a single cross-chain operation: one call takes over the Fireblocks\n * key material and provisions Dynamic WaaS wallet accounts for every supported\n * chain. Because it is not per-chain, this resolves a single WaaS wallet provider\n * (any registered chain) and delegates the takeover to it.\n *\n * @param params.deviceId - The Fireblocks NCW device id being migrated.\n * @param params.jwt - The Fireblocks-issued JWT authorizing the takeover.\n * @param params.storage - The serialized Fireblocks NCW device storage.\n * @param params.password - The password that encrypted the legacy device storage.\n * @param params.expectedAddresses - Required per-chain expected address; its keys are the chains migration runs on, and each imported address is verified against it.\n * @param [params.coinTypes] - Optional SLIP-0044 coin types per chain name.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise resolving to the per-chain migration results.\n * @notInstrumented\n */\nexport const migrateFromFireblocks = async (\n {\n coinTypes,\n deviceId,\n expectedAddresses,\n jwt,\n password,\n storage,\n }: MigrateFromFireblocksParams,\n client = getDefaultClient()\n): Promise<MigrateFromFireblocksResponse> => {\n const providers = getWalletProviders(client);\n\n if (providers.length === 0) {\n throw new NoWalletProviderFoundError({\n walletProviderKey: DYNAMIC_WAAS_METADATA.displayName,\n });\n }\n\n // Migration is cross-chain, so any registered WaaS provider can drive the\n // takeover. Resolve the first one rather than iterating per chain.\n const waasProvider = providers.find(isWaasWalletProvider);\n\n if (!waasProvider) {\n throw new NotWaasWalletProviderError({\n walletProviderKey: providers[0].key,\n });\n }\n\n const result = await waasProvider.migrateFromFireblocks({\n coinTypes,\n deviceId,\n expectedAddresses,\n jwt,\n password,\n storage,\n });\n\n await refreshAuth(client);\n\n return result;\n};\n"],"mappings":";;;;;;AAMA,IAAa,6BAAb,cAAgD,UAAU;CACxD,YAAY,EAAE,qBAAuD;AACnE,QAAM;GACJ,OAAO;GACP,MAAM;GACN,SAAS;GACT,MAAM;GACN,cAAc,mBAAmB,kBAAkB;GACpD,CAAC;;;;;;;ACFN,MAAa,0CACX,EAAE,iBACF,WACuB;CACvB,MAAM,iBAAiB,mCACrB,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAAC,qBAAqB,eAAe,CACvC,OAAM,IAAI,0BAA0B,EAClC,eAAe,cAAc,SAC9B,CAAC;AAGJ,QAAO;;;;;;ACZT,MAAaA,oBAAsC,EAAE,aAAa,WAAW;CAC3E,MAAM,OAAO,QAAQ,OAAO;CAE5B,MAAM,2BAA2B,KAAK,MAAM;CAE5C,MAAM,iCACJ,OAAO,iBAAiB,IAAI,MAAM;AAEpC,QAAO,IAAI,oBACT;EACE,UAAW,gBAAgB,OAAO,GAAG,WAAW;EAChD,WAAW,OAAO,SAAS;EAC3B,aAAa,KAAK,cAAc,2BAA2B,QACzD,WACA,GACD;EACD,oBACE,OAAO,iBAAiB,IAAI,MAAM,YAClC;EACF;EAGA,yBAAyB;EACzB,eAAe,KAAK;EACpB,YAAY,GAAG,gBAAgB,GAAG,KAAK;EACvC,GAAI,4BAA4B,SAC5B,EAAE,GACF,EAAE,0BAA0B;EAChC,GAAI,kCAAkC,SAClC,EAAE,GACF,EAAE,gCAAgC;EACtC,GAAI,KAAK,MAAM,iBAAiB,SAC5B,EAAE,GACF,EAAE,mBAAmB,KAAK,KAAK,eAAe;EAClD,GAAI,KAAK,MAAM,kBAAkB,SAC7B,EAAE,GACF,EAAE,kBAAkB,KAAK,KAAK,gBAAgB;EACnD,EACD;EAGE,0BACE,mBAAmB,OAAO,CAAC,MAAM,EAAE,gBAAgB,UAAU;EAK/D,sBAAsB;AACpB,GAAKC,2BACH,EAAE,QAAQ,gCAAgC,EAC1C,OACD,CAAC,OAAO,UAAU;AACjB,SAAK,OAAO,MACV,sDACA,MACD;KACD;;EAEL,CACF;;;;;;ACrEH,MAAa,6BAA6B,UAAyB;AACjE,QAAO,gBAAgB,OAAO,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;ACqDzD,MAAa,wBAAwB,OACnC,EACE,WACA,UACA,mBACA,KACA,UACA,WAEF,SAAS,kBAAkB,KACgB;CAC3C,MAAM,YAAY,mBAAmB,OAAO;AAE5C,KAAI,UAAU,WAAW,EACvB,OAAM,IAAI,2BAA2B,EACnC,mBAAmB,sBAAsB,aAC1C,CAAC;CAKJ,MAAM,eAAe,UAAU,KAAK,qBAAqB;AAEzD,KAAI,CAAC,aACH,OAAM,IAAI,2BAA2B,EACnC,mBAAmB,UAAU,GAAG,KACjC,CAAC;CAGJ,MAAM,SAAS,MAAM,aAAa,sBAAsB;EACtD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,OAAMC,sBAAY,OAAO;AAEzB,QAAO"}
|
|
@@ -3,13 +3,13 @@ export type PrepareFlowSigningParams = {
|
|
|
3
3
|
/**
|
|
4
4
|
* Whether to assert the balance for the gas cost of the transaction.
|
|
5
5
|
* If true, the prepare signing request will fail if the balance is not sufficient for the gas cost.
|
|
6
|
-
* @default
|
|
6
|
+
* @default true
|
|
7
7
|
*/
|
|
8
8
|
assertBalanceForGasCost?: boolean;
|
|
9
9
|
/**
|
|
10
10
|
* Whether to assert the balance for the transfer amount of the transaction.
|
|
11
11
|
* If true, the prepare signing request will fail if the balance is not sufficient for the transfer amount.
|
|
12
|
-
* @default
|
|
12
|
+
* @default true
|
|
13
13
|
*/
|
|
14
14
|
assertBalanceForTransferAmount?: boolean;
|
|
15
15
|
flowId: string;
|
package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
import type { DynamicClient } from '../../../../client/types';
|
|
2
|
-
import type { BusinessAccountMember, BusinessAccountMemberRole,
|
|
2
|
+
import type { BusinessAccountMember, BusinessAccountMemberRole, TargetIdentity } from '../businessAccounts.types';
|
|
3
3
|
type AddMemberParams = {
|
|
4
4
|
businessAccountId: string;
|
|
5
|
-
identifier?: string;
|
|
6
|
-
identifierType?: BusinessAccountSignerIdentifierType;
|
|
7
5
|
role?: BusinessAccountMemberRole;
|
|
8
|
-
|
|
6
|
+
targetIdentity: TargetIdentity;
|
|
9
7
|
};
|
|
10
8
|
/**
|
|
11
|
-
* Adds a member to an existing business account. Identify the target
|
|
12
|
-
* `userId`, or
|
|
13
|
-
* created if absent).
|
|
9
|
+
* Adds a member to an existing business account. Identify the target with a
|
|
10
|
+
* `targetIdentity`: a known `userId`, or an `identifier` + `identifierType`
|
|
11
|
+
* (e.g. an email — the user is created if absent).
|
|
14
12
|
*
|
|
15
13
|
* Calls the SDK API directly (not the WaaS iframe): this is a server-state
|
|
16
14
|
* mutation with no MPC step, so a rejection (e.g. a 422 resource-limit) surfaces
|
|
17
15
|
* as a thrown error rather than stalling in the iframe bridge.
|
|
18
16
|
*
|
|
19
17
|
* @param params.businessAccountId - The ID of the business account.
|
|
20
|
-
* @param
|
|
21
|
-
* @param [params.identifier] - The identifier value (e.g. an email address).
|
|
22
|
-
* @param [params.identifierType] - The identifier type (e.g. `email`).
|
|
18
|
+
* @param params.targetIdentity - The member to add (userId, or identifier + identifierType).
|
|
23
19
|
* @param [params.role] - The member role (`admin` or `viewer`). Defaults to `viewer`.
|
|
24
20
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
25
21
|
* @returns The created business account member.
|
|
26
22
|
* @notInstrumented
|
|
27
23
|
*/
|
|
28
|
-
export declare const addBusinessAccountMember: ({ businessAccountId,
|
|
24
|
+
export declare const addBusinessAccountMember: ({ businessAccountId, targetIdentity, role }: AddMemberParams, client?: DynamicClient) => Promise<BusinessAccountMember>;
|
|
29
25
|
export {};
|
|
30
26
|
//# sourceMappingURL=addBusinessAccountMember.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addBusinessAccountMember.d.ts","sourceRoot":"","sources":["../../../../../src/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addBusinessAccountMember.d.ts","sourceRoot":"","sources":["../../../../../src/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,cAAc,EACf,MAAM,2BAA2B,CAAC;AAEnC,KAAK,eAAe,GAAG;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,yBAAyB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,gDACU,eAAe,WACpD,aAAa,KACpB,OAAO,CAAC,qBAAqB,CAyB/B,CAAC"}
|
package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { WalletAccount } from '../../../wallets/walletAccount';
|
|
2
|
-
import type { BusinessAccountSignerType,
|
|
2
|
+
import type { BusinessAccountSignerType, TargetIdentity } from '../businessAccounts.types';
|
|
3
3
|
type AddSignerParams = {
|
|
4
4
|
businessAccountId?: string;
|
|
5
5
|
password?: string;
|
|
6
6
|
signerType?: BusinessAccountSignerType;
|
|
7
|
-
|
|
7
|
+
targetIdentity: TargetIdentity;
|
|
8
8
|
walletAccount: WalletAccount;
|
|
9
9
|
walletId?: string;
|
|
10
10
|
};
|
|
@@ -21,14 +21,14 @@ type AddSignerParams = {
|
|
|
21
21
|
* @param params.walletAccount - The wallet account to add the signer to.
|
|
22
22
|
* @param [params.businessAccountId] - The business account; found-or-created when omitted.
|
|
23
23
|
* @param [params.walletId] - The wallet UUID to link when finding-or-creating; defaults to `walletAccount.verifiedCredentialId`.
|
|
24
|
-
* @param params.
|
|
24
|
+
* @param params.targetIdentity - The signer to add (userId, or identifier + identifierType).
|
|
25
25
|
* @param [params.signerType] - `endUser` (default) or `server`.
|
|
26
26
|
* @param [params.password] - Password for the reshare, if the wallet is password-encrypted.
|
|
27
27
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
28
28
|
* @returns The new signer's share set id.
|
|
29
29
|
* @notInstrumented
|
|
30
30
|
*/
|
|
31
|
-
export declare const addBusinessAccountSigner: ({ walletAccount, businessAccountId, walletId,
|
|
31
|
+
export declare const addBusinessAccountSigner: ({ walletAccount, businessAccountId, walletId, targetIdentity, signerType, password, }: AddSignerParams, client?: import("../../../../exports").DynamicClient) => Promise<{
|
|
32
32
|
shareSetId: string;
|
|
33
33
|
}>;
|
|
34
34
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addBusinessAccountSigner.d.ts","sourceRoot":"","sources":["../../../../../src/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addBusinessAccountSigner.d.ts","sourceRoot":"","sources":["../../../../../src/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAKpE,OAAO,KAAK,EAEV,yBAAyB,EACzB,cAAc,EACf,MAAM,2BAA2B,CAAC;AAEnC,KAAK,eAAe,GAAG;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,0FAQhC,eAAe,2DAEjB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAuDhC,CAAC"}
|
|
@@ -5,7 +5,7 @@ type AddWalletParams = {
|
|
|
5
5
|
walletId: string;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
* Links
|
|
8
|
+
* Links a wallet to a business account, or omit `businessAccountId` to
|
|
9
9
|
* find-or-create the per-wallet business account (the server seats the wallet's
|
|
10
10
|
* owner as the first member/signer).
|
|
11
11
|
*
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TargetIdentity } from './businessAccounts.types';
|
|
2
|
+
type AssertTargetIdentityParams = {
|
|
3
|
+
fnName: string;
|
|
4
|
+
targetIdentity: TargetIdentity;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Asserts a {@link TargetIdentity} resolves to a user: a `userId`, or an
|
|
8
|
+
* `identifier` with its `identifierType`. Throws otherwise.
|
|
9
|
+
*
|
|
10
|
+
* @notInstrumented
|
|
11
|
+
*/
|
|
12
|
+
export declare const assertTargetIdentity: ({ fnName, targetIdentity, }: AssertTargetIdentityParams) => void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=assertTargetIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertTargetIdentity.d.ts","sourceRoot":"","sources":["../../../../src/modules/waas/businessAccounts/assertTargetIdentity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,gCAG9B,0BAA0B,KAAG,IAU/B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
1
2
|
/**
|
|
2
3
|
* A business account — the top-level container that groups members (users who
|
|
3
4
|
* can manage the account), signers (identities that hold key shares for the
|
|
@@ -154,9 +155,16 @@ export type BusinessAccountList = {
|
|
|
154
155
|
export type BusinessAccountMemberRole = 'owner' | 'admin' | 'viewer';
|
|
155
156
|
export type BusinessAccountSignerType = 'endUser' | 'server';
|
|
156
157
|
export type BusinessAccountSignerIdentifierType = 'email' | 'phoneNumber' | 'externalUserId' | 'socialUsername' | 'socialAccountId' | 'id';
|
|
157
|
-
export type
|
|
158
|
+
export type SocialProvider = `${ProviderEnum}`;
|
|
159
|
+
export type SmsCountryCode = {
|
|
160
|
+
isoCountryCode: string;
|
|
161
|
+
phoneCountryCode: string;
|
|
162
|
+
};
|
|
163
|
+
export type TargetIdentity = {
|
|
158
164
|
identifier?: string;
|
|
159
165
|
identifierType?: BusinessAccountSignerIdentifierType;
|
|
166
|
+
smsCountryCode?: SmsCountryCode;
|
|
167
|
+
socialProvider?: SocialProvider;
|
|
160
168
|
userId?: string;
|
|
161
169
|
};
|
|
162
170
|
export type BusinessAccountsApi = {
|
|
@@ -167,6 +175,12 @@ export type BusinessAccountsApi = {
|
|
|
167
175
|
role?: BusinessAccountMemberRole;
|
|
168
176
|
userId?: string;
|
|
169
177
|
}) => Promise<BusinessAccountMember>;
|
|
178
|
+
addSigner: (params: {
|
|
179
|
+
businessAccountId: string;
|
|
180
|
+
signerType?: BusinessAccountSignerType;
|
|
181
|
+
targetIdentity: TargetIdentity;
|
|
182
|
+
walletId: string;
|
|
183
|
+
}) => Promise<BusinessAccountSigner>;
|
|
170
184
|
addWalletToBusinessAccount: (params: {
|
|
171
185
|
businessAccountId?: string;
|
|
172
186
|
walletId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"businessAccounts.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/waas/businessAccounts/businessAccounts.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG;IACpD,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,mCAAmC,GAC3C,OAAO,GACP,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"businessAccounts.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/waas/businessAccounts/businessAccounts.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import type { Chain } from '../chain';
|
|
|
4
4
|
import type { LogoutReason } from '../auth/logoutReason';
|
|
5
5
|
import type { WalletAccount } from '../wallets/walletAccount';
|
|
6
6
|
import type { WalletProvider } from '../wallets/walletProvider';
|
|
7
|
-
import type { BusinessAccountSignerType,
|
|
7
|
+
import type { BusinessAccountSignerType, TargetIdentity } from './businessAccounts/businessAccounts.types';
|
|
8
8
|
export type { ThresholdSignatureScheme } from '@dynamic-labs-wallet/browser-wallet-client';
|
|
9
9
|
/**
|
|
10
10
|
* User-facing Bitcoin configuration type for wallet creation.
|
|
@@ -77,7 +77,7 @@ export type WaasProvider = {
|
|
|
77
77
|
businessAccountId: string;
|
|
78
78
|
password?: string;
|
|
79
79
|
signerType?: BusinessAccountSignerType;
|
|
80
|
-
targetSignerIdentity:
|
|
80
|
+
targetSignerIdentity: TargetIdentity;
|
|
81
81
|
walletAccount: WalletAccount;
|
|
82
82
|
}) => Promise<{
|
|
83
83
|
shareSetId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waas.types.d.ts","sourceRoot":"","sources":["../../../src/modules/waas/waas.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,6BAA6B,EAC7B,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EACV,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"waas.types.d.ts","sourceRoot":"","sources":["../../../src/modules/waas/waas.types.ts"],"names":[],"mappings":"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"}
|