@dynamic-labs/message-transport 4.18.7 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,27 @@
1
1
 
2
+ ## [4.19.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.8...v4.19.0) (2025-05-23)
3
+
4
+
5
+ ### Features
6
+
7
+ * expose 7702 kernel and add viem controller ([#8786](https://github.com/dynamic-labs/dynamic-auth/issues/8786)) ([eea710e](https://github.com/dynamic-labs/dynamic-auth/commit/eea710e238ccbc36e6be37d8f7493954b99858ef))
8
+ * use browser wallet client & iframe for waas operations ([#8697](https://github.com/dynamic-labs/dynamic-auth/issues/8697)) ([13a47b1](https://github.com/dynamic-labs/dynamic-auth/commit/13a47b1c9a2984f08682e833ca8c87605a3a872f))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **global-wallet:** close popup when page unloads to prevent orphaned popup windows ([#8787](https://github.com/dynamic-labs/dynamic-auth/issues/8787)) ([441b04c](https://github.com/dynamic-labs/dynamic-auth/commit/441b04ca04a02feb37473e43bca0e66c5d772ce2))
14
+ * override network when requesting BTC networks in useTokenBalances ([#8773](https://github.com/dynamic-labs/dynamic-auth/issues/8773)) ([fd07d09](https://github.com/dynamic-labs/dynamic-auth/commit/fd07d09de970c7e6f85b251a88854e8eca57e249))
15
+ * remove libmpc executor dependency global wallet ([#8792](https://github.com/dynamic-labs/dynamic-auth/issues/8792)) ([7502585](https://github.com/dynamic-labs/dynamic-auth/commit/75025859d2f952915322cf65504117ec2506152b))
16
+ * standardize font on headers ([#8734](https://github.com/dynamic-labs/dynamic-auth/issues/8734)) ([9f0900c](https://github.com/dynamic-labs/dynamic-auth/commit/9f0900cb7c4294201cc952ae7538648bdea83ff5))
17
+
18
+ ### [4.18.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.7...v4.18.8) (2025-05-22)
19
+
20
+ ### Bug Fixes
21
+
22
+ * allow closing widget right after login ([#8760](https://github.com/dynamic-labs/dynamic-auth/issues/8760)) ([a9afff0](https://github.com/dynamic-labs/dynamic-auth/commit/a9afff0ab2a685853b39aed88e10bf1e700e4c8c))
23
+ * user wallets turning empty when linking new wallets ([#8775](https://github.com/dynamic-labs/dynamic-auth/issues/8775)) ([04215f5](https://github.com/dynamic-labs/dynamic-auth/commit/04215f5307e16ec4e1a7ff235a0d7df2340c3447))
24
+
2
25
  ### [4.18.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.6...v4.18.7) (2025-05-21)
3
26
 
4
27
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.18.7";
6
+ var version = "4.19.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.18.7";
2
+ var version = "4.19.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/message-transport",
3
- "version": "4.18.7",
3
+ "version": "4.19.0",
4
4
  "description": "Defines the interface to communicate with dynamic's webview",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -20,12 +20,12 @@
20
20
  "dependencies": {
21
21
  "@dynamic-labs/sdk-api-core": "0.0.672",
22
22
  "@vue/reactivity": "^3.4.21",
23
- "@dynamic-labs/types": "4.18.7",
23
+ "@dynamic-labs/types": "4.19.0",
24
24
  "eventemitter3": "5.0.1",
25
- "@dynamic-labs/assert-package-version": "4.18.7",
26
- "@dynamic-labs/logger": "4.18.7",
27
- "@dynamic-labs/utils": "4.18.7",
28
- "@dynamic-labs/webauthn": "4.18.7"
25
+ "@dynamic-labs/assert-package-version": "4.19.0",
26
+ "@dynamic-labs/logger": "4.19.0",
27
+ "@dynamic-labs/utils": "4.19.0",
28
+ "@dynamic-labs/webauthn": "4.19.0"
29
29
  },
30
30
  "peerDependencies": {}
31
31
  }
package/src/index.cjs CHANGED
@@ -10,6 +10,7 @@ var applyDefaultMessageOrigin = require('./messageTransport/decorators/applyDefa
10
10
  var makeWaitForInitEvent = require('./messageTransport/decorators/makeWaitForInitEvent/makeWaitForInitEvent.cjs');
11
11
  var makeWaitForUnblock = require('./messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.cjs');
12
12
  var requestChannel = require('./requestChannel/requestChannel.cjs');
13
+ var utils = require('./requestChannel/utils/utils.cjs');
13
14
  var parseErrorFromTransport = require('./utils/parseErrorFromTransport/parseErrorFromTransport.cjs');
14
15
  var parseMessageTransportData = require('./utils/parseMessageTransportData/parseMessageTransportData.cjs');
15
16
  var serializeErrorForTransport = require('./utils/serializeErrorForTransport/serializeErrorForTransport.cjs');
@@ -31,6 +32,13 @@ exports.applyDefaultMessageOrigin = applyDefaultMessageOrigin.applyDefaultMessag
31
32
  exports.makeWaitForInitEvent = makeWaitForInitEvent.makeWaitForInitEvent;
32
33
  exports.makeWaitForUnblock = makeWaitForUnblock.makeWaitForUnblock;
33
34
  exports.createRequestChannel = requestChannel.createRequestChannel;
35
+ exports.getAckMessageType = utils.getAckMessageType;
36
+ exports.getRejectMessageType = utils.getRejectMessageType;
37
+ exports.getResolveMessageType = utils.getResolveMessageType;
38
+ exports.isAckMessageType = utils.isAckMessageType;
39
+ exports.isRejectMessageType = utils.isRejectMessageType;
40
+ exports.isRequestMessageType = utils.isRequestMessageType;
41
+ exports.isResolveMessageType = utils.isResolveMessageType;
34
42
  exports.parseErrorFromTransport = parseErrorFromTransport.parseErrorFromTransport;
35
43
  exports.parseMessageTransportData = parseMessageTransportData.parseMessageTransportData;
36
44
  exports.serializeErrorForTransport = serializeErrorForTransport.serializeErrorForTransport;
package/src/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { applyDefaultMessageOrigin, createMessageTransport, makeWaitForInitEvent, makeWaitForUnblock, type BypassBlockCallback, type MessageTransport, type MessageTransportCallback, type MessageTransportData, type MessageTransportDataOptionalOrigin, type MessageTransportWithDefaultOrigin, } from './messageTransport';
2
- export { createRequestChannel, type RequestChannel } from './requestChannel';
2
+ export { createRequestChannel, type RequestChannel, type RequestTypes, type TypesExpectingResponse, getAckMessageType, getRejectMessageType, getResolveMessageType, isAckMessageType, isRejectMessageType, isResolveMessageType, isRequestMessageType, } from './requestChannel';
3
3
  export { parseErrorFromTransport } from './utils/parseErrorFromTransport';
4
4
  export { parseMessageTransportData } from './utils/parseMessageTransportData';
5
5
  export { serializeErrorForTransport, type SerializedError, } from './utils/serializeErrorForTransport';
@@ -7,4 +7,4 @@ export { isSerializedError } from './utils/isSerializedError';
7
7
  export { createEventEmitterForMessages, createStore, createStoreSetter, type CreateStoreProps, } from './store';
8
8
  export type { Store, StoreEventListeners, StoreKeys, StoreSetter, StoreStateChangeEvent, StoreStateEvents, StoreStateGetters, } from './store/types';
9
9
  export type { PickedEventListeners } from './types';
10
- export { authEventNames, emailEventNames, embeddedWalletsEventNames, sdkHasLoadedEventName, smsEventNames, userInterfaceEventNames, userWalletsEventNames, type AccountAbstractionGetEOAWalletArgs, type AccountAbstractionGetSmartWalletArgs, type AccountAbstractionIsSmartWalletArgs, type AccountAbstractionMessages, type AuthModuleMessages, type AuthModuleState, type ClientManifest, type ConsoleMessages, type CreateEmbeddedWalletArgs, type DeleteStorageItemArgs, type EmailOtpParams, type EmbeddedWalletsModuleMessages, type EmbeddedWalletsModuleState, type EthMessages, type EthRequestParams, type EthRequestWithAddressParams, type EthRequestWithChainIdParams, type ExternalAuthMessages, type FetchMessages, type GetStorageItemArgs, type KernelAccountSettings, type NetworksModuleState, type OtpData, type OtpMessages, type PasskeyMessages, type PlatformServiceMessages, type ProjectSettingsMessages, type SdkModuleMessages, type SdkModuleState, type SetStorageItemArgs, type SignInWithExternalJwtParams, type SmsOtpParams, type SocialAuthModuleMessages, type SocialProvider, type SolanaMessages, type StorageMessages, type StorageMessageSource, type TurnkeyIframeEventProxyMessages, type UserInterfaceModuleMessages, type VerifyWithExternalJwtParams, type WalletEvents, type WalletsModuleMessages, type WalletsModuleState, type WebViewVisibilityMessages, type ZeroDevExtensionMessages, } from './messageTypes';
10
+ export { authEventNames, emailEventNames, embeddedWalletsEventNames, sdkHasLoadedEventName, smsEventNames, userInterfaceEventNames, userWalletsEventNames, type AccountAbstractionGetEOAWalletArgs, type AccountAbstractionGetSmartWalletArgs, type AccountAbstractionIsSmartWalletArgs, type AccountAbstractionMessages, type AuthModuleMessages, type AuthModuleState, type ClientManifest, type ConsoleMessages, type CreateEmbeddedWalletArgs, type DeleteStorageItemArgs, type EmailOtpParams, type EmbeddedWalletsModuleMessages, type EmbeddedWalletsModuleState, type EthMessages, type EthRequestParams, type EthRequestWithAddressParams, type EthRequestWithChainIdParams, type ExternalAuthMessages, type FetchMessages, type GetStorageItemArgs, type KernelAccountSettings, type NetworksModuleState, type OtpData, type OtpMessages, type PasskeyMessages, type PlatformServiceMessages, type ProjectSettingsMessages, type SdkModuleMessages, type SdkModuleState, type SetStorageItemArgs, type SignInWithExternalJwtParams, type SmsOtpParams, type SocialAuthModuleMessages, type SocialProvider, type SolanaMessages, type StorageMessages, type StorageMessageSource, type TurnkeyIframeEventProxyMessages, type UserInterfaceModuleMessages, type ViemMessages, type VerifyWithExternalJwtParams, type WalletEvents, type WalletsModuleMessages, type WalletsModuleState, type WebViewVisibilityMessages, type ZeroDevExtensionMessages, } from './messageTypes';
package/src/index.js CHANGED
@@ -6,6 +6,7 @@ export { applyDefaultMessageOrigin } from './messageTransport/decorators/applyDe
6
6
  export { makeWaitForInitEvent } from './messageTransport/decorators/makeWaitForInitEvent/makeWaitForInitEvent.js';
7
7
  export { makeWaitForUnblock } from './messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.js';
8
8
  export { createRequestChannel } from './requestChannel/requestChannel.js';
9
+ export { getAckMessageType, getRejectMessageType, getResolveMessageType, isAckMessageType, isRejectMessageType, isRequestMessageType, isResolveMessageType } from './requestChannel/utils/utils.js';
9
10
  export { parseErrorFromTransport } from './utils/parseErrorFromTransport/parseErrorFromTransport.js';
10
11
  export { parseMessageTransportData } from './utils/parseMessageTransportData/parseMessageTransportData.js';
11
12
  export { serializeErrorForTransport } from './utils/serializeErrorForTransport/serializeErrorForTransport.js';
@@ -0,0 +1,51 @@
1
+ type Hex = `0x${string}`;
2
+ type ByteArray = Uint8Array;
3
+ type SignableMessage = string | {
4
+ raw: Hex | ByteArray;
5
+ };
6
+ type TransactionSerializable = {
7
+ to?: Hex | null;
8
+ data?: Hex;
9
+ value?: bigint;
10
+ [key: string]: unknown;
11
+ };
12
+ type TypedDataParameter = {
13
+ name: string;
14
+ type: string;
15
+ };
16
+ export type TypedData = {
17
+ types: {
18
+ [key: string]: TypedDataParameter[];
19
+ };
20
+ primaryType: string;
21
+ domain: {
22
+ name?: string;
23
+ version?: string;
24
+ chainId?: number;
25
+ verifyingContract?: Hex;
26
+ salt?: Hex;
27
+ };
28
+ message: Record<string, unknown>;
29
+ };
30
+ type SignAuthorizationReturnType = {
31
+ address: Hex;
32
+ chainId: number;
33
+ nonce: number;
34
+ r: Hex;
35
+ s: Hex;
36
+ v?: bigint;
37
+ yParity?: number;
38
+ };
39
+ type SignAuthorizationParametersWithoutPrivateKey = {
40
+ address?: Hex;
41
+ contractAddress?: Hex;
42
+ chainId: number;
43
+ nonce: number;
44
+ };
45
+ export type ViemMessages = {
46
+ viem_signAuthorization: (walletId: string, parameters: SignAuthorizationParametersWithoutPrivateKey) => Promise<SignAuthorizationReturnType>;
47
+ viem_signMessage: (walletId: string, message: SignableMessage) => Promise<Hex>;
48
+ viem_signTransaction: (walletId: string, transaction: TransactionSerializable) => Promise<Hex>;
49
+ viem_signTypedData: (walletId: string, typedData: TypedData) => Promise<Hex>;
50
+ };
51
+ export {};
@@ -8,6 +8,7 @@ export type KernelAccountSettings = {
8
8
  ecdsaProviderType: string | null;
9
9
  kernelVersion: string;
10
10
  projectId: string;
11
+ enableEIP7702: boolean | void;
11
12
  };
12
13
  export type ZeroDevExtensionMessages = {
13
14
  getKernelAccountSettings: (args: {
@@ -16,6 +16,7 @@ export * from './SolanaMessages';
16
16
  export * from './StorageMessages';
17
17
  export * from './TurnkeyIframeEventProxyMessages';
18
18
  export * from './UserInterfaceModuleMessages';
19
+ export * from './ViemMessages';
19
20
  export * from './WalletsModuleMessages';
20
21
  export * from './WebViewVisibilityMessages';
21
22
  export * from './ZeroDevExtensionMessages';
@@ -1,2 +1,3 @@
1
1
  export * from './requestChannel';
2
2
  export * from './types';
3
+ export * from './utils';
@@ -6,7 +6,7 @@ export type RequestTypes = Record<string, (...params: any[]) => Promise<any> | v
6
6
  * Only the request types from T that return promises
7
7
  * i.e. those that expect a response
8
8
  */
9
- type TypesExpectingResponse<T extends RequestTypes> = Extract<{
9
+ export type TypesExpectingResponse<T extends RequestTypes> = Extract<{
10
10
  [K in keyof T]: ReturnType<T[K]> extends Promise<any> ? K : never;
11
11
  }[keyof T], string>;
12
12
  export type RequestChannel<T extends RequestTypes> = {
@@ -52,4 +52,3 @@ export type RequestChannel<T extends RequestTypes> = {
52
52
  */
53
53
  request: <K extends TypesExpectingResponse<T>>(requestName: K, ...params: Parameters<T[K]>) => ReturnType<T[K]>;
54
54
  };
55
- export {};
@@ -12,6 +12,16 @@ const getResolveMessageType = (type) => `${type}__resolve`;
12
12
  const getRejectMessageType = (type) => `${type}__reject`;
13
13
  /** Given a request event name, returns the event name for its acknowledgement */
14
14
  const getAckMessageType = (type) => `${type}__ack`;
15
+ /** Given a message type, returns true if it is an action message type */
16
+ const isAckMessageType = (type) => type.endsWith('__ack');
17
+ /** Given a message type, returns true if it is a resolve message type */
18
+ const isResolveMessageType = (type) => type.endsWith('__resolve');
19
+ /** Given a message type, returns true if it is a reject message type */
20
+ const isRejectMessageType = (type) => type.endsWith('__reject');
21
+ /** Given a message type, returns true if it is a request message type */
22
+ const isRequestMessageType = (type) => !isAckMessageType(type) &&
23
+ !isResolveMessageType(type) &&
24
+ !isRejectMessageType(type);
15
25
  /** Returns a "no handlers registered" error for a message type */
16
26
  const createNoHandlerError = (type) => {
17
27
  const message = `No handlers were registered for message of type ${type}`;
@@ -31,3 +41,7 @@ exports.createNoHandlerError = createNoHandlerError;
31
41
  exports.getAckMessageType = getAckMessageType;
32
42
  exports.getRejectMessageType = getRejectMessageType;
33
43
  exports.getResolveMessageType = getResolveMessageType;
44
+ exports.isAckMessageType = isAckMessageType;
45
+ exports.isRejectMessageType = isRejectMessageType;
46
+ exports.isRequestMessageType = isRequestMessageType;
47
+ exports.isResolveMessageType = isResolveMessageType;
@@ -5,6 +5,14 @@ export declare const getResolveMessageType: (type: string) => string;
5
5
  export declare const getRejectMessageType: (type: string) => string;
6
6
  /** Given a request event name, returns the event name for its acknowledgement */
7
7
  export declare const getAckMessageType: (type: string) => string;
8
+ /** Given a message type, returns true if it is an action message type */
9
+ export declare const isAckMessageType: (type: string) => boolean;
10
+ /** Given a message type, returns true if it is a resolve message type */
11
+ export declare const isResolveMessageType: (type: string) => boolean;
12
+ /** Given a message type, returns true if it is a reject message type */
13
+ export declare const isRejectMessageType: (type: string) => boolean;
14
+ /** Given a message type, returns true if it is a request message type */
15
+ export declare const isRequestMessageType: (type: string) => boolean;
8
16
  /** Returns a "no handlers registered" error for a message type */
9
17
  export declare const createNoHandlerError: (type: string) => RequestChannelNotHandledError;
10
18
  /**
@@ -8,6 +8,16 @@ const getResolveMessageType = (type) => `${type}__resolve`;
8
8
  const getRejectMessageType = (type) => `${type}__reject`;
9
9
  /** Given a request event name, returns the event name for its acknowledgement */
10
10
  const getAckMessageType = (type) => `${type}__ack`;
11
+ /** Given a message type, returns true if it is an action message type */
12
+ const isAckMessageType = (type) => type.endsWith('__ack');
13
+ /** Given a message type, returns true if it is a resolve message type */
14
+ const isResolveMessageType = (type) => type.endsWith('__resolve');
15
+ /** Given a message type, returns true if it is a reject message type */
16
+ const isRejectMessageType = (type) => type.endsWith('__reject');
17
+ /** Given a message type, returns true if it is a request message type */
18
+ const isRequestMessageType = (type) => !isAckMessageType(type) &&
19
+ !isResolveMessageType(type) &&
20
+ !isRejectMessageType(type);
11
21
  /** Returns a "no handlers registered" error for a message type */
12
22
  const createNoHandlerError = (type) => {
13
23
  const message = `No handlers were registered for message of type ${type}`;
@@ -22,4 +32,4 @@ const createNoHandlerError = (type) => {
22
32
  */
23
33
  const TIMEOUT_DURATION = 3000;
24
34
 
25
- export { TIMEOUT_DURATION, createNoHandlerError, getAckMessageType, getRejectMessageType, getResolveMessageType };
35
+ export { TIMEOUT_DURATION, createNoHandlerError, getAckMessageType, getRejectMessageType, getResolveMessageType, isAckMessageType, isRejectMessageType, isRequestMessageType, isResolveMessageType };
@@ -5,6 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var EventEmitter = require('eventemitter3');
7
7
  var requestChannel = require('../../requestChannel/requestChannel.cjs');
8
+ require('@dynamic-labs/utils');
9
+ require('../../utils/logger.cjs');
8
10
 
9
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
12
 
@@ -1,6 +1,8 @@
1
1
  'use client'
2
2
  import EventEmitter from 'eventemitter3';
3
3
  import { createRequestChannel } from '../../requestChannel/requestChannel.js';
4
+ import '@dynamic-labs/utils';
5
+ import '../../utils/logger.js';
4
6
 
5
7
  // There are way too many "any"s in this file. They are necessary because otherwise the generics won't work
6
8
  function createEventEmitterForMessages({ messageTransport, initialEventEmitter, eventNames, }) {
@@ -6,6 +6,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var EventEmitter = require('eventemitter3');
7
7
  var reactivity = require('@vue/reactivity');
8
8
  var requestChannel = require('../requestChannel/requestChannel.cjs');
9
+ require('@dynamic-labs/utils');
10
+ require('../utils/logger.cjs');
9
11
 
10
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
13
 
@@ -2,6 +2,8 @@
2
2
  import EventEmitter from 'eventemitter3';
3
3
  import { reactive } from '@vue/reactivity';
4
4
  import { createRequestChannel } from '../requestChannel/requestChannel.js';
5
+ import '@dynamic-labs/utils';
6
+ import '../utils/logger.js';
5
7
 
6
8
  const createStore = ({ initialState, key, messageTransport, }) => {
7
9
  // We don't know what these types are yet, so any will do
@@ -4,6 +4,8 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var requestChannel = require('../../requestChannel/requestChannel.cjs');
7
+ require('@dynamic-labs/utils');
8
+ require('../../utils/logger.cjs');
7
9
 
8
10
  const createStoreSetter = ({ key, messageTransport, }) => {
9
11
  // We don't know what these types are yet, so any will do
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
  import { createRequestChannel } from '../../requestChannel/requestChannel.js';
3
+ import '@dynamic-labs/utils';
4
+ import '../../utils/logger.js';
3
5
 
4
6
  const createStoreSetter = ({ key, messageTransport, }) => {
5
7
  // We don't know what these types are yet, so any will do