@dynamic-labs/client 2.1.0-alpha.9 → 2.1.1

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 (75) hide show
  1. package/CHANGELOG.md +259 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +6 -4
  5. package/src/client/client.cjs +8 -2
  6. package/src/client/client.d.ts +11 -0
  7. package/src/client/client.js +8 -2
  8. package/src/client/core/core.cjs +12 -1
  9. package/src/client/core/core.d.ts +14 -2
  10. package/src/client/core/core.js +12 -1
  11. package/src/client/core/modules/initializationModule/index.d.ts +1 -0
  12. package/src/client/core/modules/initializationModule/initializationModule.cjs +33 -0
  13. package/src/client/core/modules/initializationModule/initializationModule.d.ts +6 -0
  14. package/src/client/core/modules/initializationModule/initializationModule.js +29 -0
  15. package/src/{modules/sdkModule/manifest/manifest.cjs → client/core/modules/manifestModule/createPartialManifest/createPartialManifest.cjs} +3 -3
  16. package/src/client/core/modules/manifestModule/createPartialManifest/createPartialManifest.d.ts +3 -0
  17. package/src/client/core/modules/manifestModule/createPartialManifest/createPartialManifest.js +13 -0
  18. package/src/client/core/modules/manifestModule/createPartialManifest/index.d.ts +1 -0
  19. package/src/client/core/modules/manifestModule/index.d.ts +1 -0
  20. package/src/client/core/modules/manifestModule/manifestModule.cjs +35 -0
  21. package/src/client/core/modules/manifestModule/manifestModule.d.ts +10 -0
  22. package/src/client/core/modules/manifestModule/manifestModule.js +31 -0
  23. package/src/client/core/modules/manifestModule/validateManifest/index.d.ts +1 -0
  24. package/src/client/core/modules/manifestModule/validateManifest/validateManifest.cjs +30 -0
  25. package/src/client/core/modules/manifestModule/validateManifest/validateManifest.d.ts +14 -0
  26. package/src/client/core/modules/manifestModule/validateManifest/validateManifest.js +25 -0
  27. package/src/index.d.ts +2 -0
  28. package/src/modules/authModule/authModule.cjs +6 -6
  29. package/src/modules/authModule/authModule.d.ts +7 -3
  30. package/src/modules/authModule/authModule.js +6 -6
  31. package/src/modules/{emailAuthModule → authModule/emailAuthModule}/emailAuthModule.cjs +4 -1
  32. package/src/modules/authModule/emailAuthModule/emailAuthModule.d.ts +8 -0
  33. package/src/modules/{emailAuthModule → authModule/emailAuthModule}/emailAuthModule.js +4 -1
  34. package/src/modules/authModule/emailAuthModule/index.d.ts +1 -0
  35. package/src/modules/authModule/smsAuthModule/index.d.ts +1 -0
  36. package/src/modules/{smsAuthModule → authModule/smsAuthModule}/smsAuthModule.cjs +1 -1
  37. package/src/modules/authModule/smsAuthModule/smsAuthModule.d.ts +9 -0
  38. package/src/modules/{smsAuthModule → authModule/smsAuthModule}/smsAuthModule.js +1 -1
  39. package/src/modules/authModule/socialAuthModule/index.d.ts +1 -0
  40. package/src/modules/authModule/socialAuthModule/socialAuthModule.cjs +14 -0
  41. package/src/modules/authModule/socialAuthModule/socialAuthModule.d.ts +6 -0
  42. package/src/modules/authModule/socialAuthModule/socialAuthModule.js +10 -0
  43. package/src/modules/networksModule/index.d.ts +1 -0
  44. package/src/modules/networksModule/networksModule.cjs +18 -0
  45. package/src/modules/networksModule/networksModule.d.ts +3 -0
  46. package/src/modules/networksModule/networksModule.js +14 -0
  47. package/src/modules/sdkModule/sdkModule.cjs +6 -6
  48. package/src/modules/sdkModule/sdkModule.d.ts +4 -3
  49. package/src/modules/sdkModule/sdkModule.js +7 -7
  50. package/src/modules/userInterfaceModule/index.d.ts +1 -0
  51. package/src/modules/userInterfaceModule/userInterfaceModule.cjs +20 -0
  52. package/src/modules/userInterfaceModule/userInterfaceModule.d.ts +9 -0
  53. package/src/modules/userInterfaceModule/userInterfaceModule.js +16 -0
  54. package/src/modules/walletsModule/embeddedWalletsModule/embeddedWalletsModule.cjs +29 -0
  55. package/src/modules/walletsModule/embeddedWalletsModule/embeddedWalletsModule.d.ts +6 -0
  56. package/src/modules/walletsModule/embeddedWalletsModule/embeddedWalletsModule.js +25 -0
  57. package/src/modules/walletsModule/embeddedWalletsModule/index.d.ts +1 -0
  58. package/src/modules/walletsModule/walletsModule.cjs +13 -1
  59. package/src/modules/walletsModule/walletsModule.d.ts +9 -2
  60. package/src/modules/walletsModule/walletsModule.js +14 -2
  61. package/src/utils/addProperty/addProperty.cjs +21 -0
  62. package/src/utils/addProperty/addProperty.d.ts +13 -0
  63. package/src/utils/addProperty/addProperty.js +17 -0
  64. package/src/utils/addProperty/index.d.ts +1 -0
  65. package/src/utils/logger/index.d.ts +1 -0
  66. package/src/utils/logger/logger.cjs +10 -0
  67. package/src/utils/logger/logger.d.ts +2 -0
  68. package/src/utils/logger/logger.js +6 -0
  69. package/src/modules/emailAuthModule/emailAuthModule.d.ts +0 -7
  70. package/src/modules/emailAuthModule/index.d.ts +0 -1
  71. package/src/modules/sdkModule/manifest/index.d.ts +0 -1
  72. package/src/modules/sdkModule/manifest/manifest.d.ts +0 -3
  73. package/src/modules/sdkModule/manifest/manifest.js +0 -13
  74. package/src/modules/smsAuthModule/index.d.ts +0 -1
  75. package/src/modules/smsAuthModule/smsAuthModule.d.ts +0 -8
