@dynamic-labs/webview-messages 5.10.0 → 5.12.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,22 @@
1
1
 
2
+ ## [5.12.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.11.0...v5.12.0) (2026-10-16)
3
+
4
+
5
+ ### Features
6
+
7
+ * **embedded-wallet-solana:** add getSolanaSponsorAddress ([#12517](https://github.com/dynamic-labs/dynamic-auth/issues/12517)) ([b95c550](https://github.com/dynamic-labs/dynamic-auth/commit/b95c550e3dab783b7ff0b019051a17b22ea44f97))
8
+ * **embedded-wallet:** show chain and wallet in private key export modal ([#12507](https://github.com/dynamic-labs/dynamic-auth/issues/12507)) ([4bfb6d6](https://github.com/dynamic-labs/dynamic-auth/commit/4bfb6d6168aac3f800792fde933e0597f288058f))
9
+ * **sdk-react-core:** send OTP purpose from step-up flows ([#12511](https://github.com/dynamic-labs/dynamic-auth/issues/12511)) ([0d2d8a3](https://github.com/dynamic-labs/dynamic-auth/commit/0d2d8a31058b3e75c71af7a34f459e2a3ddf383b)), closes [#12898](https://github.com/dynamic-labs/dynamic-auth/issues/12898) [#816](https://github.com/dynamic-labs/dynamic-auth/issues/816) [#203](https://github.com/dynamic-labs/dynamic-auth/issues/203) [#12512](https://github.com/dynamic-labs/dynamic-auth/issues/12512)
10
+ * **wallet-connect:** back WalletConnect storage with native secure storage on mobile ([#12515](https://github.com/dynamic-labs/dynamic-auth/issues/12515)) ([7b57903](https://github.com/dynamic-labs/dynamic-auth/commit/7b5790325fce707d73d591483a0130b960ed055c))
11
+
12
+ ## [5.11.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.10.0...v5.11.0) (2026-10-14)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **react-native:** fall back to a TEE-backed key when StrongBox key generation fails on Android ([#12484](https://github.com/dynamic-labs/dynamic-auth/issues/12484)) ([6884ef1](https://github.com/dynamic-labs/dynamic-auth/commit/6884ef1665e4b18d1b8fdb54ee7cd06861b47fc9))
18
+ * support WaaS password overrides in WebView ([#12509](https://github.com/dynamic-labs/dynamic-auth/issues/12509)) ([fc67fcc](https://github.com/dynamic-labs/dynamic-auth/commit/fc67fccb99be7c0cc8df81a2513ccd3a04db9a61))
19
+
2
20
  ## [5.10.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.9.6...v5.10.0) (2026-10-09)
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 = "5.10.0";
6
+ var version = "5.12.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "5.10.0";
2
+ var version = "5.12.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/webview-messages",
3
- "version": "5.10.0",
3
+ "version": "5.12.0",
4
4
  "description": "A package to define messages for the webview-controller",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,17 +18,17 @@
18
18
  "./package.json": "./package.json"
19
19
  },
20
20
  "dependencies": {
21
- "@dynamic-labs/ethereum-gasless-core": "5.10.0",
22
- "@dynamic-labs/sdk-api-core": "0.70.0",
23
- "@dynamic-labs-sdk/client": "1.37.0",
24
- "@dynamic-labs-wallet/core": "1.1.29",
25
- "@dynamic-labs/assert-package-version": "5.10.0",
26
- "@dynamic-labs/locale": "5.10.0",
27
- "@dynamic-labs/logger": "5.10.0",
28
- "@dynamic-labs/message-transport": "5.10.0",
29
- "@dynamic-labs/types": "5.10.0",
30
- "@dynamic-labs/wallet-connector-core": "5.10.0",
31
- "@dynamic-labs/webauthn": "5.10.0"
21
+ "@dynamic-labs/ethereum-gasless-core": "5.12.0",
22
+ "@dynamic-labs/sdk-api-core": "0.104.0",
23
+ "@dynamic-labs-sdk/client": "1.41.0",
24
+ "@dynamic-labs-wallet/core": "1.1.43",
25
+ "@dynamic-labs/assert-package-version": "5.12.0",
26
+ "@dynamic-labs/locale": "5.12.0",
27
+ "@dynamic-labs/logger": "5.12.0",
28
+ "@dynamic-labs/message-transport": "5.12.0",
29
+ "@dynamic-labs/types": "5.12.0",
30
+ "@dynamic-labs/wallet-connector-core": "5.12.0",
31
+ "@dynamic-labs/webauthn": "5.12.0"
32
32
  },
33
33
  "peerDependencies": {}
34
34
  }
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  type FeePriority = 'high' | 'medium' | 'low';
2
3
  type BitcoinSignPsbtRequestSignature = {
3
4
  address: string;
@@ -20,6 +21,7 @@ export type BitcoinMessages = {
20
21
  walletId: string;
21
22
  protocol?: BitcoinSignProtocol;
22
23
  addressType?: WalletAddressType;
24
+ approvalQuorum?: ApprovalQuorumRequestContext;
23
25
  }) => Promise<{
24
26
  signature: string;
25
27
  }>;
@@ -30,12 +32,14 @@ export type BitcoinMessages = {
30
32
  signingIndexes?: number[];
31
33
  allowedSighash?: number[];
32
34
  };
35
+ approvalQuorum?: ApprovalQuorumRequestContext;
33
36
  }) => Promise<{
34
37
  signedPsbt: string;
35
38
  }>;
36
39
  bitcoin_signPsbts: (arg: {
37
40
  walletId: string;
38
41
  requests: BitcoinSignPsbtRequest[];
42
+ approvalQuorum?: ApprovalQuorumRequestContext;
39
43
  }) => Promise<{
40
44
  signedPsbts: string[];
41
45
  }>;
@@ -1,4 +1,5 @@
1
- import type { BusinessAccount, BusinessAccountActionRequired, BusinessAccountDetail, BusinessAccountList, BusinessAccountMember, BusinessAccountSigner, BusinessAccountSignerIdentifierType, TargetIdentity } from '@dynamic-labs-sdk/client/waas';
1
+ import type { approveBusinessAccountProposal, BusinessAccount, BusinessAccountActionRequired, BusinessAccountDetail, BusinessAccountList, BusinessAccountMember, BusinessAccountProposal, BusinessAccountSigner, BusinessAccountSignerIdentifierType, listBusinessAccountProposals, resumeSigningProposal, signSigningQuorumIntent, TargetIdentity, vetoBusinessAccountProposal, withdrawBusinessAccountProposalApproval } from '@dynamic-labs-sdk/client/waas';
2
+ import type { prepareSigningQuorumApproval } from '@dynamic-labs-sdk/client/waas/core';
2
3
  import type { BusinessAccountActionRequired as WalletClientBusinessAccountActionRequired } from '@dynamic-labs-wallet/core';
3
4
  export type BusinessAccountMemberRole = 'owner' | 'admin' | 'viewer';
4
5
  export type BusinessAccountSignerType = 'endUser' | 'server';
@@ -63,6 +64,29 @@ export type RemoveWalletFromBusinessAccountParams = {
63
64
  businessAccountId: string;
64
65
  walletId: string;
65
66
  };
67
+ export type ListBusinessAccountProposalsParams = Parameters<typeof listBusinessAccountProposals>[0];
68
+ export type ApproveBusinessAccountProposalParams = Parameters<typeof approveBusinessAccountProposal>[0];
69
+ export type VetoBusinessAccountProposalParams = Parameters<typeof vetoBusinessAccountProposal>[0];
70
+ export type WithdrawBusinessAccountProposalApprovalParams = Parameters<typeof withdrawBusinessAccountProposalApproval>[0];
71
+ /**
72
+ * `walletId` identifies the wallet account to sign with; `waasClient` and
73
+ * `walletAccount` are resolved inside the webview since they cannot cross
74
+ * the bridge.
75
+ */
76
+ export type PrepareSigningQuorumApprovalParams = Omit<Parameters<typeof prepareSigningQuorumApproval>[0], 'waasClient' | 'walletAccount'> & {
77
+ walletId: string;
78
+ };
79
+ /**
80
+ * Resumes by `proposalId`: the webview looks the proposal up under
81
+ * `businessAccountId` and resolves the wallet account named by its intent
82
+ * (or by `walletId` when provided).
83
+ */
84
+ export type ResumeSigningProposalParams = {
85
+ businessAccountId: string;
86
+ proposalId: string;
87
+ walletId?: string;
88
+ };
89
+ export type SignSigningQuorumIntentParams = Parameters<typeof signSigningQuorumIntent>[0];
66
90
  export type BusinessAccountsMessages = {
67
91
  businessAccount_create: (params: CreateBusinessAccountParams) => Promise<BusinessAccount>;
68
92
  businessAccount_list: (params?: ListBusinessAccountsParams) => Promise<BusinessAccountList>;
@@ -76,4 +100,12 @@ export type BusinessAccountsMessages = {
76
100
  businessAccount_transferOwnership: (params: TransferOwnershipParams) => Promise<BusinessAccountDetail | BusinessAccountActionRequired>;
77
101
  businessAccount_removeWallet: (params: RemoveWalletFromBusinessAccountParams) => Promise<BusinessAccountDetail | BusinessAccountActionRequired>;
78
102
  businessAccount_update: (params: UpdateBusinessAccountParams) => Promise<BusinessAccount>;
103
+ businessAccount_listProposals: (params: ListBusinessAccountProposalsParams) => Promise<BusinessAccountProposal[]>;
104
+ businessAccount_listProposalsAwaitingMyApproval: () => Promise<BusinessAccountProposal[]>;
105
+ businessAccount_approveProposal: (params: ApproveBusinessAccountProposalParams) => Promise<BusinessAccountProposal>;
106
+ businessAccount_vetoProposal: (params: VetoBusinessAccountProposalParams) => Promise<BusinessAccountProposal>;
107
+ businessAccount_withdrawProposalApproval: (params: WithdrawBusinessAccountProposalApprovalParams) => Promise<BusinessAccountProposal>;
108
+ businessAccount_prepareSigningQuorumApproval: (params: PrepareSigningQuorumApprovalParams) => Promise<Awaited<ReturnType<typeof prepareSigningQuorumApproval>> | null>;
109
+ businessAccount_resumeSigningProposal: (params: ResumeSigningProposalParams) => Promise<Awaited<ReturnType<typeof resumeSigningProposal>>>;
110
+ businessAccount_signSigningQuorumIntent: (params: SignSigningQuorumIntentParams) => Promise<Awaited<ReturnType<typeof signSigningQuorumIntent>>>;
79
111
  };
@@ -1,4 +1,4 @@
1
- import type { buildAllowPolicyRule, buildDenyPolicyRule, createPolicy, desugarPolicyRules, expandPolicyRules, getAccountPolicyLayer, getPolicy, getSignerPolicyLayer, getWalletPolicyLayer, removeAccountPolicyRule, removePolicyRules, removeSignerPolicyRule, removeWalletPolicyRule, upsertAccountPolicyRule, upsertSignerPolicyRule, upsertWalletPolicyRule, PolicyRules, PolicyScope, WaasPolicyLayerResponse } from '@dynamic-labs-sdk/client/waas';
1
+ import type { buildAllowPolicyRule, buildDenyPolicyRule, createPolicy, desugarPolicyRules, expandPolicyRules, getAccountPolicyLayer, getPolicy, getSignerPolicyLayer, getWalletPolicyLayer, removeAccountPolicyRule, removePolicyRules, removeSignerPolicyRule, removeWalletPolicyRule, upsertAccountPolicyRule, upsertSignerPolicyRule, upsertWalletPolicyRule, PolicyApprovalRequirement, PolicyRules, PolicyScope, WaasPolicyLayerResponse } from '@dynamic-labs-sdk/client/waas';
2
2
  type CreatePolicyParams = {
3
3
  chain: Parameters<typeof createPolicy>[0]['chain'];
4
4
  chainIds?: number[];
@@ -31,6 +31,17 @@ type RemoveAccountPolicyRuleParams = Parameters<typeof removeAccountPolicyRule>[
31
31
  type GetPolicyResponse = Awaited<ReturnType<typeof getPolicy>>;
32
32
  type BuildAllowPolicyRuleParams = Parameters<typeof buildAllowPolicyRule>[0];
33
33
  type BuildDenyPolicyRuleParams = Parameters<typeof buildDenyPolicyRule>[0];
34
+ /**
35
+ * Authored approval requirements plus the chain scope to stamp the rule with.
36
+ * Mirrors what {@link expandPolicyRules} needs from `PolicyRules`, flattened
37
+ * into one params object like the other `policy_build*` messages.
38
+ */
39
+ type BuildApprovalRequirementsRuleParams = {
40
+ approvalRequirements: PolicyApprovalRequirement[];
41
+ chain: Parameters<typeof expandPolicyRules>[0]['chain'];
42
+ chainIds?: number[];
43
+ name?: string;
44
+ };
34
45
  type ExpandPolicyRulesParams = Parameters<typeof expandPolicyRules>[0];
35
46
  type DesugarPolicyRulesParams = Parameters<typeof desugarPolicyRules>[0];
36
47
  export type PoliciesMessages = {
@@ -48,6 +59,7 @@ export type PoliciesMessages = {
48
59
  policy_removeAccountRule: (params: RemoveAccountPolicyRuleParams) => Promise<WaasPolicyLayerResponse>;
49
60
  policy_buildAllowRule: (params: BuildAllowPolicyRuleParams) => Promise<ReturnType<typeof buildAllowPolicyRule>>;
50
61
  policy_buildDenyRule: (params: BuildDenyPolicyRuleParams) => Promise<ReturnType<typeof buildDenyPolicyRule>>;
62
+ policy_buildApprovalRequirementsRule: (params: BuildApprovalRequirementsRuleParams) => Promise<Awaited<ReturnType<typeof expandPolicyRules>>[number] | null>;
51
63
  policy_expandRules: (params: ExpandPolicyRulesParams) => Promise<ReturnType<typeof expandPolicyRules>>;
52
64
  policy_desugarRules: (params: DesugarPolicyRulesParams) => Promise<ReturnType<typeof desugarPolicyRules>>;
53
65
  };
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  import { SimulateTransactionResponse } from '@dynamic-labs/sdk-api-core';
2
3
  type Commitment = 'processed' | 'confirmed' | 'finalized' | 'recent' | 'single' | 'singleGossip' | 'root' | 'max';
3
4
  type SendOptions = {
@@ -19,6 +20,7 @@ export type SolanaMessages = {
19
20
  solana_signMessage: (arg: {
20
21
  message: string;
21
22
  walletId: string;
23
+ approvalQuorum?: ApprovalQuorumRequestContext;
22
24
  }) => Promise<{
23
25
  signature: string;
24
26
  }>;
@@ -33,6 +35,7 @@ export type SolanaMessages = {
33
35
  walletId: string;
34
36
  encodedTransaction: EncodedTransaction;
35
37
  sponsorshipMode?: GasSponsorshipMode;
38
+ approvalQuorum?: ApprovalQuorumRequestContext;
36
39
  }) => Promise<{
37
40
  encodedTransaction: EncodedTransaction;
38
41
  }>;
@@ -40,6 +43,7 @@ export type SolanaMessages = {
40
43
  walletId: string;
41
44
  encodedTransactions: EncodedTransaction[];
42
45
  sponsorshipMode?: GasSponsorshipMode;
46
+ approvalQuorum?: ApprovalQuorumRequestContext;
43
47
  }) => Promise<{
44
48
  encodedTransactions: EncodedTransaction[];
45
49
  }>;
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  /**
2
3
  * Messages exchanged for Stellar requests.
3
4
  */
@@ -5,12 +6,14 @@ export type StellarMessages = {
5
6
  stellar_signMessage: (arg: {
6
7
  walletId: string;
7
8
  message: string;
9
+ approvalQuorum?: ApprovalQuorumRequestContext;
8
10
  }) => Promise<{
9
11
  signature: string;
10
12
  }>;
11
13
  stellar_signTransaction: (arg: {
12
14
  walletId: string;
13
15
  transactionXdr: string;
16
+ approvalQuorum?: ApprovalQuorumRequestContext;
14
17
  }) => Promise<{
15
18
  signedTransactionXdr: string;
16
19
  }>;
@@ -1,8 +1,10 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  export type SuiNetworkName = 'mainnet' | 'testnet' | 'devnet';
2
3
  /** Raw serialized transaction (base64) */
3
4
  type SuiRawTransactionArg = {
4
5
  transaction: string;
5
6
  walletId: string;
7
+ approvalQuorum?: ApprovalQuorumRequestContext;
6
8
  };
7
9
  /** Transfer parameters — webview builds the transaction */
8
10
  type SuiTransferArg = {
@@ -11,6 +13,7 @@ type SuiTransferArg = {
11
13
  walletId: string;
12
14
  gasPrice?: number;
13
15
  gasBudget?: number;
16
+ approvalQuorum?: ApprovalQuorumRequestContext;
14
17
  };
15
18
  /**
16
19
  * Messages exchanged for sui requests.
@@ -19,6 +22,7 @@ export type SuiMessages = {
19
22
  sui_signMessage: (arg: {
20
23
  message: string;
21
24
  walletId: string;
25
+ approvalQuorum?: ApprovalQuorumRequestContext;
22
26
  }) => Promise<{
23
27
  signature: string;
24
28
  }>;
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  /**
2
3
  * Messages exchanged for TON requests.
3
4
  */
@@ -5,6 +6,7 @@ export type TonMessages = {
5
6
  ton_signMessage: (arg: {
6
7
  walletId: string;
7
8
  message: string;
9
+ approvalQuorum?: ApprovalQuorumRequestContext;
8
10
  }) => Promise<{
9
11
  signature: string;
10
12
  }>;
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  type Hex = `0x${string}`;
2
3
  type ByteArray = Uint8Array;
3
4
  type SignableMessage = string | {
@@ -43,10 +44,10 @@ type SignAuthorizationParametersWithoutPrivateKey = {
43
44
  nonce: number;
44
45
  };
45
46
  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>;
47
+ viem_signAuthorization: (walletId: string, parameters: SignAuthorizationParametersWithoutPrivateKey, approvalQuorum?: ApprovalQuorumRequestContext) => Promise<SignAuthorizationReturnType>;
48
+ viem_signMessage: (walletId: string, message: SignableMessage, approvalQuorum?: ApprovalQuorumRequestContext) => Promise<Hex>;
49
+ viem_signTransaction: (walletId: string, transaction: TransactionSerializable, approvalQuorum?: ApprovalQuorumRequestContext) => Promise<Hex>;
50
+ viem_signTypedData: (walletId: string, typedData: TypedData, approvalQuorum?: ApprovalQuorumRequestContext) => Promise<Hex>;
50
51
  viem_writeContract: (walletId: string, contractInput: {
51
52
  abi: unknown[];
52
53
  address: Hex;
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  import { SignMessageContext } from '@dynamic-labs/sdk-api-core';
2
3
  export type ImportPrivateKeyArgs = {
3
4
  chain?: string;
@@ -44,6 +45,10 @@ export type UpdatePasswordArgs = {
44
45
  accountAddress: string;
45
46
  existingPassword: string;
46
47
  newPassword: string;
48
+ passwordOverrides?: Array<{
49
+ walletId: string;
50
+ existingPassword: string;
51
+ }>;
47
52
  };
48
53
  export type SetPasswordArgs = {
49
54
  accountAddress: string;
@@ -60,6 +65,7 @@ export type SignRawMessageArgs = {
60
65
  * whose signing policy rejects context-less raw signs.
61
66
  */
62
67
  context?: SignMessageContext;
68
+ approvalQuorum?: ApprovalQuorumRequestContext;
63
69
  };
64
70
  export type UnlockWalletArgs = {
65
71
  accountAddress: string;
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  import type { GetMultichainBalancesParams, GetTransactionHistoryParams, GetTransactionHistoryResponse } from '@dynamic-labs-sdk/client';
2
3
  import { MultichainAccountBalanceResponse, SimulateTransactionResponse } from '@dynamic-labs/sdk-api-core';
3
4
  import { BaseWallet, IEVMTransaction } from '@dynamic-labs/types';
@@ -19,6 +20,7 @@ export type WalletsModuleMessages = {
19
20
  signMessage: (params: {
20
21
  wallet: BaseWallet;
21
22
  message: string;
23
+ approvalQuorum?: ApprovalQuorumRequestContext;
22
24
  }) => Promise<{
23
25
  signedMessage: string;
24
26
  }>;