@dynamic-labs/client 2.1.0-alpha.17 → 2.1.0-alpha.19

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 (39) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +4 -4
  5. package/src/client/client.cjs +2 -2
  6. package/src/client/client.js +2 -2
  7. package/src/client/core/core.cjs +6 -1
  8. package/src/client/core/core.d.ts +8 -1
  9. package/src/client/core/core.js +6 -1
  10. package/src/client/core/modules/manifestModule/index.d.ts +1 -0
  11. package/src/client/core/modules/manifestModule/manifestModule.cjs +22 -0
  12. package/src/client/core/modules/manifestModule/manifestModule.d.ts +8 -0
  13. package/src/client/core/modules/manifestModule/manifestModule.js +18 -0
  14. package/src/{modules/sdkModule → client/core/modules/manifestModule/utils}/manifest/manifest.cjs +1 -1
  15. package/src/{modules/sdkModule → client/core/modules/manifestModule/utils}/manifest/manifest.d.ts +1 -1
  16. package/src/{modules/sdkModule → client/core/modules/manifestModule/utils}/manifest/manifest.js +1 -1
  17. package/src/index.d.ts +2 -0
  18. package/src/modules/authModule/authModule.cjs +4 -6
  19. package/src/modules/authModule/authModule.d.ts +5 -3
  20. package/src/modules/authModule/authModule.js +4 -6
  21. package/src/modules/{emailAuthModule → authModule/emailAuthModule}/emailAuthModule.d.ts +1 -1
  22. package/src/modules/{smsAuthModule → authModule/smsAuthModule}/smsAuthModule.d.ts +1 -1
  23. package/src/modules/sdkModule/sdkModule.cjs +1 -5
  24. package/src/modules/sdkModule/sdkModule.d.ts +1 -2
  25. package/src/modules/sdkModule/sdkModule.js +2 -6
  26. package/src/modules/walletsModule/embeddedWalletsModule/embeddedWalletsModule.cjs +29 -0
  27. package/src/modules/walletsModule/embeddedWalletsModule/embeddedWalletsModule.d.ts +6 -0
  28. package/src/modules/walletsModule/embeddedWalletsModule/embeddedWalletsModule.js +25 -0
  29. package/src/modules/walletsModule/embeddedWalletsModule/index.d.ts +1 -0
  30. package/src/modules/walletsModule/walletsModule.cjs +13 -1
  31. package/src/modules/walletsModule/walletsModule.d.ts +9 -2
  32. package/src/modules/walletsModule/walletsModule.js +14 -2
  33. /package/src/{modules/sdkModule → client/core/modules/manifestModule/utils}/manifest/index.d.ts +0 -0
  34. /package/src/modules/{emailAuthModule → authModule/emailAuthModule}/emailAuthModule.cjs +0 -0
  35. /package/src/modules/{emailAuthModule → authModule/emailAuthModule}/emailAuthModule.js +0 -0
  36. /package/src/modules/{emailAuthModule → authModule/emailAuthModule}/index.d.ts +0 -0
  37. /package/src/modules/{smsAuthModule → authModule/smsAuthModule}/index.d.ts +0 -0
  38. /package/src/modules/{smsAuthModule → authModule/smsAuthModule}/smsAuthModule.cjs +0 -0
  39. /package/src/modules/{smsAuthModule → authModule/smsAuthModule}/smsAuthModule.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,22 @@
1
1
 
