@dynamic-labs/waas-sui 5.0.0-rc.3 → 5.0.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,84 @@
|
|
|
1
1
|
|
|
2
|
+
## [5.0.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.0.0-rc.4...v5.0.0) (2026-07-29)
|
|
3
|
+
|
|
4
|
+
## 🚀 Dynamic SDK v5 is live
|
|
5
|
+
|
|
6
|
+
This release has been a long time coming. We've cleaned up the architecture, cut support for v1 and v2 embedded wallets from core, shipped a migration path for legacy wallets, and made the SDK story a lot cleaner for both web and mobile devs.
|
|
7
|
+
|
|
8
|
+
### 🔥 Embedded Wallet clean up
|
|
9
|
+
|
|
10
|
+
V1/V2 embedded wallets support has been removed from `@dynamic-labs/sdk-react-core`. Dynamic WaaS (V3) is now the one and only embedded wallet type, all new embedded wallets are V3.
|
|
11
|
+
|
|
12
|
+
### 📦 New: `@dynamic-labs/legacy-embedded-wallet-migration`
|
|
13
|
+
|
|
14
|
+
For users still on V1/V2 embedded wallets, we've got you covered with a dedicated migration package. It owns all the logic for upgrading to V3. This includes recovery flow, session keys, private key export, and the migration UI.
|
|
15
|
+
|
|
16
|
+
Two paths available:
|
|
17
|
+
|
|
18
|
+
- **UI-based** (recommended): Mount `LegacyWalletMigrationProvider` and the upgrade modal opens automatically when a legacy wallet is detected at login. It handles the full flow end-to-end.
|
|
19
|
+
- **Headless**: Call `upgradeToDynamicWaas()` directly if you want a custom migration UX.
|
|
20
|
+
|
|
21
|
+
### 📱 JS SDK for web and React Native are the new default
|
|
22
|
+
|
|
23
|
+
Going forward, we're encouraging all developers building for web and React Native to use the JS SDK. It's the direction we're investing in. Ideally v5 is our final version of the old React SDK. To be clear: **no new features will be added to the old SDKs, including v5. All new feature development is happening in the JS SDK.**
|
|
24
|
+
|
|
25
|
+
### ✏️ Legacy package renames
|
|
26
|
+
|
|
27
|
+
The old packages have been renamed to make their status explicit. Update your `package.json` accordingly:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
@dynamic-labs/client → @dynamic-labs/legacy-client
|
|
31
|
+
@dynamic-labs/react-hooks → @dynamic-labs/legacy-react-hooks
|
|
32
|
+
@dynamic-labs/react-native-extension → @dynamic-labs/legacy-react-native-extension
|
|
33
|
+
@dynamic-labs/web-extension → @dynamic-labs/legacy-web-extension
|
|
34
|
+
@dynamic-labs/solana-extension → @dynamic-labs/legacy-solana-extension
|
|
35
|
+
@dynamic-labs/sui-extension → @dynamic-labs/legacy-sui-extension
|
|
36
|
+
@dynamic-labs/viem-extension → @dynamic-labs/legacy-viem-extension
|
|
37
|
+
@dynamic-labs/zerodev-extension → @dynamic-labs/legacy-zerodev-extension
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### :book: Full migration guide
|
|
41
|
+
|
|
42
|
+
Everything you need to upgrade from v4 → v5: [Upgrade SDK from V4 to V5 - Dynamic](https://www.dynamic.xyz/docs/react/reference/upgrade/v5)
|
|
43
|
+
|
|
44
|
+
Huge props to everyone who contributed to this. :tada:
|
|
45
|
+
|
|
46
|
+
------------------------------------------
|
|
47
|
+
|
|
48
|
+
### ⚠ BREAKING CHANGES
|
|
49
|
+
|
|
50
|
+
* **waas:** move the client key-share store onto the core storage API (#12096)
|
|
51
|
+
* **react-native-extension:** store sensitive information with react-native-keychain (#12092)
|
|
52
|
+
|
|
53
|
+
### Features
|
|
54
|
+
|
|
55
|
+
* **bitcoin:** add sendBitcoinWithConfirmation to show confirm modal on BTC sends ([#12025](https://github.com/dynamic-labs/dynamic-auth/issues/12025)) ([5f992f5](https://github.com/dynamic-labs/dynamic-auth/commit/5f992f5fdaf805f07870ab9248ea2fe06a2fd3bf))
|
|
56
|
+
* **waas:** delegate key shares with initial signer rules [DYNT-1675] ([#12028](https://github.com/dynamic-labs/dynamic-auth/issues/12028)) ([6b1ffc5](https://github.com/dynamic-labs/dynamic-auth/commit/6b1ffc5ee7070d639916a65b6a0aa6ada0167cb8)), closes [dynamic-labs/dynamic-waas-sdk#1500](https://github.com/dynamic-labs/dynamic-waas-sdk/issues/1500) [#10754](https://github.com/dynamic-labs/dynamic-auth/issues/10754) [#10772](https://github.com/dynamic-labs/dynamic-auth/issues/10772) [#646](https://github.com/dynamic-labs/dynamic-auth/issues/646) [#649](https://github.com/dynamic-labs/dynamic-auth/issues/649) [#1500](https://github.com/dynamic-labs/dynamic-auth/issues/1500) [dynamic-labs/dynamic-waas-sdk#1500](https://github.com/dynamic-labs/dynamic-waas-sdk/issues/1500)
|
|
57
|
+
* **waas:** expose rawSign sha256/blake2b in SignMessageContext ([#12075](https://github.com/dynamic-labs/dynamic-auth/issues/12075)) ([20e3d2f](https://github.com/dynamic-labs/dynamic-auth/commit/20e3d2f40d18aa0bdb77e9b00fa4a5dc5dd6e9de))
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### Bug Fixes
|
|
61
|
+
|
|
62
|
+
* **bitcoin:** resolve the public key of the active wallet, not the first ([#12091](https://github.com/dynamic-labs/dynamic-auth/issues/12091)) ([ebad70c](https://github.com/dynamic-labs/dynamic-auth/commit/ebad70c37ab9a771ad7051ca8f3c68d52c1d32fa)), closes [#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970) [#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970) [#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970)
|
|
63
|
+
* fallback to local wallet balance when token balances API returns no tokens ([#12059](https://github.com/dynamic-labs/dynamic-auth/issues/12059)) ([26c9022](https://github.com/dynamic-labs/dynamic-auth/commit/26c9022da3371b0da0498ec641157aa9fed356aa))
|
|
64
|
+
* security updates ([#12114](https://github.com/dynamic-labs/dynamic-auth/issues/12114)) ([a4f9bc1](https://github.com/dynamic-labs/dynamic-auth/commit/a4f9bc19870156903b76996c55ecd46a3417f004)) ([#12050](https://github.com/dynamic-labs/dynamic-auth/issues/12050)) ([8eeec92](https://github.com/dynamic-labs/dynamic-auth/commit/8eeec923d0f2f688ade60440e1f92bb1fd646201)) ([#12088](https://github.com/dynamic-labs/dynamic-auth/issues/12088)) ([f11f1f3](https://github.com/dynamic-labs/dynamic-auth/commit/f11f1f384201fa31f58753c0854eaf17f420fb09))
|
|
65
|
+
* replace deprecated polygon-rpc.com RPC with polygon.drpc.org ([#12032](https://github.com/dynamic-labs/dynamic-auth/issues/12032)) ([e1ece53](https://github.com/dynamic-labs/dynamic-auth/commit/e1ece538aedf6127048ca64daf9f9f3cf3a7026e))
|
|
66
|
+
* **sui:** stop using Sui Foundation fullnode URLs in WaaS and extension connectors ([#12108](https://github.com/dynamic-labs/dynamic-auth/issues/12108)) ([b23c85b](https://github.com/dynamic-labs/dynamic-auth/commit/b23c85b7c06f3147705a026ba23f5e8ae1f03b68))
|
|
67
|
+
* **wallet-book:** use Backpack universal link for iOS in-app browser ([#12053](https://github.com/dynamic-labs/dynamic-auth/issues/12053)) ([afba6b1](https://github.com/dynamic-labs/dynamic-auth/commit/afba6b192e4be50aaeca9f5fad88b44808a034a0))
|
|
68
|
+
* **wallet-connect:** recover WalletConnect IndexedDB store when object store is missing ([#12048](https://github.com/dynamic-labs/dynamic-auth/issues/12048)) ([96ff80e](https://github.com/dynamic-labs/dynamic-auth/commit/96ff80e40b28740de15b1702b85f954100fd5f25))
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
* **react-native-extension:** store sensitive information with react-native-keychain ([#12092](https://github.com/dynamic-labs/dynamic-auth/issues/12092)) ([10c0f2f](https://github.com/dynamic-labs/dynamic-auth/commit/10c0f2f6c281e300e4a0455aaaa0d452808dcb87))
|
|
72
|
+
* **waas:** move the client key-share store onto the core storage API ([#12096](https://github.com/dynamic-labs/dynamic-auth/issues/12096)) ([778f993](https://github.com/dynamic-labs/dynamic-auth/commit/778f993c5528ec03a7f1446dcb81a041a22db89b)), closes [#12094](https://github.com/dynamic-labs/dynamic-auth/issues/12094) [#12094](https://github.com/dynamic-labs/dynamic-auth/issues/12094) [#12092](https://github.com/dynamic-labs/dynamic-auth/issues/12092) [#12094](https://github.com/dynamic-labs/dynamic-auth/issues/12094)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## [5.0.0-rc.4](https://github.com/dynamic-labs/dynamic-auth/compare/v5.0.0-rc.3...v5.0.0-rc.4) (2026-07-20)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### Features
|
|
79
|
+
|
|
80
|
+
* **business-accounts:** redesign demo + fix getBusinessAccount arg shape ([#11975](https://github.com/dynamic-labs/dynamic-auth/issues/11975)) ([7c2feaf](https://github.com/dynamic-labs/dynamic-auth/commit/7c2feaf6d0e00b210d67302353b40e90fdc7c8d1))
|
|
81
|
+
|
|
2
82
|
## [5.0.0-rc.3](https://github.com/dynamic-labs/dynamic-auth/compare/v5.0.0-rc.2...v5.0.0-rc.3) (2026-07-17)
|
|
3
83
|
|
|
4
84
|
## [5.0.0-rc.2](https://github.com/dynamic-labs/dynamic-auth/compare/v5.0.0-rc.1...v5.0.0-rc.2) (2026-07-17)
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/waas-sui",
|
|
3
|
-
"version": "5.0.0
|
|
3
|
+
"version": "5.0.0",
|
|
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",
|
|
@@ -18,21 +18,21 @@
|
|
|
18
18
|
},
|
|
19
19
|
"homepage": "https://www.dynamic.xyz/",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@dynamic-labs-sdk/client": "1.
|
|
22
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
23
|
-
"@dynamic-labs-wallet/browser-wallet-client": "1.0.
|
|
21
|
+
"@dynamic-labs-sdk/client": "1.20.0",
|
|
22
|
+
"@dynamic-labs/sdk-api-core": "0.0.1093",
|
|
23
|
+
"@dynamic-labs-wallet/browser-wallet-client": "1.0.79",
|
|
24
24
|
"@dynamic-labs-wallet/forward-mpc-client": "1.0.1",
|
|
25
25
|
"@mysten/sui": "1.45.2",
|
|
26
26
|
"@mysten/wallet-standard": "0.19.9",
|
|
27
|
-
"@dynamic-labs/assert-package-version": "5.0.0
|
|
28
|
-
"@dynamic-labs/logger": "5.0.0
|
|
29
|
-
"@dynamic-labs/rpc-providers": "5.0.0
|
|
30
|
-
"@dynamic-labs/sui-core": "5.0.0
|
|
31
|
-
"@dynamic-labs/types": "5.0.0
|
|
32
|
-
"@dynamic-labs/utils": "5.0.0
|
|
33
|
-
"@dynamic-labs/waas": "5.0.0
|
|
34
|
-
"@dynamic-labs/wallet-book": "5.0.0
|
|
35
|
-
"@dynamic-labs/wallet-connector-core": "5.0.0
|
|
27
|
+
"@dynamic-labs/assert-package-version": "5.0.0",
|
|
28
|
+
"@dynamic-labs/logger": "5.0.0",
|
|
29
|
+
"@dynamic-labs/rpc-providers": "5.0.0",
|
|
30
|
+
"@dynamic-labs/sui-core": "5.0.0",
|
|
31
|
+
"@dynamic-labs/types": "5.0.0",
|
|
32
|
+
"@dynamic-labs/utils": "5.0.0",
|
|
33
|
+
"@dynamic-labs/waas": "5.0.0",
|
|
34
|
+
"@dynamic-labs/wallet-book": "5.0.0",
|
|
35
|
+
"@dynamic-labs/wallet-connector-core": "5.0.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {}
|
|
38
38
|
}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
7
|
-
var client = require('@mysten/sui/client');
|
|
8
7
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
9
8
|
var suiCore = require('@dynamic-labs/sui-core');
|
|
10
9
|
var utils = require('@dynamic-labs/utils');
|
|
@@ -158,9 +157,11 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
|
|
|
158
157
|
createAndSignTransaction(transaction) {
|
|
159
158
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
160
159
|
var _a, _b, _c, _d;
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
160
|
+
const client = yield this.getSuiClient();
|
|
161
|
+
if (!client) {
|
|
162
|
+
throw new utils.DynamicError('No Sui client available', 'no_sui_client_available');
|
|
163
|
+
}
|
|
164
|
+
const txBytes = yield transaction.build({ client });
|
|
164
165
|
const txString = Buffer.from(txBytes).toString('hex');
|
|
165
166
|
const walletClient = yield this.getWaasWalletClient();
|
|
166
167
|
if (!this.activeAccountAddress) {
|
|
@@ -189,7 +190,7 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
|
|
|
189
190
|
transaction: txString,
|
|
190
191
|
});
|
|
191
192
|
return {
|
|
192
|
-
client
|
|
193
|
+
client,
|
|
193
194
|
signedTx: {
|
|
194
195
|
bytes: txBytes,
|
|
195
196
|
signature: signedTx,
|
|
@@ -227,9 +228,11 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
|
|
|
227
228
|
});
|
|
228
229
|
}
|
|
229
230
|
getSuiClient() {
|
|
231
|
+
const _super = Object.create(null, {
|
|
232
|
+
getSuiClient: { get: () => super.getSuiClient }
|
|
233
|
+
});
|
|
230
234
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
231
|
-
|
|
232
|
-
return new client.SuiClient({ url: client.getFullnodeUrl(networkName) });
|
|
235
|
+
return _super.getSuiClient.call(this);
|
|
233
236
|
});
|
|
234
237
|
}
|
|
235
238
|
getWalletClientByAddress(_a) {
|
|
@@ -57,9 +57,10 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
|
|
|
57
57
|
setRelayUrl(relayUrl: string): void;
|
|
58
58
|
setGetSignedSessionIdFunction(getSignedSessionId: () => Promise<string>): void;
|
|
59
59
|
setGetSessionPublicKeyFunction(getSessionPublicKey: () => Promise<string | undefined>): void;
|
|
60
|
-
delegateKeyShares({ accountAddress, password, }: {
|
|
60
|
+
delegateKeyShares({ accountAddress, password, initialSignerRules, }: {
|
|
61
61
|
accountAddress: string;
|
|
62
62
|
password?: string | undefined;
|
|
63
|
+
initialSignerRules?: import("@dynamic-labs-wallet/browser-wallet-client").WaasPolicyRule[] | undefined;
|
|
63
64
|
}): Promise<void>;
|
|
64
65
|
createRevocableSignedSessionCallback(): {
|
|
65
66
|
getSignedSessionId: () => Promise<string>;
|
|
@@ -250,7 +251,7 @@ export declare class DynamicWaasSuiConnector extends DynamicWaasSuiConnector_bas
|
|
|
250
251
|
private createAndSignTransaction;
|
|
251
252
|
signTransaction(transaction: Transaction): Promise<SignedTransaction>;
|
|
252
253
|
signAndExecuteTransaction(transaction: Transaction): Promise<SuiTransactionBlockResponse>;
|
|
253
|
-
getSuiClient(): Promise<SuiClient>;
|
|
254
|
+
getSuiClient(): Promise<SuiClient | undefined>;
|
|
254
255
|
getWalletClientByAddress({ accountAddress, }: {
|
|
255
256
|
accountAddress: string;
|
|
256
257
|
}): Promise<DynamicWalletClient>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
|
-
import { SuiClient, getFullnodeUrl } from '@mysten/sui/client';
|
|
4
3
|
import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
|
|
5
4
|
import { SuiWalletConnector, SuiUiTransaction } from '@dynamic-labs/sui-core';
|
|
6
5
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
@@ -154,8 +153,10 @@ class DynamicWaasSuiConnector extends withDynamicWaas(SuiWalletConnector) {
|
|
|
154
153
|
createAndSignTransaction(transaction) {
|
|
155
154
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
155
|
var _a, _b, _c, _d;
|
|
157
|
-
const
|
|
158
|
-
|
|
156
|
+
const client = yield this.getSuiClient();
|
|
157
|
+
if (!client) {
|
|
158
|
+
throw new DynamicError('No Sui client available', 'no_sui_client_available');
|
|
159
|
+
}
|
|
159
160
|
const txBytes = yield transaction.build({ client });
|
|
160
161
|
const txString = Buffer.from(txBytes).toString('hex');
|
|
161
162
|
const walletClient = yield this.getWaasWalletClient();
|
|
@@ -223,9 +224,11 @@ class DynamicWaasSuiConnector extends withDynamicWaas(SuiWalletConnector) {
|
|
|
223
224
|
});
|
|
224
225
|
}
|
|
225
226
|
getSuiClient() {
|
|
227
|
+
const _super = Object.create(null, {
|
|
228
|
+
getSuiClient: { get: () => super.getSuiClient }
|
|
229
|
+
});
|
|
226
230
|
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
-
|
|
228
|
-
return new SuiClient({ url: getFullnodeUrl(networkName) });
|
|
231
|
+
return _super.getSuiClient.call(this);
|
|
229
232
|
});
|
|
230
233
|
}
|
|
231
234
|
getWalletClientByAddress(_a) {
|