@dynamic-labs/embedded-wallet-solana 4.96.2 → 4.96.3
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 +12 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -11
- 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,16 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.96.3](https://github.com/dynamic-labs/dynamic-auth/compare/v4.96.2...v4.96.3) (2026-08-19)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* remediate high-severity dependency vulnerabilities ([#12237](https://github.com/dynamic-labs/dynamic-auth/issues/12237)) ([daab647](https://github.com/dynamic-labs/dynamic-auth/commit/daab6476d30709a3262369ae656fd9b4416ced5f))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Performance Improvements
|
|
11
|
+
|
|
12
|
+
* **ethereum-gasless-core:** parallel 7702 auth signing and long-poll sponsored-tx status ([#12226](https://github.com/dynamic-labs/dynamic-auth/issues/12226)) ([0ef5c2c](https://github.com/dynamic-labs/dynamic-auth/commit/0ef5c2cae8a8f9972cedeeff11381cbef9b36e88))
|
|
13
|
+
|
|
2
14
|
### [4.96.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.96.1...v4.96.2) (2026-08-14)
|
|
3
15
|
|
|
4
16
|
### [4.96.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.96.0...v4.96.1) (2026-08-10)
|
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": "4.96.
|
|
3
|
+
"version": "4.96.3",
|
|
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": "4.96.
|
|
22
|
-
"@dynamic-labs/types": "4.96.
|
|
23
|
-
"@dynamic-labs/sdk-api-core": "0.0
|
|
21
|
+
"@dynamic-labs/utils": "4.96.3",
|
|
22
|
+
"@dynamic-labs/types": "4.96.3",
|
|
23
|
+
"@dynamic-labs/sdk-api-core": "0.12.0",
|
|
24
24
|
"@dynamic-labs-sdk/client": "1.27.1",
|
|
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": "4.96.
|
|
30
|
-
"@dynamic-labs/embedded-wallet": "4.96.
|
|
31
|
-
"@dynamic-labs/rpc-providers": "4.96.
|
|
32
|
-
"@dynamic-labs/solana-core": "4.96.
|
|
33
|
-
"@dynamic-labs/wallet-book": "4.96.
|
|
34
|
-
"@dynamic-labs/wallet-connector-core": "4.96.
|
|
35
|
-
"@dynamic-labs/webauthn": "4.96.
|
|
29
|
+
"@dynamic-labs/assert-package-version": "4.96.3",
|
|
30
|
+
"@dynamic-labs/embedded-wallet": "4.96.3",
|
|
31
|
+
"@dynamic-labs/rpc-providers": "4.96.3",
|
|
32
|
+
"@dynamic-labs/solana-core": "4.96.3",
|
|
33
|
+
"@dynamic-labs/wallet-book": "4.96.3",
|
|
34
|
+
"@dynamic-labs/wallet-connector-core": "4.96.3",
|
|
35
|
+
"@dynamic-labs/webauthn": "4.96.3",
|
|
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;
|