@dynamic-labs/embedded-wallet-solana 5.3.1 → 5.4.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 +39 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +12 -12
- package/src/lib/utils/api/api.cjs +7 -4
- package/src/lib/utils/api/api.js +8 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,43 @@
|
|
|
1
1
|
|
|
2
|
+
## [5.4.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.2...v5.4.0) (2026-08-25)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **aleo:** wire up signMessage on the WaaS Aleo connector ([#12235](https://github.com/dynamic-labs/dynamic-auth/issues/12235)) ([e56cbf5](https://github.com/dynamic-labs/dynamic-auth/commit/e56cbf5546bdcc21ce916dece43ae36dcea9b808))
|
|
8
|
+
* **waas:** thread isRawScalarImport through importPrivateKey for ed25519 chains ([#12220](https://github.com/dynamic-labs/dynamic-auth/issues/12220)) ([ced9efa](https://github.com/dynamic-labs/dynamic-auth/commit/ced9efac5fa5a4a1280383419f56fe22733722cd))
|
|
9
|
+
* **webview:** add policies message contract and controller ([#12248](https://github.com/dynamic-labs/dynamic-auth/issues/12248)) ([8557c1e](https://github.com/dynamic-labs/dynamic-auth/commit/8557c1ed3861e12f1f06b2bb610184813b577daa))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **bitcoin:** pass the wallet's address type when signing ([#12265](https://github.com/dynamic-labs/dynamic-auth/issues/12265)) ([b8a8eab](https://github.com/dynamic-labs/dynamic-auth/commit/b8a8eab7e4cc294cc307fb10ea6814e76111a274))
|
|
15
|
+
* remediate high-severity tar vulnerability and prune a dead override ([#12268](https://github.com/dynamic-labs/dynamic-auth/issues/12268)) ([6b1b343](https://github.com/dynamic-labs/dynamic-auth/commit/6b1b343e7947e8da30012446677e342ae9bfe14a))
|
|
16
|
+
* **waas-svm:** fix retry-classification and environmentId gaps in [#12240](https://github.com/dynamic-labs/dynamic-auth/issues/12240) ([#12247](https://github.com/dynamic-labs/dynamic-auth/issues/12247)) ([e79cecc](https://github.com/dynamic-labs/dynamic-auth/commit/e79ceccd424c48c3a7f45fdd6ea288c269ac0171))
|
|
17
|
+
* **wallet-connect:** reopen WalletConnect IndexedDB when the browser closes the connection ([#12262](https://github.com/dynamic-labs/dynamic-auth/issues/12262)) ([1a20dde](https://github.com/dynamic-labs/dynamic-auth/commit/1a20ddeaeec590ae3390c9e47ef3c14738379b83))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Performance Improvements
|
|
21
|
+
|
|
22
|
+
* **ethereum-gasless-core:** parallel 7702 auth signing and long-poll sponsored-tx status ([#12225](https://github.com/dynamic-labs/dynamic-auth/issues/12225)) ([53ca916](https://github.com/dynamic-labs/dynamic-auth/commit/53ca91668f8dd839c52d55a0e5d7bb5257f7f415))
|
|
23
|
+
|
|
24
|
+
### [5.3.2](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.1...v5.3.2) (2026-08-19)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
* **bitcoin:** add allowedSighash to embedded wallet signPsbt ([#12233](https://github.com/dynamic-labs/dynamic-auth/issues/12233)) ([d0ff829](https://github.com/dynamic-labs/dynamic-auth/commit/d0ff8291a3d1771d5ca356172acc10af94349b15))
|
|
30
|
+
* **bitcoin:** forward signingIndexes to embedded PSBT signing ([#12211](https://github.com/dynamic-labs/dynamic-auth/issues/12211)) ([733da3d](https://github.com/dynamic-labs/dynamic-auth/commit/733da3d32f39a9ae6d813df84fcff6350ba12eb5))
|
|
31
|
+
* expose createOfflineRecoveryShares SDK function in webview and legacy client ([#12239](https://github.com/dynamic-labs/dynamic-auth/issues/12239)) ([c8056e8](https://github.com/dynamic-labs/dynamic-auth/commit/c8056e8d5a1c66ac0146b046bc7cc198de118f0b))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* **bitcoin:** parse PSBTs with the active network's address encoding ([#12219](https://github.com/dynamic-labs/dynamic-auth/issues/12219)) ([8b151e2](https://github.com/dynamic-labs/dynamic-auth/commit/8b151e23440094cfa0d48728e1d0f19de567ca05))
|
|
37
|
+
* **bitcoin:** stop ensureActiveAccount from resetting a switched network ([#12215](https://github.com/dynamic-labs/dynamic-auth/issues/12215)) ([86668b7](https://github.com/dynamic-labs/dynamic-auth/commit/86668b79d23cd89b7e96518551cdaecab7dd5ce3))
|
|
38
|
+
* remediate high-severity dependency vulnerabilities ([#12238](https://github.com/dynamic-labs/dynamic-auth/issues/12238)) ([a4fc78c](https://github.com/dynamic-labs/dynamic-auth/commit/a4fc78ca27ee44ce6a1038c4e0d07f55528b4994))
|
|
39
|
+
* **waas-svm:** retry SVM gas sponsorship before falling back, then throw ([#12240](https://github.com/dynamic-labs/dynamic-auth/issues/12240)) ([f599a7a](https://github.com/dynamic-labs/dynamic-auth/commit/f599a7af55727e06373772acf574ee7c43e56bbb))
|
|
40
|
+
|
|
2
41
|
### [5.3.1](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.0...v5.3.1) (2026-08-14)
|
|
3
42
|
|
|
4
43
|
## [5.3.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.2.0...v5.3.0) (2026-08-12)
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/embedded-wallet-solana",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.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/utils": "5.
|
|
22
|
-
"@dynamic-labs/types": "5.
|
|
23
|
-
"@dynamic-labs/sdk-api-core": "0.0
|
|
24
|
-
"@dynamic-labs-sdk/client": "1.
|
|
21
|
+
"@dynamic-labs/utils": "5.4.0",
|
|
22
|
+
"@dynamic-labs/types": "5.4.0",
|
|
23
|
+
"@dynamic-labs/sdk-api-core": "0.12.0",
|
|
24
|
+
"@dynamic-labs-sdk/client": "1.29.0",
|
|
25
25
|
"@solana/web3.js": "1.98.1",
|
|
26
26
|
"@turnkey/iframe-stamper": "2.5.0",
|
|
27
27
|
"@turnkey/solana": "1.0.42",
|
|
28
28
|
"@turnkey/webauthn-stamper": "0.5.1",
|
|
29
|
-
"@dynamic-labs/assert-package-version": "5.
|
|
30
|
-
"@dynamic-labs/embedded-wallet": "5.
|
|
31
|
-
"@dynamic-labs/rpc-providers": "5.
|
|
32
|
-
"@dynamic-labs/solana-core": "5.
|
|
33
|
-
"@dynamic-labs/wallet-book": "5.
|
|
34
|
-
"@dynamic-labs/wallet-connector-core": "5.
|
|
35
|
-
"@dynamic-labs/webauthn": "5.
|
|
29
|
+
"@dynamic-labs/assert-package-version": "5.4.0",
|
|
30
|
+
"@dynamic-labs/embedded-wallet": "5.4.0",
|
|
31
|
+
"@dynamic-labs/rpc-providers": "5.4.0",
|
|
32
|
+
"@dynamic-labs/solana-core": "5.4.0",
|
|
33
|
+
"@dynamic-labs/wallet-book": "5.4.0",
|
|
34
|
+
"@dynamic-labs/wallet-connector-core": "5.4.0",
|
|
35
|
+
"@dynamic-labs/webauthn": "5.4.0",
|
|
36
36
|
"viem": "2.46.3"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {}
|
|
@@ -46,7 +46,7 @@ const sponsorSolanaTransaction = (environmentId, transaction) => _tslib.__awaite
|
|
|
46
46
|
const { legacyToken } = core$1.state.get();
|
|
47
47
|
const url = `${core$1.apiBaseUrl}/sdk/${environmentId}/solana/sponsorTransaction`;
|
|
48
48
|
if (!legacyToken) {
|
|
49
|
-
throw new
|
|
49
|
+
throw new utils.DynamicError('No auth token available for sponsoring transaction', 'sponsorship_missing_auth_token');
|
|
50
50
|
}
|
|
51
51
|
const response = yield utils.FetchService.fetch(url, {
|
|
52
52
|
body: JSON.stringify({ transaction: serializedTransaction }),
|
|
@@ -58,12 +58,15 @@ const sponsorSolanaTransaction = (environmentId, transaction) => _tslib.__awaite
|
|
|
58
58
|
method: 'POST',
|
|
59
59
|
});
|
|
60
60
|
if (!response.ok) {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
// Encode the HTTP status in the error code so callers can classify
|
|
62
|
+
// permanent rejections (400/403) versus transient ones (429/5xx)
|
|
63
|
+
// without exposing the response URL or server-supplied details in the
|
|
64
|
+
// user-facing message.
|
|
65
|
+
throw new utils.DynamicError('Failed to sponsor transaction', `sponsorship_http_${response.status}`);
|
|
63
66
|
}
|
|
64
67
|
const data = yield response.json();
|
|
65
68
|
if (!data.transaction) {
|
|
66
|
-
throw new
|
|
69
|
+
throw new utils.DynamicError('Invalid API response: missing transaction field', 'sponsorship_invalid_response');
|
|
67
70
|
}
|
|
68
71
|
const sponsoredTransaction = deserializeTransaction(data.transaction);
|
|
69
72
|
return sponsoredTransaction;
|
package/src/lib/utils/api/api.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
3
3
|
import { VersionedTransaction } from '@solana/web3.js';
|
|
4
4
|
import { getDefaultClient, getCore, createApiClient } from '@dynamic-labs-sdk/client/core';
|
|
5
|
-
import { FetchService } from '@dynamic-labs/utils';
|
|
5
|
+
import { DynamicError, FetchService } from '@dynamic-labs/utils';
|
|
6
6
|
|
|
7
7
|
const serializeTransaction = (transaction) => {
|
|
8
8
|
if (transaction instanceof VersionedTransaction) {
|
|
@@ -42,7 +42,7 @@ const sponsorSolanaTransaction = (environmentId, transaction) => __awaiter(void
|
|
|
42
42
|
const { legacyToken } = core.state.get();
|
|
43
43
|
const url = `${core.apiBaseUrl}/sdk/${environmentId}/solana/sponsorTransaction`;
|
|
44
44
|
if (!legacyToken) {
|
|
45
|
-
throw new
|
|
45
|
+
throw new DynamicError('No auth token available for sponsoring transaction', 'sponsorship_missing_auth_token');
|
|
46
46
|
}
|
|
47
47
|
const response = yield FetchService.fetch(url, {
|
|
48
48
|
body: JSON.stringify({ transaction: serializedTransaction }),
|
|
@@ -54,12 +54,15 @@ const sponsorSolanaTransaction = (environmentId, transaction) => __awaiter(void
|
|
|
54
54
|
method: 'POST',
|
|
55
55
|
});
|
|
56
56
|
if (!response.ok) {
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
// Encode the HTTP status in the error code so callers can classify
|
|
58
|
+
// permanent rejections (400/403) versus transient ones (429/5xx)
|
|
59
|
+
// without exposing the response URL or server-supplied details in the
|
|
60
|
+
// user-facing message.
|
|
61
|
+
throw new DynamicError('Failed to sponsor transaction', `sponsorship_http_${response.status}`);
|
|
59
62
|
}
|
|
60
63
|
const data = yield response.json();
|
|
61
64
|
if (!data.transaction) {
|
|
62
|
-
throw new
|
|
65
|
+
throw new DynamicError('Invalid API response: missing transaction field', 'sponsorship_invalid_response');
|
|
63
66
|
}
|
|
64
67
|
const sponsoredTransaction = deserializeTransaction(data.transaction);
|
|
65
68
|
return sponsoredTransaction;
|