@dynamic-labs-sdk/client 0.0.1-alpha.26 → 0.0.1-alpha.27

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 (158) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/InvalidParamError.cjs.js +17 -0
  3. package/InvalidParamError.esm.js +15 -0
  4. package/NotWaasWalletAccountError.cjs.js +17 -0
  5. package/NotWaasWalletAccountError.esm.js +15 -0
  6. package/constants.cjs.js +9 -174
  7. package/constants.esm.js +7 -166
  8. package/core.cjs.js +55 -43
  9. package/core.esm.js +31 -22
  10. package/formatSignInMessage.cjs.js +34 -240
  11. package/formatSignInMessage.esm.js +25 -224
  12. package/getChainFromVerifiedCredentialChain.cjs.js +223 -0
  13. package/getChainFromVerifiedCredentialChain.esm.js +209 -0
  14. package/getSignedSessionId.cjs.js +17 -18
  15. package/getSignedSessionId.esm.js +12 -13
  16. package/getWalletProviderByKey.cjs.js +37 -62
  17. package/getWalletProviderByKey.esm.js +28 -51
  18. package/index.cjs.js +510 -375
  19. package/index.esm.js +326 -200
  20. package/isMfaRequiredForAction.cjs.js +303 -0
  21. package/isMfaRequiredForAction.esm.js +287 -0
  22. package/package.json +4 -4
  23. package/src/errors/InvalidParamError.d.ts +5 -0
  24. package/src/errors/InvalidParamError.d.ts.map +1 -0
  25. package/src/errors/NetworkSwitchingUnavailableError.d.ts +11 -0
  26. package/src/errors/NetworkSwitchingUnavailableError.d.ts.map +1 -0
  27. package/src/errors/NotWaasWalletAccountError.d.ts +9 -0
  28. package/src/errors/NotWaasWalletAccountError.d.ts.map +1 -0
  29. package/src/errors/UnrecognizedNetworkError.d.ts +11 -0
  30. package/src/errors/UnrecognizedNetworkError.d.ts.map +1 -0
  31. package/src/errors/UserRejectedError.d.ts +9 -0
  32. package/src/errors/UserRejectedError.d.ts.map +1 -0
  33. package/src/exports/core.d.ts +3 -1
  34. package/src/exports/core.d.ts.map +1 -1
  35. package/src/exports/index.d.ts +15 -5
  36. package/src/exports/index.d.ts.map +1 -1
  37. package/src/exports/waas.d.ts +8 -0
  38. package/src/exports/waas.d.ts.map +1 -1
  39. package/src/exports/waasCore.d.ts +1 -0
  40. package/src/exports/waasCore.d.ts.map +1 -1
  41. package/src/modules/apiClient/apiClient.types.d.ts +4 -0
  42. package/src/modules/apiClient/apiClient.types.d.ts.map +1 -1
  43. package/src/modules/apiClient/constants.d.ts +1 -0
  44. package/src/modules/apiClient/constants.d.ts.map +1 -1
  45. package/src/modules/apiClient/createApiClient.d.ts.map +1 -1
  46. package/src/modules/apiClient/index.d.ts +1 -0
  47. package/src/modules/apiClient/index.d.ts.map +1 -1
  48. package/src/modules/auth/createVisit/createVisit.d.ts +8 -0
  49. package/src/modules/auth/createVisit/createVisit.d.ts.map +1 -0
  50. package/src/modules/auth/createVisit/index.d.ts +2 -0
  51. package/src/modules/auth/createVisit/index.d.ts.map +1 -0
  52. package/src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
  53. package/src/modules/mfa/consumeMfaTokenIfRequiredForAction/consumeMfaTokenIfRequiredForAction.d.ts +8 -0
  54. package/src/modules/mfa/consumeMfaTokenIfRequiredForAction/consumeMfaTokenIfRequiredForAction.d.ts.map +1 -0
  55. package/src/modules/mfa/consumeMfaTokenIfRequiredForAction/index.d.ts +2 -0
  56. package/src/modules/mfa/consumeMfaTokenIfRequiredForAction/index.d.ts.map +1 -0
  57. package/src/modules/mfa/isMfaRequiredForAction/isMfaRequiredForAction.d.ts +1 -1
  58. package/src/modules/mfa/isMfaRequiredForAction/isMfaRequiredForAction.d.ts.map +1 -1
  59. package/src/modules/sessionKeys/getSignedSessionId/getSignedSessionId.d.ts.map +1 -1
  60. package/src/modules/waas/backupWaasKeySharesToGoogleDrive/backupWaasKeySharesToGoogleDrive.d.ts +8 -0
  61. package/src/modules/waas/backupWaasKeySharesToGoogleDrive/backupWaasKeySharesToGoogleDrive.d.ts.map +1 -0
  62. package/src/modules/waas/backupWaasKeySharesToGoogleDrive/index.d.ts +2 -0
  63. package/src/modules/waas/backupWaasKeySharesToGoogleDrive/index.d.ts.map +1 -0
  64. package/src/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  65. package/src/modules/waas/delegateWaasKeyShares/delegateWaasKeyShares.d.ts +8 -0
  66. package/src/modules/waas/delegateWaasKeyShares/delegateWaasKeyShares.d.ts.map +1 -0
  67. package/src/modules/waas/delegateWaasKeyShares/index.d.ts +2 -0
  68. package/src/modules/waas/delegateWaasKeyShares/index.d.ts.map +1 -0
  69. package/src/modules/waas/exportWaasClientKeyshares/exportWaasClientKeyshares.d.ts +8 -0
  70. package/src/modules/waas/exportWaasClientKeyshares/exportWaasClientKeyshares.d.ts.map +1 -0
  71. package/src/modules/waas/exportWaasClientKeyshares/index.d.ts +2 -0
  72. package/src/modules/waas/exportWaasClientKeyshares/index.d.ts.map +1 -0
  73. package/src/modules/waas/exportWaasPrivateKey/exportWaasPrivateKey.d.ts +9 -0
  74. package/src/modules/waas/exportWaasPrivateKey/exportWaasPrivateKey.d.ts.map +1 -0
  75. package/src/modules/waas/exportWaasPrivateKey/index.d.ts +2 -0
  76. package/src/modules/waas/exportWaasPrivateKey/index.d.ts.map +1 -0
  77. package/src/modules/waas/getAllUserWaasAddressesForChain/getAllUserWaasAddressesForChain.d.ts +8 -0
  78. package/src/modules/waas/getAllUserWaasAddressesForChain/getAllUserWaasAddressesForChain.d.ts.map +1 -0
  79. package/src/modules/waas/getAllUserWaasAddressesForChain/index.d.ts +2 -0
  80. package/src/modules/waas/getAllUserWaasAddressesForChain/index.d.ts.map +1 -0
  81. package/src/modules/waas/getWaasWalletProviderByChain/getWaasWalletProviderByChain.d.ts +9 -0
  82. package/src/modules/waas/getWaasWalletProviderByChain/getWaasWalletProviderByChain.d.ts.map +1 -0
  83. package/src/modules/waas/getWaasWalletProviderByChain/index.d.ts +2 -0
  84. package/src/modules/waas/getWaasWalletProviderByChain/index.d.ts.map +1 -0
  85. package/src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.d.ts +9 -0
  86. package/src/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.d.ts.map +1 -0
  87. package/src/modules/waas/getWaasWalletProviderFromWalletAccount/index.d.ts +2 -0
  88. package/src/modules/waas/getWaasWalletProviderFromWalletAccount/index.d.ts.map +1 -0
  89. package/src/modules/waas/importWaasPrivateKey/importWaasPrivateKey.d.ts +10 -0
  90. package/src/modules/waas/importWaasPrivateKey/importWaasPrivateKey.d.ts.map +1 -0
  91. package/src/modules/waas/importWaasPrivateKey/index.d.ts +2 -0
  92. package/src/modules/waas/importWaasPrivateKey/index.d.ts.map +1 -0
  93. package/src/modules/waas/isWaasWalletAccount/index.d.ts +2 -0
  94. package/src/modules/waas/isWaasWalletAccount/index.d.ts.map +1 -0
  95. package/src/modules/waas/isWaasWalletAccount/isWaasWalletAccount.d.ts +7 -0
  96. package/src/modules/waas/isWaasWalletAccount/isWaasWalletAccount.d.ts.map +1 -0
  97. package/src/modules/waas/refreshWaasWalletAccountShares/index.d.ts +2 -0
  98. package/src/modules/waas/refreshWaasWalletAccountShares/index.d.ts.map +1 -0
  99. package/src/modules/waas/refreshWaasWalletAccountShares/refreshWaasWalletAccountShares.d.ts +8 -0
  100. package/src/modules/waas/refreshWaasWalletAccountShares/refreshWaasWalletAccountShares.d.ts.map +1 -0
  101. package/src/modules/waas/updateWaasPassword/index.d.ts +2 -0
  102. package/src/modules/waas/updateWaasPassword/index.d.ts.map +1 -0
  103. package/src/modules/waas/updateWaasPassword/updateWaasPassword.d.ts +9 -0
  104. package/src/modules/waas/updateWaasPassword/updateWaasPassword.d.ts.map +1 -0
  105. package/src/modules/waas/waas.types.d.ts +3 -10
  106. package/src/modules/waas/waas.types.d.ts.map +1 -1
  107. package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts.map +1 -1
  108. package/src/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts.map +1 -1
  109. package/src/modules/wallets/networks/getBalance/getBalance.d.ts +9 -0
  110. package/src/modules/wallets/networks/getBalance/getBalance.d.ts.map +1 -0
  111. package/src/modules/wallets/networks/getBalance/index.d.ts +2 -0
  112. package/src/modules/wallets/networks/getBalance/index.d.ts.map +1 -0
  113. package/src/modules/wallets/networks/getBalanceForAddress/getBalanceForAddress.d.ts +11 -0
  114. package/src/modules/wallets/networks/getBalanceForAddress/getBalanceForAddress.d.ts.map +1 -0
  115. package/src/modules/wallets/networks/getBalanceForAddress/index.d.ts +2 -0
  116. package/src/modules/wallets/networks/getBalanceForAddress/index.d.ts.map +1 -0
  117. package/src/modules/wallets/networks/isProgrammaticNetworkSwitchAvailable/index.d.ts +2 -0
  118. package/src/modules/wallets/networks/isProgrammaticNetworkSwitchAvailable/index.d.ts.map +1 -0
  119. package/src/modules/wallets/networks/isProgrammaticNetworkSwitchAvailable/isProgrammaticNetworkSwitchAvailable.d.ts +7 -0
  120. package/src/modules/wallets/networks/isProgrammaticNetworkSwitchAvailable/isProgrammaticNetworkSwitchAvailable.d.ts.map +1 -0
  121. package/src/modules/wallets/networks/switchActiveNetwork/index.d.ts +2 -0
  122. package/src/modules/wallets/networks/switchActiveNetwork/index.d.ts.map +1 -0
  123. package/src/modules/wallets/networks/switchActiveNetwork/switchActiveNetwork.d.ts +8 -0
  124. package/src/modules/wallets/networks/switchActiveNetwork/switchActiveNetwork.d.ts.map +1 -0
  125. package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts.map +1 -0
  126. package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/index.d.ts +2 -0
  127. package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/index.d.ts.map +1 -0
  128. package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts.map +1 -0
  129. package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/index.d.ts +2 -0
  130. package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/index.d.ts.map +1 -0
  131. package/src/modules/wallets/utils/getWalletAccountFromAddress/getWalletAccountFromAddress.d.ts +11 -0
  132. package/src/modules/wallets/utils/getWalletAccountFromAddress/getWalletAccountFromAddress.d.ts.map +1 -0
  133. package/src/modules/wallets/utils/getWalletAccountFromAddress/index.d.ts +2 -0
  134. package/src/modules/wallets/utils/getWalletAccountFromAddress/index.d.ts.map +1 -0
  135. package/src/modules/wallets/utils/getWalletProviderFromWalletAccount/getWalletProviderFromWalletAccount.d.ts.map +1 -1
  136. package/src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/index.d.ts +2 -0
  137. package/src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/index.d.ts.map +1 -0
  138. package/src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.d.ts +10 -0
  139. package/src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.d.ts.map +1 -0
  140. package/src/modules/wallets/walletProvider/walletProvider.types.d.ts +13 -0
  141. package/src/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  142. package/src/modules/wallets/walletProviderRegistry/getWalletProviderRegistry/getWalletProviderRegistry.d.ts +1 -1
  143. package/src/types/ExtendParameters.d.ts +1 -1
  144. package/src/types/ExtendParameters.d.ts.map +1 -1
  145. package/waas.cjs.js +119 -11
  146. package/waas.esm.js +105 -5
  147. package/waasCore.cjs.js +117 -49
  148. package/waasCore.esm.js +113 -47
  149. package/bufferToHex.cjs.js +0 -51
  150. package/bufferToHex.esm.js +0 -46
  151. package/constants.cjs2.js +0 -13
  152. package/constants.esm2.js +0 -9
  153. package/formatWalletProviderKey.cjs.js +0 -10
  154. package/formatWalletProviderKey.esm.js +0 -8
  155. package/src/modules/wallets/getWalletAccounts/utils/convertUnverifiedWalletAccountToWalletAccount.d.ts.map +0 -1
  156. package/src/modules/wallets/getWalletAccounts/utils/convertVerifiedCredentialToWalletAccount.d.ts.map +0 -1
  157. /package/src/modules/wallets/{getWalletAccounts/utils → utils/convertUnverifiedWalletAccountToWalletAccount}/convertUnverifiedWalletAccountToWalletAccount.d.ts +0 -0
  158. /package/src/modules/wallets/{getWalletAccounts/utils → utils/convertVerifiedCredentialToWalletAccount}/convertVerifiedCredentialToWalletAccount.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## 0.0.1-alpha.27 (2025-08-29)