@@ -0,0 +1,35 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
+ var messageTransport = require('@dynamic-labs/message-transport');
8
+ var logger = require('../../../../utils/logger/logger.cjs');
9
+ var createPartialManifest = require('./createPartialManifest/createPartialManifest.cjs');
10
+ var validateManifest = require('./validateManifest/validateManifest.cjs');
11
+
12
+ /**
13
+ * Manifest module handles the client manifest that will be requested by the webview
14
+ */
15
+ const createManifestModule = (props, messageTransport$1, initializationModule) => {
16
+ const requestChannel = messageTransport.createRequestChannel(messageTransport$1);
17
+ const manifest = createPartialManifest.createPartialManifest(props);
18
+ requestChannel.handle('manifest', () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
19
+ try {
20
+ return validateManifest.validateManifest(manifest);
21
+ }
22
+ catch (error) {
23
+ logger.logger.error(error);
24
+ if (error instanceof Error)
25
+ initializationModule.error = error;
26
+ throw error;
27
+ }
28
+ }));
29
+ return {
30
+ setAppOrigin: (appOrigin) => (manifest.appOrigin = appOrigin),
31
+ setPlatform: (platform) => (manifest.platform = platform),
32
+ };
33
+ };
34
+
35
+ exports.createManifestModule = createManifestModule;
@@ -0,0 +1,10 @@
1
+ import { ClientManifest, MessageTransportWithDefaultOrigin } from '@dynamic-labs/message-transport';
2
+ import { ClientProps } from '../../../client';
3
+ import { InitializationModule } from '../initializationModule/initializationModule';
4
+ /**
5
+ * Manifest module handles the client manifest that will be requested by the webview
6
+ */
7
+ export declare const createManifestModule: (props: ClientProps, messageTransport: MessageTransportWithDefaultOrigin, initializationModule: InitializationModule) => {
8
+ setAppOrigin: (appOrigin: string) => string;
9
+ setPlatform: (platform: ClientManifest['platform']) => "browser" | "react-native";
10
+ };
@@ -0,0 +1,31 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
4
+ import { logger } from '../../../../utils/logger/logger.js';
5
+ import { createPartialManifest } from './createPartialManifest/createPartialManifest.js';
6
+ import { validateManifest } from './validateManifest/validateManifest.js';
7
+
8
+ /**
9
+ * Manifest module handles the client manifest that will be requested by the webview
10
+ */
11
+ const createManifestModule = (props, messageTransport, initializationModule) => {
12
+ const requestChannel = createRequestChannel(messageTransport);
13
+ const manifest = createPartialManifest(props);
14
+ requestChannel.handle('manifest', () => __awaiter(void 0, void 0, void 0, function* () {
15
+ try {
16
+ return validateManifest(manifest);
17
+ }
18
+ catch (error) {
19
+ logger.error(error);
20
+ if (error instanceof Error)
21
+ initializationModule.error = error;
22
+ throw error;
23
+ }
24
+ }));
25
+ return {
26
+ setAppOrigin: (appOrigin) => (manifest.appOrigin = appOrigin),
27
+ setPlatform: (platform) => (manifest.platform = platform),
28
+ };
29
+ };
30
+
31
+ export { createManifestModule };
@@ -0,0 +1 @@
1
+ export * from './validateManifest';
@@ -0,0 +1,30 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /**
7
+ * Maps each required field of the client manifest to an error message that explains
8
+ * what the customer can do if his app runs into the issue where this field is missing from his manifest.
9
+ */
10
+ const mandatoryFields = {
11
+ clientVersion: "We were unable to retrieve the Dynamic Client's version from your app. Please contact us about this.",
12
+ environmentId: 'You must provide an environment id to the Dynamic Client.',
13
+ platform: 'Missing platform specific extension, like BrowserExtension or ReactNativeExtension. See how to setup Dynamic Client in our docs for help.',
14
+ };
15
+ const validateManifest = (partialManifest) => {
16
+ /**
17
+ * If any of these fields are missing, we show the user an error message.
18
+ * You should map to each required field a description of what the user can do to fix this issue.
19
+ *
20
+ * And if you add a new required field to DynamicClient, TS will automatically force you to
21
+ * also include a description here :)
22
+ */
23
+ for (const [field, description] of Object.entries(mandatoryFields))
24
+ if (partialManifest[field] === undefined)
25
+ throw new Error(`Missing client manifest field "${field}": ${description}`);
26
+ return partialManifest;
27
+ };
28
+
29
+ exports.mandatoryFields = mandatoryFields;
30
+ exports.validateManifest = validateManifest;
@@ -0,0 +1,14 @@
1
+ import type { ClientManifest } from '@dynamic-labs/message-transport';
2
+ /**
3
+ * Union of fields from ClientManifest which must be defined
4
+ */
5
+ type MandatoryClientManifestField = {
6
+ [K in keyof ClientManifest]-?: NonNullable<unknown> extends Pick<ClientManifest, K> ? never : K;
7
+ }[keyof ClientManifest];
8
+ /**
9
+ * Maps each required field of the client manifest to an error message that explains
10
+ * what the customer can do if his app runs into the issue where this field is missing from his manifest.
11
+ */
12
+ export declare const mandatoryFields: Record<MandatoryClientManifestField, string>;
13
+ export declare const validateManifest: (partialManifest: Partial<ClientManifest>) => ClientManifest;
14
+ export {};
@@ -0,0 +1,25 @@
1
+ 'use client'
2
+ /**
3
+ * Maps each required field of the client manifest to an error message that explains
4
+ * what the customer can do if his app runs into the issue where this field is missing from his manifest.
5
+ */
6
+ const mandatoryFields = {
7
+ clientVersion: "We were unable to retrieve the Dynamic Client's version from your app. Please contact us about this.",
8
+ environmentId: 'You must provide an environment id to the Dynamic Client.',
9
+ platform: 'Missing platform specific extension, like BrowserExtension or ReactNativeExtension. See how to setup Dynamic Client in our docs for help.',
10
+ };
11
+ const validateManifest = (partialManifest) => {
12
+ /**
13
+ * If any of these fields are missing, we show the user an error message.
14
+ * You should map to each required field a description of what the user can do to fix this issue.
15
+ *
16
+ * And if you add a new required field to DynamicClient, TS will automatically force you to
17
+ * also include a description here :)
18
+ */
19
+ for (const [field, description] of Object.entries(mandatoryFields))
20
+ if (partialManifest[field] === undefined)
21
+ throw new Error(`Missing client manifest field "${field}": ${description}`);
22
+ return partialManifest;
23
+ };
24
+
25
+ export { mandatoryFields, validateManifest };
package/src/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export type { SocialProvider } from '@dynamic-labs/message-transport';
2
+ export type { BaseWallet as Wallet } from '@dynamic-labs/types';
1
3
  export { type Core } from './client/core';
