@dynamic-labs/waas-sui 5.12.2 → 5.12.4

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,31 @@
1
1
 
2
+ ### [5.12.4](https://github.com/dynamic-labs/dynamic-auth/compare/v5.12.3...v5.12.4) (2026-10-24)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **security:** bump engines.node floor to >=22.23.4 (CVE-2026-111497) ([#12587](https://github.com/dynamic-labs/dynamic-auth/issues/12587)) ([0c49471](https://github.com/dynamic-labs/dynamic-auth/commit/0c4947155333404fbc7b146257cd9f0e7a312a74))
8
+
9
+ ### [5.12.3](https://github.com/dynamic-labs/dynamic-auth/compare/v5.12.2...v5.12.3) (2026-10-23)
10
+
11
+
12
+ ### Features
13
+
14
+ * accept recoveryEncryptionPublicKey in createOfflineRecoveryShares ([#12417](https://github.com/dynamic-labs/dynamic-auth/issues/12417)) ([7bb6dac](https://github.com/dynamic-labs/dynamic-auth/commit/7bb6dac56f4509fba46bc2afc9a37bcfb52aecc5))
15
+ * **client:** add loadId and sdk_bootstrap sub-stage to webview load failure meta ([#12576](https://github.com/dynamic-labs/dynamic-auth/issues/12576)) ([4f5254e](https://github.com/dynamic-labs/dynamic-auth/commit/4f5254e011afbaa20deb10300ea5fa92ae85e56d))
16
+ * **sui:** migrate SDK clients to gRPC ([#12446](https://github.com/dynamic-labs/dynamic-auth/issues/12446)) ([b6c04f3](https://github.com/dynamic-labs/dynamic-auth/commit/b6c04f32bead909439f1e24fb684eeaadd1692d2))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **client:** derive webview bootstrapStage from raw manifest timestamp ([#12578](https://github.com/dynamic-labs/dynamic-auth/issues/12578)) ([965263f](https://github.com/dynamic-labs/dynamic-auth/commit/965263f553d9b83d0fab7f42ed1e76053b514e45))
22
+ * **deps:** bump next 16.4.1 + toml/image-size floors (crit/high vulns) ([#12582](https://github.com/dynamic-labs/dynamic-auth/issues/12582)) ([ac732e4](https://github.com/dynamic-labs/dynamic-auth/commit/ac732e443d450be15f3362c9b59fc29dbe1f1727)), closes [#1163](https://github.com/dynamic-labs/dynamic-auth/issues/1163) [-#1166](https://github.com/dynamic-labs/-/issues/1166) [#1171](https://github.com/dynamic-labs/dynamic-auth/issues/1171) [#1172](https://github.com/dynamic-labs/dynamic-auth/issues/1172) [#1168](https://github.com/dynamic-labs/dynamic-auth/issues/1168) [-#1170](https://github.com/dynamic-labs/-/issues/1170) [#1014](https://github.com/dynamic-labs/dynamic-auth/issues/1014) [-#1019](https://github.com/dynamic-labs/-/issues/1019)
23
+ * **emudhra-fix:** move Maestro Cloud action off Node 20 (v1.9.9 to v3.0.1) ([#12568](https://github.com/dynamic-labs/dynamic-auth/issues/12568)) ([8282d84](https://github.com/dynamic-labs/dynamic-auth/commit/8282d8436edd2c5d7e339884e04a41922fc2581e))
24
+ * **sdk-react-core:** show signing wallet's network in SendBalanceTransactionCard [DYNT-2337] ([#12573](https://github.com/dynamic-labs/dynamic-auth/issues/12573)) ([4f78456](https://github.com/dynamic-labs/dynamic-auth/commit/4f78456b6100075156465b3f5efd0c760b2465ef)), closes [#12063](https://github.com/dynamic-labs/dynamic-auth/issues/12063)
25
+ * **wallet-book:** add a separate OKX Exchange entry ([#12564](https://github.com/dynamic-labs/dynamic-auth/issues/12564)) ([b4dc2ad](https://github.com/dynamic-labs/dynamic-auth/commit/b4dc2adab5a6bc75a1ba96c4f5d6b713dc0fc217))
26
+ * **wallet-book:** open OKX Wallet app for OKX Wallet connections ([#12563](https://github.com/dynamic-labs/dynamic-auth/issues/12563)) ([182bfa7](https://github.com/dynamic-labs/dynamic-auth/commit/182bfa714c883d010333a9d2e4cd748888a2a0d9))
27
+ * **wallet-connect:** send http(s) redirect URLs as universal redirects ([#12565](https://github.com/dynamic-labs/dynamic-auth/issues/12565)) ([ae11460](https://github.com/dynamic-labs/dynamic-auth/commit/ae11460a6d07c843e150932a895ca1462192ef28))
28
+
2
29
  ### [5.12.2](https://github.com/dynamic-labs/dynamic-auth/compare/v5.12.1...v5.12.2) (2026-10-21)
3
30
 
4
31
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "5.12.2";
6
+ var version = "5.12.4";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "5.12.2";
2
+ var version = "5.12.4";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/waas-sui",
3
- "version": "5.12.2",
3
+ "version": "5.12.4",
4
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -20,20 +20,20 @@
20
20
  "dependencies": {
21
21
  "@dynamic-labs-sdk/client": "1.41.0",
22
22
  "@dynamic-labs/sdk-api-core": "0.104.0",
23
- "@dynamic-labs-wallet/browser-wallet-client": "1.1.47",
24
- "@dynamic-labs-wallet/core": "1.1.47",
23
+ "@dynamic-labs-wallet/browser-wallet-client": "1.1.49",
24
+ "@dynamic-labs-wallet/core": "1.1.49",
25
25
  "@dynamic-labs-wallet/forward-mpc-client": "1.0.2",
26
- "@mysten/sui": "1.45.2",
27
- "@mysten/wallet-standard": "0.19.9",
28
- "@dynamic-labs/assert-package-version": "5.12.2",
29
- "@dynamic-labs/logger": "5.12.2",
30
- "@dynamic-labs/rpc-providers": "5.12.2",
31
- "@dynamic-labs/sui-core": "5.12.2",
32
- "@dynamic-labs/types": "5.12.2",
33
- "@dynamic-labs/utils": "5.12.2",
34
- "@dynamic-labs/waas": "5.12.2",
35
- "@dynamic-labs/wallet-book": "5.12.2",
36
- "@dynamic-labs/wallet-connector-core": "5.12.2"
26
+ "@mysten/sui": "2.8.0",
27
+ "@mysten/wallet-standard": "0.20.3",
28
+ "@dynamic-labs/assert-package-version": "5.12.4",
29
+ "@dynamic-labs/logger": "5.12.4",
30
+ "@dynamic-labs/rpc-providers": "5.12.4",
31
+ "@dynamic-labs/sui-core": "5.12.4",
32
+ "@dynamic-labs/types": "5.12.4",
33
+ "@dynamic-labs/utils": "5.12.4",
34
+ "@dynamic-labs/waas": "5.12.4",
35
+ "@dynamic-labs/wallet-book": "5.12.4",
36
+ "@dynamic-labs/wallet-connector-core": "5.12.4"
37
37
  },
38
38
  "peerDependencies": {}
39
39
  }
@@ -4,6 +4,7 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../_virtual/_tslib.cjs');
7
+ var utils$1 = require('@mysten/sui/utils');
7
8
  var sdkApiCore = require('@dynamic-labs/sdk-api-core');
8
9
  var suiCore = require('@dynamic-labs/sui-core');
9
10
  var utils = require('@dynamic-labs/utils');
@@ -175,7 +176,7 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
175
176
  return {
176
177
  client,
177
178
  signedTx: {
178
- bytes: txBytes,
179
+ bytes: Buffer.from(txBytes).toString('base64'),
179
180
  signature: signedTx,
180
181
  },
181
182
  };
@@ -196,12 +197,23 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
196
197
  }
197
198
  signAndExecuteTransaction(transaction) {
198
199
  return _tslib.__awaiter(this, void 0, void 0, function* () {
200
+ var _a, _b, _c, _d, _e;
199
201
  try {
200
202
  const { signedTx, client } = yield this.createAndSignTransaction(transaction);
201
- return client.executeTransactionBlock({
202
- signature: signedTx.signature,
203
- transactionBlock: signedTx.bytes,
203
+ const result = yield client.executeTransaction({
204
+ include: { effects: true },
205
+ signatures: [signedTx.signature],
206
+ transaction: utils$1.fromBase64(signedTx.bytes),
204
207
  });
208
+ const executedTransaction = result.Transaction;
209
+ if (!executedTransaction) {
210
+ const failedDigest = (_a = result.FailedTransaction) === null || _a === void 0 ? void 0 : _a.digest;
211
+ const statusError = (_d = (_c = (_b = result.FailedTransaction) === null || _b === void 0 ? void 0 : _b.status) === null || _c === void 0 ? void 0 : _c.error) === null || _d === void 0 ? void 0 : _d.message;
212
+ throw new utils.DynamicError(`Transaction ${failedDigest} failed to execute${statusError ? `: ${statusError}` : ''}`, 'transaction_execution_failed');
213
+ }
214
+ return Object.assign(Object.assign({}, signedTx), { digest: executedTransaction.digest, effects: ((_e = executedTransaction.effects) === null || _e === void 0 ? void 0 : _e.bcs)
215
+ ? utils$1.toBase64(executedTransaction.effects.bcs)
216
+ : '' });
205
217
  }
206
218
  catch (error) {
207
219
  throw new Error('Failed to sign and execute transaction', {
@@ -1,9 +1,9 @@
1
1
  import { DynamicWalletClient } from '@dynamic-labs-wallet/browser-wallet-client';
2
2
  import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
3
3
  import type { LogoutReason } from '@dynamic-labs-sdk/client';
4
- import { SuiClient, SuiTransactionBlockResponse } from '@mysten/sui/client';
4
+ import type { SuiGrpcClient } from '@mysten/sui/grpc';
5
5
  import { Transaction } from '@mysten/sui/transactions';
6
- import { SignedTransaction } from '@mysten/wallet-standard';
6
+ import type { SignedTransaction, SuiSignAndExecuteTransactionOutput } from '@mysten/wallet-standard';
7
7
  import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
8
8
  import { SuiWalletConnector, SuiWalletConnectorProps } from '@dynamic-labs/sui-core';
9
9
  import { IUITransaction } from '@dynamic-labs/types';
@@ -171,11 +171,12 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
171
171
  getWalletRecoveryState({ accountAddress, }: {
172
172
  accountAddress: string;
173
173
  }): Promise<import("@dynamic-labs-wallet/browser-wallet-client").WalletRecoveryState>;
174
- createOfflineRecoveryShares({ accountAddress, password, cloudProviderAccessToken, mfaToken, }: {
174
+ createOfflineRecoveryShares({ accountAddress, password, cloudProviderAccessToken, mfaToken, recoveryEncryptionPublicKey, }: {
175
175
  accountAddress: string;
176
176
  password?: string | undefined;
177
177
  cloudProviderAccessToken?: string | undefined;
178
178
  mfaToken?: string | undefined;
179
+ recoveryEncryptionPublicKey?: string | undefined;
179
180
  }): Promise<void>;
180
181
  endSession(reason?: LogoutReason | undefined): Promise<void>;
181
182
  getActiveAccountAddress(): Promise<string | undefined>;
@@ -233,8 +234,8 @@ export declare class DynamicWaasSuiConnector extends DynamicWaasSuiConnector_bas
233
234
  }): Promise<string>;
234
235
  private createAndSignTransaction;
235
236
  signTransaction(transaction: Transaction, approvalQuorum?: ApprovalQuorumRequestContext): Promise<SignedTransaction>;
236
- signAndExecuteTransaction(transaction: Transaction): Promise<SuiTransactionBlockResponse>;
237
- getSuiClient(): Promise<SuiClient | undefined>;
237
+ signAndExecuteTransaction(transaction: Transaction): Promise<SuiSignAndExecuteTransactionOutput>;
238
+ getSuiClient(): Promise<SuiGrpcClient | undefined>;
238
239
  getWalletClientByAddress({ accountAddress, }: {
239
240
  accountAddress: string;
240
241
  }): Promise<DynamicWalletClient>;
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../_virtual/_tslib.js';
3
+ import { fromBase64, toBase64 } from '@mysten/sui/utils';
3
4
  import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
4
5
  import { SuiWalletConnector, SuiUiTransaction } from '@dynamic-labs/sui-core';
5
6
  import { DynamicError } from '@dynamic-labs/utils';
@@ -171,7 +172,7 @@ class DynamicWaasSuiConnector extends withDynamicWaas(SuiWalletConnector) {
171
172
  return {
172
173
  client,
173
174
  signedTx: {
174
- bytes: txBytes,
175
+ bytes: Buffer.from(txBytes).toString('base64'),
175
176
  signature: signedTx,
176
177
  },
177
178
  };
@@ -192,12 +193,23 @@ class DynamicWaasSuiConnector extends withDynamicWaas(SuiWalletConnector) {
192
193
  }
193
194
  signAndExecuteTransaction(transaction) {
194
195
  return __awaiter(this, void 0, void 0, function* () {
196
+ var _a, _b, _c, _d, _e;
195
197
  try {
196
198
  const { signedTx, client } = yield this.createAndSignTransaction(transaction);
197
- return client.executeTransactionBlock({
198
- signature: signedTx.signature,
199
- transactionBlock: signedTx.bytes,
199
+ const result = yield client.executeTransaction({
200
+ include: { effects: true },
201
+ signatures: [signedTx.signature],
202
+ transaction: fromBase64(signedTx.bytes),
200
203
  });
204
+ const executedTransaction = result.Transaction;
205
+ if (!executedTransaction) {
206
+ const failedDigest = (_a = result.FailedTransaction) === null || _a === void 0 ? void 0 : _a.digest;
207
+ const statusError = (_d = (_c = (_b = result.FailedTransaction) === null || _b === void 0 ? void 0 : _b.status) === null || _c === void 0 ? void 0 : _c.error) === null || _d === void 0 ? void 0 : _d.message;
208
+ throw new DynamicError(`Transaction ${failedDigest} failed to execute${statusError ? `: ${statusError}` : ''}`, 'transaction_execution_failed');
209
+ }
210
+ return Object.assign(Object.assign({}, signedTx), { digest: executedTransaction.digest, effects: ((_e = executedTransaction.effects) === null || _e === void 0 ? void 0 : _e.bcs)
211
+ ? toBase64(executedTransaction.effects.bcs)
212
+ : '' });
201
213
  }
202
214
  catch (error) {
203
215
  throw new Error('Failed to sign and execute transaction', {