2
+
3
+ ### 🚀 Features
4
+
5
+ - allow switching network ([#323](https://github.com/dynamic-labs/dynamic-sdk/pull/323))
6
+ - introduce getBalance and getBalanceForAddress ([#335](https://github.com/dynamic-labs/dynamic-sdk/pull/335))
7
+ - add delegateWaasKeyShares function ([#353](https://github.com/dynamic-labs/dynamic-sdk/pull/353))
8
+ - add updateWaasPassword function ([#354](https://github.com/dynamic-labs/dynamic-sdk/pull/354))
9
+ - add exportWaasClientKeyshares function ([#355](https://github.com/dynamic-labs/dynamic-sdk/pull/355))
10
+ - add importWaasPrivateKey function ([#356](https://github.com/dynamic-labs/dynamic-sdk/pull/356))
11
+ - add refreshWaasWalletAccountShares function ([#357](https://github.com/dynamic-labs/dynamic-sdk/pull/357))
12
+ - add backupWaasKeySharesToGoogleDrive function ([#358](https://github.com/dynamic-labs/dynamic-sdk/pull/358))
13
+ - add exportWaasPrivateKey function ([#359](https://github.com/dynamic-labs/dynamic-sdk/pull/359))
14
+ - add isWaasWalletAccount function ([#365](https://github.com/dynamic-labs/dynamic-sdk/pull/365))
15
+ - add createWalletClientForWalletAccount function ([#367](https://github.com/dynamic-labs/dynamic-sdk/pull/367))
16
+
17
+ ### 🔧 Refactors
18
+
19
+ - assert signed session id in getSignedSessionId ([#361](https://github.com/dynamic-labs/dynamic-sdk/pull/361))
20
+ - add consumeMfaTokenIfRequiredForAction function ([#363](https://github.com/dynamic-labs/dynamic-sdk/pull/363))
21
+
1
22
  ## 0.0.1-alpha.26 (2025-08-27)
2
23
 
3
24
  ### 🩹 Fixes
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var getChainFromVerifiedCredentialChain = require('./getChainFromVerifiedCredentialChain.cjs.js');
4
+
5
+ class InvalidParamError extends getChainFromVerifiedCredentialChain.BaseError {
6
+ constructor(message){
7
+ super({
8
+ cause: null,
9
+ code: 'invalid_param_error',
10
+ docsUrl: null,
11
+ name: 'InvalidParamError',
12
+ shortMessage: message
13
+ });
14
+ }
15
+ }
16
+
17
+ exports.InvalidParamError = InvalidParamError;
@@ -0,0 +1,15 @@
1
+ import { B as BaseError } from './getChainFromVerifiedCredentialChain.esm.js';
2
+
3
+ class InvalidParamError extends BaseError {
4
+ constructor(message){
5
+ super({
6
+ cause: null,
7
+ code: 'invalid_param_error',
8
+ docsUrl: null,
9
+ name: 'InvalidParamError',
10
+ shortMessage: message
11
+ });
12
+ }
13
+ }
14
+
15
+ export { InvalidParamError as I };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var getChainFromVerifiedCredentialChain = require('./getChainFromVerifiedCredentialChain.cjs.js');
4
+
5
+ class NotWaasWalletAccountError extends getChainFromVerifiedCredentialChain.BaseError {
6
+ constructor({ walletAddress }){
7
+ super({
8
+ cause: null,
9
+ code: 'not_waas_wallet_account_error',
10
+ docsUrl: null,
11
+ name: 'NotWaasWalletAccountError',
12
+ shortMessage: `Wallet account ${walletAddress} is not a Dynamic WaaS wallet account`
13
+ });
14
+ }
15
+ }
16
+
17
+ exports.NotWaasWalletAccountError = NotWaasWalletAccountError;
@@ -0,0 +1,15 @@
1
+ import { B as BaseError } from './getChainFromVerifiedCredentialChain.esm.js';
2
+
3
+ class NotWaasWalletAccountError extends BaseError {
4
+ constructor({ walletAddress }){
5
+ super({
6
+ cause: null,
7
+ code: 'not_waas_wallet_account_error',
8
+ docsUrl: null,
9
+ name: 'NotWaasWalletAccountError',
10
+ shortMessage: `Wallet account ${walletAddress} is not a Dynamic WaaS wallet account`
11
+ });
12
+ }
13
+ }
14
+
15
+ export { NotWaasWalletAccountError as N };
package/constants.cjs.js CHANGED
@@ -1,178 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var name = "@dynamic-labs-sdk/client";
4
- var version = "0.0.1-alpha.26";
5
- var dependencies = {
6
- "@dynamic-labs/sdk-api-core": "^0.0.762"};
7
-
8
- function _extends() {
9
- _extends = Object.assign || function assign(target) {
10
- for(var i = 1; i < arguments.length; i++){
11
- var source = arguments[i];
12
- for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
13
- }
14
- return target;
15
- };
16
- return _extends.apply(this, arguments);
17
- }
18
-
19
- const getDetails = ({ details, cause })=>{
20
- if (cause instanceof BaseError) {
21
- return cause.details;
22
- }
23
- if (cause == null ? void 0 : cause.message) {
24
- return cause.message;
25
- }
26
- return details;
27
- };
28
- /**
29
- * Formats the error message with all available information
30
- */ const formatMessage = ({ shortMessage, details, docsUrl, metaMessages })=>{
31
- return [
32
- shortMessage,
33
- '',
34
- ...metaMessages ? [
35
- ...metaMessages,
36
- ''
37
- ] : [],
38
- ...docsUrl ? [
39
- `Docs: ${docsUrl}`
40
- ] : [],
41
- ...details ? [
42
- `Details: ${details}`
43
- ] : [],
44
- `Version: ${version}`,
45
- `Timestamp: ${new Date().toISOString()}`
46
- ].join('\n');
47
- };
48
- /**
49
- * Base error class that provides structured error handling with detailed information
50
- */ class BaseError extends Error {
51
- /**
52
- * Walks the cause chain of the error and returns the root error
53
- */ walk() {
54
- const cause = this.cause;
55
- if (cause instanceof BaseError) {
56
- return cause.walk();
57
- }
58
- return cause;
59
- }
60
- toString() {
61
- return this.formattedMessage;
62
- }
63
- constructor(args){
64
- const details = getDetails(args);
65
- const formattedMessage = formatMessage(_extends({}, args, {
66
- details
67
- }));
68
- var _args_shortMessage;
69
- super((_args_shortMessage = args.shortMessage) != null ? _args_shortMessage : formattedMessage, args.cause ? {
70
- cause: args.cause
71
- } : undefined);
72
- this.name = 'BaseError';
73
- this.formattedMessage = formattedMessage;
74
- this.details = details;
75
- var _args_name;
76
- this.name = (_args_name = args.name) != null ? _args_name : this.name;
77
- var _args_cause;
78
- this.cause = (_args_cause = args.cause) != null ? _args_cause : this.cause;
79
- this.code = args.code;
80
- }
81
- }
82
-
83
- const getCore = (client)=>{
84
- // @ts-expect-error - this was hidden from the public API
85
- return client.__core;
86
- };
87
-
88
- class ValueMustBeDefinedError extends BaseError {
89
- constructor(message){
90
- super({
91
- cause: null,
92
- code: 'value_must_be_defined_error',
93
- docsUrl: null,
94
- name: 'ValueMustBeDefined',
95
- shortMessage: message
96
- });
97
- }
98
- }
99
-
100
- /**
101
- * Asserts that a value is not null or undefined, throwing an error if it is.
102
- * This function acts as a type guard, narrowing the type to exclude null and undefined.
103
- *
104
- * @template T - The type of the value being checked
105
- * @param value - The value to check for null or undefined
106
- * @param message - The error message to throw if the value is null or undefined
107
- * @throws Throws an error with the provided message if value is null or undefined
108
- * @example
109
- * ```typescript
110
- * const maybeString: string | null = getValue();
111
- * assertDefined(maybeString, 'String value is required');
112
- * // maybeString is now typed as string (null is excluded)
113
- * ```
114
- */ function assertDefined(value, message) {
115
- if (value === null || value === undefined) {
116
- throw new ValueMustBeDefinedError(message);
117
- }
118
- }
119
-
120
- const CHAINS_INFO_MAP = {
121
- ALGO: {
122
- apiChainName: 'algo',
123
- blockchainName: 'Algorand',
124
- verifiedCredentialChainName: 'algorand'
125
- },
126
- BTC: {
127
- apiChainName: 'btc',
128
- blockchainName: 'Bitcoin',
129
- verifiedCredentialChainName: 'bip122'
130
- },
131
- COSMOS: {
132
- apiChainName: 'cosmos',
133
- blockchainName: 'Cosmos',
134
- verifiedCredentialChainName: 'cosmos'
135
- },
136
- EVM: {
137
- apiChainName: 'evm',
138
- // eslint-disable-next-line custom-rules/ban-ethereum-eth-terms
139
- blockchainName: 'Ethereum',
140
- verifiedCredentialChainName: 'eip155'
141
- },
142
- FLOW: {
143
- apiChainName: 'flow',
144
- blockchainName: 'Flow',
145
- verifiedCredentialChainName: 'flow'
146
- },
147
- SOL: {
148
- apiChainName: 'solana',
149
- blockchainName: 'Solana',
150
- verifiedCredentialChainName: 'solana',
151
- waasChainNameOverride: 'SVM'
152
- },
153
- SPARK: {
154
- apiChainName: 'spark',
155
- blockchainName: 'Spark',
156
- verifiedCredentialChainName: 'spark'
157
- },
158
- STARK: {
159
- apiChainName: 'starknet',
160
- blockchainName: 'Starknet',
161
- verifiedCredentialChainName: 'starknet'
162
- },
163
- SUI: {
164
- apiChainName: 'sui',
165
- blockchainName: 'Sui',
166
- verifiedCredentialChainName: 'sui'
167
- }
3
+ const DEFAULT_WAAS_BASE_API_URL = 'https://app.dynamicauth.com';
4
+ const DEFAULT_WAAS_BASE_MPC_RELAY_API_URL = 'https://relay.dynamicauth.com';
5
+ const DYNAMIC_WAAS_METADATA = {
6
+ icon: 'https://iconic.dynamic-static-assets.com/icons/sprite.svg#dynamicwaas',
7
+ key: 'dynamicwaas',
8
+ name: 'Dynamic WaaS'
168
9
  };
169
10
 
170
- exports.BaseError = BaseError;
171
- exports.CHAINS_INFO_MAP = CHAINS_INFO_MAP;
172
- exports.ValueMustBeDefinedError = ValueMustBeDefinedError;
173
- exports._extends = _extends;
174
- exports.assertDefined = assertDefined;
175
- exports.dependencies = dependencies;
176
- exports.getCore = getCore;
177
- exports.name = name;
178
- exports.version = version;
11
+ exports.DEFAULT_WAAS_BASE_API_URL = DEFAULT_WAAS_BASE_API_URL;
12
+ exports.DEFAULT_WAAS_BASE_MPC_RELAY_API_URL = DEFAULT_WAAS_BASE_MPC_RELAY_API_URL;
13
+ exports.DYNAMIC_WAAS_METADATA = DYNAMIC_WAAS_METADATA;
package/constants.esm.js CHANGED
@@ -1,168 +1,9 @@
1
- var name = "@dynamic-labs-sdk/client";
2
- var version = "0.0.1-alpha.26";
3
- var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "^0.0.762"};
5
-
6
- function _extends() {
7
- _extends = Object.assign || function assign(target) {
8
- for(var i = 1; i < arguments.length; i++){
9
- var source = arguments[i];
10
- for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
11
- }
12
- return target;
13
- };
14
- return _extends.apply(this, arguments);
15
- }
16
-
17
- const getDetails = ({ details, cause })=>{
18
- if (cause instanceof BaseError) {
19
- return cause.details;
20
- }
21
- if (cause == null ? void 0 : cause.message) {
22
- return cause.message;
23
- }
24
- return details;
25
- };
26
- /**
27
- * Formats the error message with all available information
28
- */ const formatMessage = ({ shortMessage, details, docsUrl, metaMessages })=>{
29
- return [
30
- shortMessage,
31
- '',
32
- ...metaMessages ? [
33
- ...metaMessages,
34
- ''
35
- ] : [],
36
- ...docsUrl ? [
37
- `Docs: ${docsUrl}`
38
- ] : [],
39
- ...details ? [
40
- `Details: ${details}`
41
- ] : [],
42
- `Version: ${version}`,
43
- `Timestamp: ${new Date().toISOString()}`
44
- ].join('\n');
45
- };
46
- /**
47
- * Base error class that provides structured error handling with detailed information
48
- */ class BaseError extends Error {
49
- /**
50
- * Walks the cause chain of the error and returns the root error
51
- */ walk() {
52
- const cause = this.cause;
53
- if (cause instanceof BaseError) {
54
- return cause.walk();
55
- }
56
- return cause;
57
- }
58
- toString() {
59
- return this.formattedMessage;
60
- }
61
- constructor(args){
62
- const details = getDetails(args);
63
- const formattedMessage = formatMessage(_extends({}, args, {
64
- details
65
- }));
66
- var _args_shortMessage;
67
- super((_args_shortMessage = args.shortMessage) != null ? _args_shortMessage : formattedMessage, args.cause ? {
68
- cause: args.cause
69
- } : undefined);
70
- this.name = 'BaseError';
71
- this.formattedMessage = formattedMessage;
72
- this.details = details;
73
- var _args_name;
74
- this.name = (_args_name = args.name) != null ? _args_name : this.name;
75
- var _args_cause;
76
- this.cause = (_args_cause = args.cause) != null ? _args_cause : this.cause;
77
- this.code = args.code;
78
- }
79
- }
80
-
81
- const getCore = (client)=>{
82
- // @ts-expect-error - this was hidden from the public API
83
- return client.__core;
84
- };
85
-
86
- class ValueMustBeDefinedError extends BaseError {
87
- constructor(message){
88
- super({
89
- cause: null,
90
- code: 'value_must_be_defined_error',
91
- docsUrl: null,
92
- name: 'ValueMustBeDefined',
93
- shortMessage: message
94
- });
95
- }
96
- }
97
-
98
- /**
99
- * Asserts that a value is not null or undefined, throwing an error if it is.
100
- * This function acts as a type guard, narrowing the type to exclude null and undefined.
101
- *
102
- * @template T - The type of the value being checked
103
- * @param value - The value to check for null or undefined
104
- * @param message - The error message to throw if the value is null or undefined
105
- * @throws Throws an error with the provided message if value is null or undefined
106
- * @example
107
- * ```typescript
108
- * const maybeString: string | null = getValue();
109
- * assertDefined(maybeString, 'String value is required');
110
- * // maybeString is now typed as string (null is excluded)
111
- * ```
112
- */ function assertDefined(value, message) {
113
- if (value === null || value === undefined) {
114
- throw new ValueMustBeDefinedError(message);
115
- }
116
- }
117
-
118
- const CHAINS_INFO_MAP = {
119
- ALGO: {
120
- apiChainName: 'algo',
121
- blockchainName: 'Algorand',
122
- verifiedCredentialChainName: 'algorand'
123
- },
124
- BTC: {
125
- apiChainName: 'btc',
126
- blockchainName: 'Bitcoin',
127
- verifiedCredentialChainName: 'bip122'
128
- },
129
- COSMOS: {
130
- apiChainName: 'cosmos',
131
- blockchainName: 'Cosmos',
132
- verifiedCredentialChainName: 'cosmos'
133
- },
134
- EVM: {
135
- apiChainName: 'evm',
136
- // eslint-disable-next-line custom-rules/ban-ethereum-eth-terms
137
- blockchainName: 'Ethereum',
138
- verifiedCredentialChainName: 'eip155'
139
- },
140
- FLOW: {
141
- apiChainName: 'flow',
142
- blockchainName: 'Flow',
143
- verifiedCredentialChainName: 'flow'
144
- },
145
- SOL: {
146
- apiChainName: 'solana',
147
- blockchainName: 'Solana',
148
- verifiedCredentialChainName: 'solana',
149
- waasChainNameOverride: 'SVM'
150
- },
151
- SPARK: {
152
- apiChainName: 'spark',
153
- blockchainName: 'Spark',
154
- verifiedCredentialChainName: 'spark'
155
- },
156
- STARK: {
157
- apiChainName: 'starknet',
158
- blockchainName: 'Starknet',
159
- verifiedCredentialChainName: 'starknet'
160
- },
161
- SUI: {
162
- apiChainName: 'sui',
163
- blockchainName: 'Sui',
164
- verifiedCredentialChainName: 'sui'
165
- }
1
+ const DEFAULT_WAAS_BASE_API_URL = 'https://app.dynamicauth.com';
2
+ const DEFAULT_WAAS_BASE_MPC_RELAY_API_URL = 'https://relay.dynamicauth.com';
3
+ const DYNAMIC_WAAS_METADATA = {
4
+ icon: 'https://iconic.dynamic-static-assets.com/icons/sprite.svg#dynamicwaas',
5
+ key: 'dynamicwaas',
6
+ name: 'Dynamic WaaS'
166
7
  };
167
8
 
168
- export { BaseError as B, CHAINS_INFO_MAP as C, ValueMustBeDefinedError as V, _extends as _, assertDefined as a, dependencies as d, getCore as g, name as n, version as v };
9
+ export { DYNAMIC_WAAS_METADATA as D, DEFAULT_WAAS_BASE_MPC_RELAY_API_URL as a, DEFAULT_WAAS_BASE_API_URL as b };
package/core.cjs.js CHANGED
@@ -1,16 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var assertPackageVersion = require('@dynamic-labs-sdk/assert-package-version');
4
- var constants = require('./constants.cjs.js');
5
- var getWalletProviderByKey = require('./getWalletProviderByKey.cjs.js');
4
+ var getChainFromVerifiedCredentialChain = require('./getChainFromVerifiedCredentialChain.cjs.js');
5
+ var isMfaRequiredForAction = require('./isMfaRequiredForAction.cjs.js');
6
6
  var formatSignInMessage = require('./formatSignInMessage.cjs.js');
7
+ var getWalletProviderByKey = require('./getWalletProviderByKey.cjs.js');
7
8
  var getSignedSessionId = require('./getSignedSessionId.cjs.js');
8
- var bufferToHex = require('./bufferToHex.cjs.js');
9
9
  var z = require('zod/mini');
10
- var formatWalletProviderKey = require('./formatWalletProviderKey.cjs.js');
11
10
  require('@dynamic-labs/sdk-api-core');
12
- require('eventemitter3');
13
11
  require('buffer');
12
+ require('eventemitter3');
14
13
 
15
14
  function _interopNamespaceDefault(e) {
16
15
  var n = Object.create(null);
@@ -31,7 +30,7 @@ function _interopNamespaceDefault(e) {
31
30
 
32
31
  var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
33
32
 
34
- class ClientsDoNotMatchError extends constants.BaseError {
33
+ class ClientsDoNotMatchError extends getChainFromVerifiedCredentialChain.BaseError {
35
34
  constructor(){
36
35
  super({
37
36
  cause: null,
@@ -43,7 +42,19 @@ class ClientsDoNotMatchError extends constants.BaseError {
43
42
  }
44
43
  }
45
44
 
46
- class MultipleClientsFoundError extends constants.BaseError {
45
+ class MethodNotImplementedError extends getChainFromVerifiedCredentialChain.BaseError {
46
+ constructor(methodName){
47
+ super({
48
+ cause: null,
49
+ code: 'method_not_implemented_error',
50
+ docsUrl: null,
51
+ name: 'MethodNotImplementedError',
52
+ shortMessage: `This method is not implemented: ${methodName}`
53
+ });
54
+ }
55
+ }
56
+
57
+ class MultipleClientsFoundError extends getChainFromVerifiedCredentialChain.BaseError {
47
58
  constructor(){
48
59
  super({
49
60
  cause: null,
@@ -65,7 +76,7 @@ class MultipleClientsFoundError extends constants.BaseError {
65
76
  * @param extensionKey - The key of the extension to register.
66
77
  * @returns The client instance.
67
78
  */ const registerExtension = ({ extensionKey }, client)=>{
68
- const core = constants.getCore(client);
79
+ const core = getChainFromVerifiedCredentialChain.getCore(client);
69
80
  core.extensions.add(extensionKey);
70
81
  };
71
82
 
@@ -81,16 +92,6 @@ const createBaseNetworkProvider = (chain, networkData)=>({
81
92
  testnet: networkData.testnet
82
93
  });
83
94
 
84
- const getNetworkProviderFromNetworkId = ({ networkId, chain }, client)=>{
85
- const networkProviders = formatSignInMessage.getNetworkProviders(client);
86
- if (networkProviders.length === 0) {
87
- throw new formatSignInMessage.NoNetworkProvidersError();
88
- }
89
- const networkProvider = networkProviders.find((networkProvider)=>networkProvider.networkId === networkId && networkProvider.chain === chain);
90
- constants.assertDefined(networkProvider, `No network provider found for chain ${chain} with network id ${networkId}`);
91
- return networkProvider;
92
- };
93
-
94
95
  const networkRegistrySchema = formatSignInMessage.createStorageKeySchema({
95
96
  key: 'lastKnownNetworkRegistry',
96
97
  schema: z__namespace.record(z__namespace.string(), z__namespace.string())
@@ -103,7 +104,7 @@ const networkRegistrySchema = formatSignInMessage.createStorageKeySchema({
103
104
  * Reminder that this will not be used for chains that have an internal way to
104
105
  * switch networks (ex EVM).
105
106
  */ const createLastKnownNetworkRegistry = (client)=>{
106
- const core = constants.getCore(client);
107
+ const core = getChainFromVerifiedCredentialChain.getCore(client);
107
108
  const walletProviderKeyToNetworkId = new Map();
108
109
  const getNetworkId = async ({ walletProviderKey })=>{
109
110
  // Priorities:
@@ -131,7 +132,7 @@ const networkRegistrySchema = formatSignInMessage.createStorageKeySchema({
131
132
  throw new formatSignInMessage.NoNetworkProvidersError();
132
133
  }
133
134
  const defaultNetworkProvider = networkProviders.find((networkProvider)=>networkProvider.chain === walletProvider.chain);
134
- constants.assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
135
+ getChainFromVerifiedCredentialChain.assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
135
136
  walletProviderKeyToNetworkId.set(walletProviderKey, defaultNetworkProvider.networkId);
136
137
  // No need to set in storage, as we're just falling back to the default
137
138
  return {
@@ -159,17 +160,39 @@ const getActiveNetworkIdFromLastKnownRegistry = async ({ client, walletProviderK
159
160
  });
160
161
  };
161
162
 
163
+ const switchActiveNetworkInLastKnownRegistry = async ({ client, networkId, walletProviderKey })=>{
164
+ const networkRegistry = getLastKnownNetworkRegistry(client);
165
+ await networkRegistry.setNetworkId({
166
+ networkId,
167
+ walletProviderKey
168
+ });
169
+ };
170
+
162
171
  const bufferToBase64 = (buf)=>{
163
172
  const binstr = Array.prototype.map.call(buf, (ch)=>String.fromCharCode(ch)).join('');
164
- return bufferToHex.getBuffer().from(binstr, 'binary').toString('base64');
173
+ return isMfaRequiredForAction.getBuffer().from(binstr, 'binary').toString('base64');
165
174
  };
166
175
 
167
- assertPackageVersion.assertPackageVersion(constants.name, constants.version);
168
-
169
- exports.ValueMustBeDefinedError = constants.ValueMustBeDefinedError;
170
- exports.assertDefined = constants.assertDefined;
171
- exports.getCore = constants.getCore;
172
- exports.ClientNotFoundError = getWalletProviderByKey.ClientNotFoundError;
176
+ assertPackageVersion.assertPackageVersion(getChainFromVerifiedCredentialChain.name, getChainFromVerifiedCredentialChain.version);
177
+
178
+ exports.ClientNotFoundError = getChainFromVerifiedCredentialChain.ClientNotFoundError;
179
+ exports.ValueMustBeDefinedError = getChainFromVerifiedCredentialChain.ValueMustBeDefinedError;
180
+ exports.assertDefined = getChainFromVerifiedCredentialChain.assertDefined;
181
+ exports.getChainFromVerifiedCredentialChain = getChainFromVerifiedCredentialChain.getChainFromVerifiedCredentialChain;
182
+ exports.getCore = getChainFromVerifiedCredentialChain.getCore;
183
+ exports.getDefaultClient = getChainFromVerifiedCredentialChain.getDefaultClient;
184
+ exports.APIError = isMfaRequiredForAction.APIError;
185
+ exports.DYNAMIC_SDK_API_VERSION = isMfaRequiredForAction.DYNAMIC_SDK_API_VERSION;
186
+ exports.createApiClient = isMfaRequiredForAction.createApiClient;
187
+ exports.isCookieEnabled = isMfaRequiredForAction.isCookieEnabled;
188
+ exports.CannotTrackError = formatSignInMessage.CannotTrackError;
189
+ exports.InvalidStorageSet = formatSignInMessage.InvalidStorageSet;
190
+ exports.createLogger = formatSignInMessage.createLogger;
191
+ exports.formatSignInMessage = formatSignInMessage.formatSignInMessage;
192
+ exports.getNetworkProviderBuilderRegistry = formatSignInMessage.getNetworkProviderBuilderRegistry;
193
+ exports.getNetworkProviderFromNetworkId = formatSignInMessage.getNetworkProviderFromNetworkId;
194
+ exports.hasExtension = formatSignInMessage.hasExtension;
195
+ exports.subscribeWithSelector = formatSignInMessage.subscribeWithSelector;
173
196
  exports.NoWalletProviderFoundError = getWalletProviderByKey.NoWalletProviderFoundError;
174
197
  Object.defineProperty(exports, "WalletProviderPriority", {
175
198
  enumerable: true,
@@ -177,30 +200,19 @@ Object.defineProperty(exports, "WalletProviderPriority", {
177
200
  });
178
201
  exports.createRuntimeServiceAccessKey = getWalletProviderByKey.createRuntimeServiceAccessKey;
179
202
  exports.emitEvent = getWalletProviderByKey.emitEvent;
180
- exports.getChainFromVerifiedCredentialChain = getWalletProviderByKey.getChainFromVerifiedCredentialChain;
181
- exports.getDefaultClient = getWalletProviderByKey.getDefaultClient;
203
+ exports.formatWalletProviderKey = getWalletProviderByKey.formatWalletProviderKey;
204
+ exports.getWalletProviderFromWalletAccount = getWalletProviderByKey.getWalletProviderFromWalletAccount;
182
205
  exports.getWalletProviderRegistry = getWalletProviderByKey.getWalletProviderRegistry;
183
206
  exports.getWalletProviders = getWalletProviderByKey.getWalletProviders;
184
- exports.APIError = formatSignInMessage.APIError;
185
- exports.CannotTrackError = formatSignInMessage.CannotTrackError;
186
- exports.InvalidStorageSet = formatSignInMessage.InvalidStorageSet;
187
- exports.createApiClient = formatSignInMessage.createApiClient;
188
- exports.createLogger = formatSignInMessage.createLogger;
189
- exports.formatSignInMessage = formatSignInMessage.formatSignInMessage;
190
- exports.getNetworkProviderBuilderRegistry = formatSignInMessage.getNetworkProviderBuilderRegistry;
191
- exports.getWalletProviderFromWalletAccount = formatSignInMessage.getWalletProviderFromWalletAccount;
192
- exports.hasExtension = formatSignInMessage.hasExtension;
193
- exports.subscribeWithSelector = formatSignInMessage.subscribeWithSelector;
194
- exports.MethodNotImplementedError = getSignedSessionId.MethodNotImplementedError;
207
+ exports.consumeMfaTokenIfRequiredForAction = getSignedSessionId.consumeMfaTokenIfRequiredForAction;
195
208
  exports.getSignedSessionId = getSignedSessionId.getSignedSessionId;
196
- exports.isCookieEnabled = bufferToHex.isCookieEnabled;
197
- exports.formatWalletProviderKey = formatWalletProviderKey.formatWalletProviderKey;
198
209
  exports.ClientsDoNotMatchError = ClientsDoNotMatchError;
210
+ exports.MethodNotImplementedError = MethodNotImplementedError;
199
211
  exports.MultipleClientsFoundError = MultipleClientsFoundError;
200
212
  exports.bufferToBase64 = bufferToBase64;
201
213
  exports.createBaseNetworkProvider = createBaseNetworkProvider;
202
214
  exports.formatWalletProviderGroupKey = formatWalletProviderGroupKey;
203
215
  exports.getActiveNetworkIdFromLastKnownRegistry = getActiveNetworkIdFromLastKnownRegistry;
204
216
  exports.getLastKnownNetworkRegistry = getLastKnownNetworkRegistry;
205
- exports.getNetworkProviderFromNetworkId = getNetworkProviderFromNetworkId;
206
217
  exports.registerExtension = registerExtension;
218
+ exports.switchActiveNetworkInLastKnownRegistry = switchActiveNetworkInLastKnownRegistry;