2
4
  export { Extendable, type Extension } from './utils/Extendable';
3
5
  export { createClient, type BaseClient, type ClientProps } from './client';
@@ -5,12 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var messageTransport = require('@dynamic-labs/message-transport');
7
7
  var pickListenerActions = require('../../utils/pickListenerActions/pickListenerActions.cjs');
8
- var smsAuthModule = require('../smsAuthModule/smsAuthModule.cjs');
9
- var emailAuthModule = require('../emailAuthModule/emailAuthModule.cjs');
8
+ var emailAuthModule = require('./emailAuthModule/emailAuthModule.cjs');
9
+ var smsAuthModule = require('./smsAuthModule/smsAuthModule.cjs');
10
+ var socialAuthModule = require('./socialAuthModule/socialAuthModule.cjs');
10
11
 
11
12
  const createAuthModule = (core) => {
12
- const email = emailAuthModule.createEmailAuthModule(core);
13
- const sms = smsAuthModule.createSmsAuthModule(core);
14
13
  const store = messageTransport.createStore({
15
14
  initialState: {
16
15
  authenticatedUser: null,
@@ -26,9 +25,10 @@ const createAuthModule = (core) => {
26
25
  });
27
26
  const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
28
27
  return Object.assign(store.getters, pickListenerActions.pickListenerActions(messageEvents), {
29
- email,
28
+ email: emailAuthModule.createEmailAuthModule(core),
30
29
  logout: () => requestChannel.request('logout'),
31
- sms,
30
+ sms: smsAuthModule.createSmsAuthModule(core),
31
+ social: socialAuthModule.createSocialAuthModule(core),
32
32
  });
33
33
  };
34
34
 
@@ -1,9 +1,13 @@
1
1
  import { AuthModuleMessages, AuthModuleState, StoreEventListeners } from '@dynamic-labs/message-transport';
2
2
  import { Core } from '../../client/core';
3
- import { SmsAuthModule } from '../smsAuthModule';
4
- import { EmailAuthModule } from '../emailAuthModule';
5
- export type AuthModule = AuthModuleState & StoreEventListeners<AuthModuleState> & Pick<AuthModuleMessages, 'logout'> & {
3
+ import { EmailAuthModule } from './emailAuthModule';
4
+ import { SmsAuthModule } from './smsAuthModule';
5
+ import { SocialAuthModule } from './socialAuthModule';
6
+ type PublicAuthModuleMessages = Pick<AuthModuleMessages, 'logout'>;
7
+ export type AuthModule = AuthModuleState & StoreEventListeners<AuthModuleState> & PublicAuthModuleMessages & {
6
8
  sms: SmsAuthModule;
7
9
  email: EmailAuthModule;
10
+ social: SocialAuthModule;
8
11
  };
9
12
  export declare const createAuthModule: (core: Core) => AuthModule;
13
+ export {};
@@ -1,12 +1,11 @@
1
1
  'use client'
2
2
  import { createStore, createEventEmitterForMessages, createRequestChannel } from '@dynamic-labs/message-transport';
3
3
  import { pickListenerActions } from '../../utils/pickListenerActions/pickListenerActions.js';
4
- import { createSmsAuthModule } from '../smsAuthModule/smsAuthModule.js';
5
- import { createEmailAuthModule } from '../emailAuthModule/emailAuthModule.js';
4
+ import { createEmailAuthModule } from './emailAuthModule/emailAuthModule.js';
5
+ import { createSmsAuthModule } from './smsAuthModule/smsAuthModule.js';
6
+ import { createSocialAuthModule } from './socialAuthModule/socialAuthModule.js';
6
7
 
7
8
  const createAuthModule = (core) => {
8
- const email = createEmailAuthModule(core);
9
- const sms = createSmsAuthModule(core);
10
9
  const store = createStore({
11
10
  initialState: {
12
11
  authenticatedUser: null,
@@ -22,9 +21,10 @@ const createAuthModule = (core) => {
22
21
  });
23
22
  const requestChannel = createRequestChannel(core.messageTransport);
24
23
  return Object.assign(store.getters, pickListenerActions(messageEvents), {
25
- email,
24
+ email: createEmailAuthModule(core),
26
25
  logout: () => requestChannel.request('logout'),
27
- sms,
26
+ sms: createSmsAuthModule(core),
27
+ social: createSocialAuthModule(core),
28
28
  });
29
29
  };
30
30
 
@@ -9,7 +9,10 @@ const createEmailAuthModule = (core) => {
9
9
  const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
10
10
  return {
11
11
  resendOTP: () => requestChannel.request('resendOTP'),
12
- sendOTP: (target) => requestChannel.request('sendOTP', { destination: 'email', target }),
12
+ sendOTP: (email) => requestChannel.request('sendOTP', {
13
+ destination: 'email',
14
+ target: email,
15
+ }),
13
16
  verifyOTP: (token) => requestChannel.request('verifyOTP', token),
14
17
  };
15
18
  };
@@ -0,0 +1,8 @@
1
+ import { OtpMessages } from '@dynamic-labs/message-transport';
2
+ import { Core } from '../../../client/core';
3
+ export type EmailAuthModule = {
4
+ resendOTP: OtpMessages['resendOTP'];
5
+ sendOTP: (email: string) => Promise<void>;
6
+ verifyOTP: OtpMessages['verifyOTP'];
7
+ };
8
+ export declare const createEmailAuthModule: (core: Core) => EmailAuthModule;
@@ -5,7 +5,10 @@ const createEmailAuthModule = (core) => {
5
5
  const requestChannel = createRequestChannel(core.messageTransport);
6
6
  return {
7
7
  resendOTP: () => requestChannel.request('resendOTP'),
8
- sendOTP: (target) => requestChannel.request('sendOTP', { destination: 'email', target }),
8
+ sendOTP: (email) => requestChannel.request('sendOTP', {
9
+ destination: 'email',
10
+ target: email,
11
+ }),
9
12
  verifyOTP: (token) => requestChannel.request('verifyOTP', token),
10
13
  };
11
14
  };
@@ -0,0 +1 @@
1
+ export * from './emailAuthModule';
@@ -0,0 +1 @@
1
+ export * from './smsAuthModule';
@@ -9,7 +9,7 @@ const createSmsAuthModule = (core) => {
9
9
  const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
10
10
  return {
11
11
  resendOTP: () => requestChannel.request('resendOTP'),
12
- sendOTP: (target) => requestChannel.request('sendOTP', { destination: 'sms', target }),
12
+ sendOTP: (phone) => requestChannel.request('sendOTP', { destination: 'sms', target: phone }),
13
13
  verifyOTP: (token) => requestChannel.request('verifyOTP', token),
14
14
  };
15
15
  };
@@ -0,0 +1,9 @@
1
+ import { PhoneData } from '@dynamic-labs/types';
2
+ import { OtpMessages } from '@dynamic-labs/message-transport';
3
+ import { Core } from '../../../client/core';
4
+ export type SmsAuthModule = {
5
+ resendOTP: OtpMessages['resendOTP'];
6
+ sendOTP: (phone: PhoneData) => Promise<void>;
7
+ verifyOTP: OtpMessages['verifyOTP'];
8
+ };
9
+ export declare const createSmsAuthModule: (core: Core) => SmsAuthModule;
@@ -5,7 +5,7 @@ const createSmsAuthModule = (core) => {
5
5
  const requestChannel = createRequestChannel(core.messageTransport);
6
6
  return {
7
7
  resendOTP: () => requestChannel.request('resendOTP'),
8
- sendOTP: (target) => requestChannel.request('sendOTP', { destination: 'sms', target }),
8
+ sendOTP: (phone) => requestChannel.request('sendOTP', { destination: 'sms', target: phone }),
9
9
  verifyOTP: (token) => requestChannel.request('verifyOTP', token),
10
10
  };
11
11
  };
@@ -0,0 +1 @@
1
+ export * from './socialAuthModule';
@@ -0,0 +1,14 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var messageTransport = require('@dynamic-labs/message-transport');
7
+
8
+ const createSocialAuthModule = (core) => {
9
+ const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
10
+ const connect = ({ provider, }) => requestChannel.request('connectWithSocial', { provider });
11
+ return { connect };
12
+ };
13
+
14
+ exports.createSocialAuthModule = createSocialAuthModule;
@@ -0,0 +1,6 @@
1
+ import { SocialAuthModuleMessages } from '@dynamic-labs/message-transport';
2
+ import { Core } from '../../../client/core';
3
+ export type SocialAuthModule = {
4
+ connect: SocialAuthModuleMessages['connectWithSocial'];
5
+ };
6
+ export declare const createSocialAuthModule: (core: Core) => SocialAuthModule;
@@ -0,0 +1,10 @@
1
+ 'use client'
2
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
3
+
4
+ const createSocialAuthModule = (core) => {
5
+ const requestChannel = createRequestChannel(core.messageTransport);
6
+ const connect = ({ provider, }) => requestChannel.request('connectWithSocial', { provider });
7
+ return { connect };
8
+ };
9
+
10
+ export { createSocialAuthModule };
@@ -0,0 +1 @@
1
+ export { createNetworksModule } from './networksModule';
@@ -0,0 +1,18 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var messageTransport = require('@dynamic-labs/message-transport');
7
+ var pickListenerActions = require('../../utils/pickListenerActions/pickListenerActions.cjs');
8
+
9
+ const createNetworksModule = (core) => {
10
+ const store = messageTransport.createStore({
11
+ initialState: { evm: [] },
12
+ key: 'networks',
13
+ messageTransport: core.messageTransport,
14
+ });
15
+ return Object.assign(store.getters, pickListenerActions.pickListenerActions(store.eventEmitter));
16
+ };
17
+
18
+ exports.createNetworksModule = createNetworksModule;
@@ -0,0 +1,3 @@
1
+ import { NetworksModuleState } from '@dynamic-labs/message-transport';
2
+ import { Core } from '../../client/core';
3
+ export declare const createNetworksModule: (core: Core) => import("@dynamic-labs/message-transport").StoreStateGetters<NetworksModuleState> & Pick<import("eventemitter3").EventEmitter<import("@dynamic-labs/message-transport").StoreStateEvents<NetworksModuleState>, any>, "on" | "off" | "once">;
@@ -0,0 +1,14 @@
1
+ 'use client'
2
+ import { createStore } from '@dynamic-labs/message-transport';
3
+ import { pickListenerActions } from '../../utils/pickListenerActions/pickListenerActions.js';
4
+
5
+ const createNetworksModule = (core) => {
6
+ const store = createStore({
7
+ initialState: { evm: [] },
8
+ key: 'networks',
9
+ messageTransport: core.messageTransport,
10
+ });
11
+ return Object.assign(store.getters, pickListenerActions(store.eventEmitter));
12
+ };
13
+
14
+ export { createNetworksModule };
@@ -3,14 +3,11 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var _tslib = require('../../../_virtual/_tslib.cjs');
7
6
  var messageTransport = require('@dynamic-labs/message-transport');
8
7
  var pickListenerActions = require('../../utils/pickListenerActions/pickListenerActions.cjs');
9
- var manifest = require('./manifest/manifest.cjs');
8
+ var addProperty = require('../../utils/addProperty/addProperty.cjs');
10
9
 
11
- const createSdkModule = (core, props) => {
12
- const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
13
- requestChannel.handle('manifest', () => _tslib.__awaiter(void 0, void 0, void 0, function* () { return manifest.createManifest(props); }));
10
+ const createSdkModule = (core) => {
14
11
  const store = messageTransport.createStore({
15
12
  initialState: {
16
13
  loaded: false,
@@ -18,7 +15,10 @@ const createSdkModule = (core, props) => {
18
15
  key: 'sdk',
19
16
  messageTransport: core.messageTransport,
20
17
  });
21
- return Object.assign(store.getters, pickListenerActions.pickListenerActions(store.eventEmitter));
18
+ const baseModule = Object.assign(store.getters, pickListenerActions.pickListenerActions(store.eventEmitter));
19
+ return addProperty.addProperty(baseModule, 'error', {
20
+ get: () => core.initialization.error,
21
+ });
22
22
  };
23
23
 
24
24
  exports.createSdkModule = createSdkModule;
@@ -1,5 +1,6 @@
1
1
  import { SdkModuleState, StoreEventListeners } from '@dynamic-labs/message-transport';
2
- import type { ClientProps } from '../../client';
3
2
  import { Core } from '../../client/core';
4
- export type SdkModule = SdkModuleState & StoreEventListeners<SdkModuleState>;
5
- export declare const createSdkModule: (core: Core, props: ClientProps) => SdkModule;
3
+ export type SdkModule = SdkModuleState & StoreEventListeners<SdkModuleState> & {
4
+ readonly error: Error | null;
5
+ };
6
+ export declare const createSdkModule: (core: Core) => SdkModule;
@@ -1,12 +1,9 @@
1
1
  'use client'
2
- import { __awaiter } from '../../../_virtual/_tslib.js';
3
- import { createRequestChannel, createStore } from '@dynamic-labs/message-transport';
2
+ import { createStore } from '@dynamic-labs/message-transport';
4
3
  import { pickListenerActions } from '../../utils/pickListenerActions/pickListenerActions.js';
5
- import { createManifest } from './manifest/manifest.js';
4
+ import { addProperty } from '../../utils/addProperty/addProperty.js';
6
5
 
7
- const createSdkModule = (core, props) => {
8
- const requestChannel = createRequestChannel(core.messageTransport);
9
- requestChannel.handle('manifest', () => __awaiter(void 0, void 0, void 0, function* () { return createManifest(props); }));
6
+ const createSdkModule = (core) => {
10
7
  const store = createStore({
11
8
  initialState: {
12
9
  loaded: false,
@@ -14,7 +11,10 @@ const createSdkModule = (core, props) => {
14
11
  key: 'sdk',
15
12
  messageTransport: core.messageTransport,
16
13
  });
17
- return Object.assign(store.getters, pickListenerActions(store.eventEmitter));
14
+ const baseModule = Object.assign(store.getters, pickListenerActions(store.eventEmitter));
15
+ return addProperty(baseModule, 'error', {
16
+ get: () => core.initialization.error,
17
+ });
18
18
  };
19
19
 
20
20
  export { createSdkModule };
@@ -0,0 +1 @@
1
+ export { createUserInterfaceModule } from './userInterfaceModule';
@@ -0,0 +1,20 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var messageTransport = require('@dynamic-labs/message-transport');
7
+
8
+ const createUserInterfaceModule = (core) => {
9
+ const userInterfaceRequestChannel = messageTransport.createRequestChannel(core.messageTransport);
10
+ return {
11
+ auth: {
12
+ show: () => userInterfaceRequestChannel.emit('openAuthFlow'),
13
+ },
14
+ userProfile: {
15
+ show: () => userInterfaceRequestChannel.emit('openUserProfile'),
16
+ },
17
+ };
18
+ };
19
+
20
+ exports.createUserInterfaceModule = createUserInterfaceModule;
@@ -0,0 +1,9 @@
1
+ import { Core } from '../../client/core';
2
+ export declare const createUserInterfaceModule: (core: Core) => {
3
+ auth: {
4
+ show: () => void;
5
+ };
6
+ userProfile: {
7
+ show: () => void;
8
+ };
9
+ };
@@ -0,0 +1,16 @@
1
+ 'use client'
2
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
3
+
4
+ const createUserInterfaceModule = (core) => {
5
+ const userInterfaceRequestChannel = createRequestChannel(core.messageTransport);
6
+ return {
7
+ auth: {
8
+ show: () => userInterfaceRequestChannel.emit('openAuthFlow'),
9
+ },
10
+ userProfile: {
11
+ show: () => userInterfaceRequestChannel.emit('openUserProfile'),
12
+ },
13
+ };
14
+ };
15
+
16
+ export { createUserInterfaceModule };
@@ -0,0 +1,29 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var messageTransport = require('@dynamic-labs/message-transport');
7
+ var pickListenerActions = require('../../../utils/pickListenerActions/pickListenerActions.cjs');
8
+
9
+ const createEmbeddedWalletsModule = (core) => {
10
+ const store = messageTransport.createStore({
11
+ initialState: {
12
+ hasWallet: false,
13
+ },
14
+ key: 'embeddedWallets',
15
+ messageTransport: core.messageTransport,
16
+ });
17
+ const messageEvents = messageTransport.createEventEmitterForMessages({
18
+ initialEventEmitter: store.eventEmitter,
19
+ key: 'embeddedWallets',
20
+ messageTransport: core.messageTransport,
21
+ });
22
+ const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
23
+ return Object.assign(store.getters, pickListenerActions.pickListenerActions(messageEvents), {
24
+ createWallet: () => requestChannel.request('createWallet'),
25
+ getWallet: () => requestChannel.request('getWallet'),
26
+ });
27
+ };
28
+
29
+ exports.createEmbeddedWalletsModule = createEmbeddedWalletsModule;
@@ -0,0 +1,6 @@
1
+ import { EmbeddedWalletsModuleMessages, EmbeddedWalletsModuleState, StoreEventListeners } from '@dynamic-labs/message-transport';
2
+ import { Core } from '../../../client/core';
3
+ type PublicEmbeddedWalletsModuleMessages = Pick<EmbeddedWalletsModuleMessages, 'createWallet' | 'getWallet'>;
4
+ export type EmbeddedWalletsModule = EmbeddedWalletsModuleState & StoreEventListeners<EmbeddedWalletsModuleState> & PublicEmbeddedWalletsModuleMessages;
5
+ export declare const createEmbeddedWalletsModule: (core: Core) => EmbeddedWalletsModule;
6
+ export {};
@@ -0,0 +1,25 @@
1
+ 'use client'
2
+ import { createStore, createEventEmitterForMessages, createRequestChannel } from '@dynamic-labs/message-transport';
3
+ import { pickListenerActions } from '../../../utils/pickListenerActions/pickListenerActions.js';
4
+
5
+ const createEmbeddedWalletsModule = (core) => {
6
+ const store = createStore({
7
+ initialState: {
8
+ hasWallet: false,
9
+ },
10
+ key: 'embeddedWallets',
11
+ messageTransport: core.messageTransport,
12
+ });
13
+ const messageEvents = createEventEmitterForMessages({
14
+ initialEventEmitter: store.eventEmitter,
15
+ key: 'embeddedWallets',
16
+ messageTransport: core.messageTransport,
17
+ });
18
+ const requestChannel = createRequestChannel(core.messageTransport);
19
+ return Object.assign(store.getters, pickListenerActions(messageEvents), {
20
+ createWallet: () => requestChannel.request('createWallet'),
21
+ getWallet: () => requestChannel.request('getWallet'),
22
+ });
23
+ };
24
+
25
+ export { createEmbeddedWalletsModule };
@@ -0,0 +1 @@
1
+ export * from './embeddedWalletsModule';
@@ -5,14 +5,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var messageTransport = require('@dynamic-labs/message-transport');
7
7
  var pickListenerActions = require('../../utils/pickListenerActions/pickListenerActions.cjs');
8
+ var embeddedWalletsModule = require('./embeddedWalletsModule/embeddedWalletsModule.cjs');
8
9
 
9
10
  const createWalletsModule = (core) => {
11
+ const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
10
12
  const store = messageTransport.createStore({
11
13
  initialState: { primary: undefined, userWallets: [] },
12
14
  key: 'wallets',
13
15
  messageTransport: core.messageTransport,
14
16
  });
15
- return Object.assign(store.getters, pickListenerActions.pickListenerActions(store.eventEmitter));
17
+ const signMessage = (params) => requestChannel.request('signMessage', params);
18
+ const getBalance = (params) => requestChannel.request('getBalance', params);
19
+ const switchNetwork = (params) => requestChannel.request('switchNetwork', params);
20
+ const getNetwork = (params) => requestChannel.request('getNetwork', params);
21
+ return Object.assign(store.getters, pickListenerActions.pickListenerActions(store.eventEmitter), {
22
+ embedded: embeddedWalletsModule.createEmbeddedWalletsModule(core),
23
+ getBalance,
24
+ getNetwork,
25
+ signMessage,
26
+ switchNetwork,
27
+ });
16
28
  };
17
29
 
18
30
  exports.createWalletsModule = createWalletsModule;
@@ -1,4 +1,11 @@
1
- import { StoreEventListeners, WalletsModuleState } from '@dynamic-labs/message-transport';
1
+ import { StoreEventListeners, WalletsModuleMessages, WalletsModuleState } from '@dynamic-labs/message-transport';
2
2
  import { Core } from '../../client/core';
3
- export type WalletsModule = WalletsModuleState & StoreEventListeners<WalletsModuleState>;
3
+ import { EmbeddedWalletsModule } from './embeddedWalletsModule';
4
+ export type WalletsModule = WalletsModuleState & {
5
+ embedded: EmbeddedWalletsModule;
6
+ signMessage: WalletsModuleMessages['signMessage'];
7
+ switchNetwork: WalletsModuleMessages['switchNetwork'];
8
+ getBalance: WalletsModuleMessages['getBalance'];
9
+ getNetwork: WalletsModuleMessages['getNetwork'];
10
+ } & StoreEventListeners<WalletsModuleState>;
4
11
  export declare const createWalletsModule: (core: Core) => WalletsModule;