2
+ ## [2.1.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.18...v2.1.0-alpha.19) (2024-05-17)
3
+
4
+
5
+ ### Features
6
+
7
+ * add createUserProfileFromSDKUser ([#5596](https://github.com/dynamic-labs/DynamicAuth/issues/5596)) ([d37a1b4](https://github.com/dynamic-labs/DynamicAuth/commit/d37a1b4119f5ff4fff1e987d157f6d5abf105a8b))
8
+ * add headless social sign-in ([#5439](https://github.com/dynamic-labs/DynamicAuth/issues/5439)) ([e32fdf8](https://github.com/dynamic-labs/DynamicAuth/commit/e32fdf863718d661b90b592c8df734e92386ddf3))
9
+ * fetch custom fields in profile and update user ([#5627](https://github.com/dynamic-labs/DynamicAuth/issues/5627)) ([3940c25](https://github.com/dynamic-labs/DynamicAuth/commit/3940c2542bb330f3ed9a8eb98eed9d05c8fcb03a))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * include applinks details to AASA ([#5635](https://github.com/dynamic-labs/DynamicAuth/issues/5635)) ([ce94fec](https://github.com/dynamic-labs/DynamicAuth/commit/ce94fec80adbb3eb4efcb79d1aa2cc6eb35eab6f))
15
+ * include the appOrigin to every api call to create correct passkey ([#5636](https://github.com/dynamic-labs/DynamicAuth/issues/5636)) ([ee64df3](https://github.com/dynamic-labs/DynamicAuth/commit/ee64df3b90037bd29cca161e601973ef202c58f0))
16
+ * use PromptModal when using the DynamicMultiWalletPromptsWidget for pending connection views ([#5594](https://github.com/dynamic-labs/DynamicAuth/issues/5594)) ([c095b6e](https://github.com/dynamic-labs/DynamicAuth/commit/c095b6e4c974f02cfe632963be92d16bb201dfa5))
17
+
18
+ ## [2.1.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.17...v2.1.0-alpha.18) (2024-05-15)
19
+
2
20
  ## [2.1.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.16...v2.1.0-alpha.17) (2024-05-15)
3
21
 
4
22
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "2.1.0-alpha.17";
6
+ var version = "2.1.0-alpha.19";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "2.1.0-alpha.17";
2
+ var version = "2.1.0-alpha.19";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/client",
3
- "version": "2.1.0-alpha.17",
3
+ "version": "2.1.0-alpha.19",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -26,12 +26,12 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
- "@dynamic-labs/message-transport": "2.1.0-alpha.17",
29
+ "@dynamic-labs/message-transport": "2.1.0-alpha.19",
30
30
  "@vue/reactivity": "3.4.21"
31
31
  },
32
32
  "peerDependencies": {
33
- "@dynamic-labs/logger": "2.1.0-alpha.17",
34
- "@dynamic-labs/types": "2.1.0-alpha.17",
33
+ "@dynamic-labs/logger": "2.1.0-alpha.19",
34
+ "@dynamic-labs/types": "2.1.0-alpha.19",
35
35
  "eventemitter3": "5.0.1"
36
36
  }
37
37
  }
@@ -18,13 +18,13 @@ var core = require('./core/core.cjs');
18
18
  * it will be used for.
19
19
  */
20
20
  const createClient = (props) => {
21
- const core$1 = core.createCore();
21
+ const core$1 = core.createCore(props);
22
22
  const baseExtendable = new Extendable.Extendable(core$1);
23
23
  return baseExtendable.extend(() => ({
24
24
  /** Module that gives access over authentication state, such as the auth token and user */
25
25
  auth: authModule.createAuthModule(core$1),
26
26
  /** Module that gives insight over the state of the SDK */
27
- sdk: sdkModule.createSdkModule(core$1, props),
27
+ sdk: sdkModule.createSdkModule(core$1),
28
28
  /** Module that provide access to UI features */
29
29
  ui: userInterfaceModule.createUserInterfaceModule(core$1),
30
30
  /** Module that provides access to user's wallets */
@@ -14,13 +14,13 @@ import { createCore } from './core/core.js';
14
14
  * it will be used for.
15
15
  */
16
16
  const createClient = (props) => {
17
- const core = createCore();
17
+ const core = createCore(props);
18
18
  const baseExtendable = new Extendable(core);
19
19
  return baseExtendable.extend(() => ({
20
20
  /** Module that gives access over authentication state, such as the auth token and user */
21
21
  auth: createAuthModule(core),
22
22
  /** Module that gives insight over the state of the SDK */
23
- sdk: createSdkModule(core, props),
23
+ sdk: createSdkModule(core),
24
24
  /** Module that provide access to UI features */
25
25
  ui: createUserInterfaceModule(core),
26
26
  /** Module that provides access to user's wallets */
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var messageTransport$1 = require('@dynamic-labs/message-transport');
7
7
  var initializationModule = require('./modules/initializationModule/initializationModule.cjs');
8
+ var manifestModule = require('./modules/manifestModule/manifestModule.cjs');
8
9
 
9
10
  const messageTransport = messageTransport$1.applyDefaultMessageOrigin({
10
11
  defaultOrigin: 'host',
@@ -18,7 +19,7 @@ const messageTransport = messageTransport$1.applyDefaultMessageOrigin({
18
19
  // messageTransport.on((message) =>
19
20
  // console.log('message', JSON.stringify(message, null, 2)),
20
21
  // );
21
- const createCore = () => ({
22
+ const createCore = (props) => ({
22
23
  /**
23
24
  * Allows an extension to add its name to the list, such that
24
25
  * other extensions are able to detect if it is present.
@@ -31,6 +32,10 @@ const createCore = () => ({
31
32
  * SDK initialization module handles the initialization error
32
33
  */
33
34
  initialization: initializationModule.createInitializationModule(messageTransport),
35
+ /**
36
+ * Manages the manifest of the host
37
+ */
38
+ manifest: manifestModule.createManifestModule(props, messageTransport),
34
39
  /**
35
40
  * Message transport that will be used to send and receive messages to the webview.
36
41
  * Should preferably be used with createRequestChannel, rather than used directly.
@@ -1,9 +1,10 @@
1
+ import { ClientProps } from '../client';
1
2
  /**
2
3
  * Holds properties and methods used by client extensions, but that we don't
3
4
  * want users to have access to.
4
5
  */
5
6
  export type Core = ReturnType<typeof createCore>;
6
- export declare const createCore: () => {
7
+ export declare const createCore: (props: ClientProps) => {
7
8
  /**
8
9
  * Allows an extension to add its name to the list, such that
9
10
  * other extensions are able to detect if it is present.
@@ -19,6 +20,12 @@ export declare const createCore: () => {
19
20
  get error(): Error | null;
20
21
  set error(error: Error);
21
22
  };
23
+ /**
24
+ * Manages the manifest of the host
25
+ */
26
+ manifest: {
27
+ setAppOrigin: (appOrigin: string) => string;
28
+ };
22
29
  /**
23
30
  * Message transport that will be used to send and receive messages to the webview.
24
31
  * Should preferably be used with createRequestChannel, rather than used directly.
@@ -1,6 +1,7 @@
1
1
  'use client'
2
2
  import { applyDefaultMessageOrigin, makeWaitForInitEvent, sdkHasLoadedEventName, createMessageTransport } from '@dynamic-labs/message-transport';
3
3
  import { createInitializationModule } from './modules/initializationModule/initializationModule.js';
4
+ import { createManifestModule } from './modules/manifestModule/manifestModule.js';
4
5
 
5
6
  const messageTransport = applyDefaultMessageOrigin({
6
7
  defaultOrigin: 'host',
@@ -14,7 +15,7 @@ const messageTransport = applyDefaultMessageOrigin({
14
15
  // messageTransport.on((message) =>
15
16
  // console.log('message', JSON.stringify(message, null, 2)),
16
17
  // );
17
- const createCore = () => ({
18
+ const createCore = (props) => ({
18
19
  /**
19
20
  * Allows an extension to add its name to the list, such that
20
21
  * other extensions are able to detect if it is present.
@@ -27,6 +28,10 @@ const createCore = () => ({
27
28
  * SDK initialization module handles the initialization error
28
29
  */
29
30
  initialization: createInitializationModule(messageTransport),
31
+ /**
32
+ * Manages the manifest of the host
33
+ */
34
+ manifest: createManifestModule(props, messageTransport),
30
35
  /**
31
36
  * Message transport that will be used to send and receive messages to the webview.
32
37
  * Should preferably be used with createRequestChannel, rather than used directly.
@@ -0,0 +1 @@
1
+ export { createManifestModule } from './manifestModule';
@@ -0,0 +1,22 @@
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 manifest = require('./utils/manifest/manifest.cjs');
9
+
10
+ /**
11
+ * Manifest module handles the client manifest that will be requested by the webview
12
+ */
13
+ const createManifestModule = (props, messageTransport$1) => {
14
+ const requestChannel = messageTransport.createRequestChannel(messageTransport$1);
15
+ const manifest$1 = manifest.createManifest(props);
16
+ requestChannel.handle('manifest', () => _tslib.__awaiter(void 0, void 0, void 0, function* () { return manifest$1; }));
17
+ return {
18
+ setAppOrigin: (appOrigin) => (manifest$1.appOrigin = appOrigin),
19
+ };
20
+ };
21
+
22
+ exports.createManifestModule = createManifestModule;
@@ -0,0 +1,8 @@
1
+ import { MessageTransportWithDefaultOrigin } from '@dynamic-labs/message-transport';
2
+ import { ClientProps } from '../../../client';
3
+ /**
4
+ * Manifest module handles the client manifest that will be requested by the webview
5
+ */
6
+ export declare const createManifestModule: (props: ClientProps, messageTransport: MessageTransportWithDefaultOrigin) => {
7
+ setAppOrigin: (appOrigin: string) => string;
8
+ };
@@ -0,0 +1,18 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
4
+ import { createManifest } from './utils/manifest/manifest.js';
5
+
6
+ /**
7
+ * Manifest module handles the client manifest that will be requested by the webview
8
+ */
9
+ const createManifestModule = (props, messageTransport) => {
10
+ const requestChannel = createRequestChannel(messageTransport);
11
+ const manifest = createManifest(props);
12
+ requestChannel.handle('manifest', () => __awaiter(void 0, void 0, void 0, function* () { return manifest; }));
13
+ return {
14
+ setAppOrigin: (appOrigin) => (manifest.appOrigin = appOrigin),
15
+ };
16
+ };
17
+
18
+ export { createManifestModule };
@@ -3,7 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var _package = require('../../../../package.cjs');
6
+ var _package = require('../../../../../../../package.cjs');
7
7
 
8
8
  const createManifest = ({ apiBaseUrl, environmentId, appLogoUrl, appName, cssOverrides, }) => ({
9
9
  apiBaseUrl,
@@ -1,3 +1,3 @@
1
1
  import type { ClientManifest } from '@dynamic-labs/message-transport';
2
- import type { ClientProps } from '../../../client';
2
+ import type { ClientProps } from '../../../../..';
3
3
  export declare const createManifest: ({ apiBaseUrl, environmentId, appLogoUrl, appName, cssOverrides, }: ClientProps) => ClientManifest;
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- import { version } from '../../../../package.js';
2
+ import { version } from '../../../../../../../package.js';
3
3
 
4
4
  const createManifest = ({ apiBaseUrl, environmentId, appLogoUrl, appName, cssOverrides, }) => ({
5
5
  apiBaseUrl,
package/src/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
+ import { BaseWallet } from '@dynamic-labs/types';
1
2
  export { type Core } from './client/core';
2
3
  export { Extendable, type Extension } from './utils/Extendable';
3
4
  export { createClient, type BaseClient, type ClientProps } from './client';
4
5
  export type { AuthModule } from './modules/authModule';
5
6
  export type { SdkModule } from './modules/sdkModule';
6
7
  export type { WalletsModule } from './modules/walletsModule';
8
+ export type Wallet = BaseWallet;
@@ -5,12 +5,10 @@ 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 smsAuthModule = require('./smsAuthModule/smsAuthModule.cjs');
9
+ var emailAuthModule = require('./emailAuthModule/emailAuthModule.cjs');
10
10
 
11
11
  const createAuthModule = (core) => {
12
- const email = emailAuthModule.createEmailAuthModule(core);
13
- const sms = smsAuthModule.createSmsAuthModule(core);
14
12
  const store = messageTransport.createStore({
15
13
  initialState: {
16
14
  authenticatedUser: null,
@@ -26,9 +24,9 @@ const createAuthModule = (core) => {
26
24
  });
27
25
  const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
28
26
  return Object.assign(store.getters, pickListenerActions.pickListenerActions(messageEvents), {
29
- email,
27
+ email: emailAuthModule.createEmailAuthModule(core),
30
28
  logout: () => requestChannel.request('logout'),
31
- sms,
29
+ sms: smsAuthModule.createSmsAuthModule(core),
32
30
  });
33
31
  };
34
32
 
@@ -1,9 +1,11 @@
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 { SmsAuthModule } from './smsAuthModule';
4
+ import { EmailAuthModule } from './emailAuthModule';
5
+ type PublicAuthModuleMessages = Pick<AuthModuleMessages, 'logout'>;
6
+ export type AuthModule = AuthModuleState & StoreEventListeners<AuthModuleState> & PublicAuthModuleMessages & {
6
7
  sms: SmsAuthModule;
7
8
  email: EmailAuthModule;
8
9
  };
9
10
  export declare const createAuthModule: (core: Core) => AuthModule;
11
+ export {};
@@ -1,12 +1,10 @@
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 { createSmsAuthModule } from './smsAuthModule/smsAuthModule.js';
5
+ import { createEmailAuthModule } from './emailAuthModule/emailAuthModule.js';
6
6
 
7
7
  const createAuthModule = (core) => {
8
- const email = createEmailAuthModule(core);
9
- const sms = createSmsAuthModule(core);
10
8
  const store = createStore({
11
9
  initialState: {
12
10
  authenticatedUser: null,
@@ -22,9 +20,9 @@ const createAuthModule = (core) => {
22
20
  });
23
21
  const requestChannel = createRequestChannel(core.messageTransport);
24
22
  return Object.assign(store.getters, pickListenerActions(messageEvents), {
25
- email,
23
+ email: createEmailAuthModule(core),
26
24
  logout: () => requestChannel.request('logout'),
27
- sms,
25
+ sms: createSmsAuthModule(core),
28
26
  });
29
27
  };
30
28
 
@@ -1,4 +1,4 @@
1
- import { Core } from '../../client/core';
1
+ import { Core } from '../../../client/core';
2
2
  export declare const createEmailAuthModule: (core: Core) => {
3
3
  resendOTP: () => Promise<void>;
4
4
  sendOTP: (target: string) => Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import { PhoneData } from '@dynamic-labs/types';
2
- import { Core } from '../../client/core';
2
+ import { Core } from '../../../client/core';
3
3
  export declare const createSmsAuthModule: (core: Core) => {
4
4
  resendOTP: () => Promise<void>;
5
5
  sendOTP: (target: PhoneData) => Promise<void>;
@@ -3,15 +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
8
  var addProperty = require('../../utils/addProperty/addProperty.cjs');
10
- var manifest = require('./manifest/manifest.cjs');
11
9
 
12
- const createSdkModule = (core, props) => {
13
- const requestChannel = messageTransport.createRequestChannel(core.messageTransport);
14
- requestChannel.handle('manifest', () => _tslib.__awaiter(void 0, void 0, void 0, function* () { return manifest.createManifest(props); }));
10
+ const createSdkModule = (core) => {
15
11
  const store = messageTransport.createStore({
16
12
  initialState: {
17
13
  loaded: false,
@@ -1,7 +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
3
  export type SdkModule = SdkModuleState & StoreEventListeners<SdkModuleState> & {
5
4
  readonly error: Error | null;
6
5
  };
7
- export declare const createSdkModule: (core: Core, props: ClientProps) => SdkModule;
6
+ export declare const createSdkModule: (core: Core) => SdkModule;
@@ -1,13 +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
4
  import { addProperty } from '../../utils/addProperty/addProperty.js';
6
- import { createManifest } from './manifest/manifest.js';
7
5
 
8
- const createSdkModule = (core, props) => {
9
- const requestChannel = createRequestChannel(core.messageTransport);
10
- requestChannel.handle('manifest', () => __awaiter(void 0, void 0, void 0, function* () { return createManifest(props); }));
6
+ const createSdkModule = (core) => {
11
7
  const store = createStore({
12
8
  initialState: {
13
9
  loaded: false,
@@ -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;
@@ -1,14 +1,26 @@
1
1
  'use client'
2
- import { createStore } from '@dynamic-labs/message-transport';
2
+ import { createRequestChannel, createStore } from '@dynamic-labs/message-transport';
3
3
  import { pickListenerActions } from '../../utils/pickListenerActions/pickListenerActions.js';
4
+ import { createEmbeddedWalletsModule } from './embeddedWalletsModule/embeddedWalletsModule.js';
4
5
 
5
6
  const createWalletsModule = (core) => {
7
+ const requestChannel = createRequestChannel(core.messageTransport);
6
8
  const store = createStore({
7
9
  initialState: { primary: undefined, userWallets: [] },
8
10
  key: 'wallets',
9
11
  messageTransport: core.messageTransport,
10
12
  });
11
- return Object.assign(store.getters, pickListenerActions(store.eventEmitter));
13
+ const signMessage = (params) => requestChannel.request('signMessage', params);
14
+ const getBalance = (params) => requestChannel.request('getBalance', params);
15
+ const switchNetwork = (params) => requestChannel.request('switchNetwork', params);
16
+ const getNetwork = (params) => requestChannel.request('getNetwork', params);
17
+ return Object.assign(store.getters, pickListenerActions(store.eventEmitter), {
18
+ embedded: createEmbeddedWalletsModule(core),
19
+ getBalance,
20
+ getNetwork,
21
+ signMessage,
22
+ switchNetwork,
23
+ });
12
24
  };
13
25
 
14
26
  export { createWalletsModule };