@dynamic-labs/embedded-wallet-solana 3.6.1 → 3.6.2
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 +9 -0
- package/package.cjs +4 -4
- package/package.js +4 -4
- package/package.json +11 -11
- package/src/TurnkeySolanaWalletConnectors.cjs +5 -1
- package/src/TurnkeySolanaWalletConnectors.js +5 -1
- package/src/lib/TurnkeySolanaWalletConnector/TurnkeySolanaWalletConnector.cjs +6 -12
- package/src/lib/TurnkeySolanaWalletConnector/TurnkeySolanaWalletConnector.js +7 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
|
|
2
|
+
### [3.6.2](https://github.com/dynamic-labs/DynamicAuth/compare/v3.6.1...v3.6.2) (2024-11-13)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* **client:** convert the wallet when using wallets.embedded.getWallet ([#7434](https://github.com/dynamic-labs/DynamicAuth/issues/7434)) ([4f77a2a](https://github.com/dynamic-labs/DynamicAuth/commit/4f77a2ae0eb615a3fe2281ce43bc03d3e8bdbab1))
|
|
8
|
+
* issue with SollanaWalletConnectorWithConfig embedded wallets ([#7406](https://github.com/dynamic-labs/DynamicAuth/issues/7406)) ([d2008f6](https://github.com/dynamic-labs/DynamicAuth/commit/d2008f6052f9b53b009ed86fad83f1278429f762))
|
|
9
|
+
* refresh blockhash for solana embedded and use confirmed commitment ([#7429](https://github.com/dynamic-labs/DynamicAuth/issues/7429)) ([7d1674d](https://github.com/dynamic-labs/DynamicAuth/commit/7d1674dd4a2ea6c79e7d552353f0fd1b45375e37))
|
|
10
|
+
|
|
2
11
|
### [3.6.1](https://github.com/dynamic-labs/DynamicAuth/compare/v3.6.0...v3.6.1) (2024-11-08)
|
|
3
12
|
|
|
4
13
|
|
package/package.cjs
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var version = "3.6.
|
|
6
|
+
var version = "3.6.2";
|
|
7
7
|
var dependencies = {
|
|
8
8
|
"@dynamic-labs/sdk-api-core": "0.0.563",
|
|
9
|
-
"@dynamic-labs/utils": "3.6.
|
|
10
|
-
"@dynamic-labs/logger": "3.6.
|
|
11
|
-
"@dynamic-labs/types": "3.6.
|
|
9
|
+
"@dynamic-labs/utils": "3.6.2",
|
|
10
|
+
"@dynamic-labs/logger": "3.6.2",
|
|
11
|
+
"@dynamic-labs/types": "3.6.2",
|
|
12
12
|
eventemitter3: "5.0.1",
|
|
13
13
|
"@solana/web3.js": "1.92.1",
|
|
14
14
|
"@turnkey/http": "2.12.2",
|
package/package.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
var version = "3.6.
|
|
2
|
+
var version = "3.6.2";
|
|
3
3
|
var dependencies = {
|
|
4
4
|
"@dynamic-labs/sdk-api-core": "0.0.563",
|
|
5
|
-
"@dynamic-labs/utils": "3.6.
|
|
6
|
-
"@dynamic-labs/logger": "3.6.
|
|
7
|
-
"@dynamic-labs/types": "3.6.
|
|
5
|
+
"@dynamic-labs/utils": "3.6.2",
|
|
6
|
+
"@dynamic-labs/logger": "3.6.2",
|
|
7
|
+
"@dynamic-labs/types": "3.6.2",
|
|
8
8
|
eventemitter3: "5.0.1",
|
|
9
9
|
"@solana/web3.js": "1.92.1",
|
|
10
10
|
"@turnkey/http": "2.12.2",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/embedded-wallet-solana",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -27,22 +27,22 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@dynamic-labs/sdk-api-core": "0.0.563",
|
|
30
|
-
"@dynamic-labs/utils": "3.6.
|
|
31
|
-
"@dynamic-labs/logger": "3.6.
|
|
32
|
-
"@dynamic-labs/types": "3.6.
|
|
30
|
+
"@dynamic-labs/utils": "3.6.2",
|
|
31
|
+
"@dynamic-labs/logger": "3.6.2",
|
|
32
|
+
"@dynamic-labs/types": "3.6.2",
|
|
33
33
|
"eventemitter3": "5.0.1",
|
|
34
34
|
"@solana/web3.js": "1.92.1",
|
|
35
35
|
"@turnkey/http": "2.12.2",
|
|
36
36
|
"@turnkey/iframe-stamper": "2.0.0",
|
|
37
37
|
"@turnkey/solana": "0.3.9",
|
|
38
38
|
"@turnkey/webauthn-stamper": "0.5.0",
|
|
39
|
-
"@dynamic-labs/assert-package-version": "3.6.
|
|
40
|
-
"@dynamic-labs/embedded-wallet": "3.6.
|
|
41
|
-
"@dynamic-labs/rpc-providers": "3.6.
|
|
42
|
-
"@dynamic-labs/solana-core": "3.6.
|
|
43
|
-
"@dynamic-labs/wallet-book": "3.6.
|
|
44
|
-
"@dynamic-labs/wallet-connector-core": "3.6.
|
|
45
|
-
"@dynamic-labs/webauthn": "3.6.
|
|
39
|
+
"@dynamic-labs/assert-package-version": "3.6.2",
|
|
40
|
+
"@dynamic-labs/embedded-wallet": "3.6.2",
|
|
41
|
+
"@dynamic-labs/rpc-providers": "3.6.2",
|
|
42
|
+
"@dynamic-labs/solana-core": "3.6.2",
|
|
43
|
+
"@dynamic-labs/wallet-book": "3.6.2",
|
|
44
|
+
"@dynamic-labs/wallet-connector-core": "3.6.2",
|
|
45
|
+
"@dynamic-labs/webauthn": "3.6.2",
|
|
46
46
|
"react-dom": "18.2.0",
|
|
47
47
|
"viem": "2.9.25"
|
|
48
48
|
},
|
|
@@ -10,7 +10,11 @@ const TurnkeySolanaWalletConnectors = (props) => {
|
|
|
10
10
|
var _a;
|
|
11
11
|
if ((_a = props.apiProviders) === null || _a === void 0 ? void 0 : _a.turnkey) {
|
|
12
12
|
return [
|
|
13
|
-
TurnkeySolanaWalletConnector.TurnkeySolanaWalletConnector
|
|
13
|
+
class extends TurnkeySolanaWalletConnector.TurnkeySolanaWalletConnector {
|
|
14
|
+
constructor(innerProps) {
|
|
15
|
+
super(embeddedWallet.TurnkeyWalletConnectorInfo.TurnkeyHD, Object.assign(Object.assign({}, props), innerProps));
|
|
16
|
+
}
|
|
17
|
+
},
|
|
14
18
|
];
|
|
15
19
|
}
|
|
16
20
|
return [];
|
|
@@ -6,7 +6,11 @@ const TurnkeySolanaWalletConnectors = (props) => {
|
|
|
6
6
|
var _a;
|
|
7
7
|
if ((_a = props.apiProviders) === null || _a === void 0 ? void 0 : _a.turnkey) {
|
|
8
8
|
return [
|
|
9
|
-
TurnkeySolanaWalletConnector
|
|
9
|
+
class extends TurnkeySolanaWalletConnector {
|
|
10
|
+
constructor(innerProps) {
|
|
11
|
+
super(TurnkeyWalletConnectorInfo.TurnkeyHD, Object.assign(Object.assign({}, props), innerProps));
|
|
12
|
+
}
|
|
13
|
+
},
|
|
10
14
|
];
|
|
11
15
|
}
|
|
12
16
|
return [];
|
|
@@ -295,7 +295,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
|
|
|
295
295
|
if (!this.turnkeyAddress)
|
|
296
296
|
throw new utils.DynamicError('No turnkey account');
|
|
297
297
|
const uiTransaction = new solanaCore.SolanaUiTransaction({
|
|
298
|
-
connection: this.getConnection(),
|
|
298
|
+
connection: this.getConnection('confirmed'),
|
|
299
299
|
from: this.turnkeyAddress,
|
|
300
300
|
multipleTransactions: [transaction],
|
|
301
301
|
onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignTransaction(transaction); }),
|
|
@@ -307,7 +307,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
|
|
|
307
307
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
308
308
|
yield this.validateActiveWallet(from);
|
|
309
309
|
const transaction = new solanaCore.SolanaUiTransaction({
|
|
310
|
-
connection: this.getConnection(),
|
|
310
|
+
connection: this.getConnection('confirmed'),
|
|
311
311
|
from,
|
|
312
312
|
onSubmit: (transaction) => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
313
313
|
if (!transaction)
|
|
@@ -352,7 +352,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
|
|
|
352
352
|
if (!this.turnkeyAddress)
|
|
353
353
|
throw new utils.DynamicError('No turnkey account');
|
|
354
354
|
const uiTransaction = new solanaCore.SolanaUiTransaction({
|
|
355
|
-
connection: this.getConnection(),
|
|
355
|
+
connection: this.getConnection('confirmed'),
|
|
356
356
|
from: this.turnkeyAddress,
|
|
357
357
|
multipleTransactions: transactions,
|
|
358
358
|
onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAllTransactions(transactions); }),
|
|
@@ -391,7 +391,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
|
|
|
391
391
|
throw new utils.DynamicError('Solana wallet not found');
|
|
392
392
|
const optimizedTransaction = yield this.optimizeTransaction(transaction);
|
|
393
393
|
const uiTransaction = new solanaCore.SolanaUiTransaction({
|
|
394
|
-
connection: this.getConnection(),
|
|
394
|
+
connection: this.getConnection('confirmed'),
|
|
395
395
|
from: this.turnkeyAddress,
|
|
396
396
|
multipleTransactions: [optimizedTransaction],
|
|
397
397
|
onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(optimizedTransaction, options); }),
|
|
@@ -442,16 +442,10 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
|
|
|
442
442
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
443
443
|
var _a;
|
|
444
444
|
let optimizedTransaction = transaction;
|
|
445
|
-
let alreadySigned = false;
|
|
446
|
-
if ('version' in transaction) {
|
|
447
|
-
alreadySigned = transaction.signatures.some((sig) => !sig.every((byte) => byte === 0));
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
alreadySigned = transaction.signatures.some((sig) => sig.signature);
|
|
451
|
-
}
|
|
452
445
|
try {
|
|
453
446
|
// we cannot optimize partially signed transactions as once a tx is modified the signatures are no longer valid
|
|
454
|
-
if ((yield this.getNetwork()) === 'mainnet' &&
|
|
447
|
+
if ((yield this.getNetwork()) === 'mainnet' &&
|
|
448
|
+
!solanaCore.isTxAlreadySigned(transaction)) {
|
|
455
449
|
optimizedTransaction = (yield api.optimizeSolanaTransaction(this.getEnvId(), transaction, (_a = this.turnkeyAddress) !== null && _a !== void 0 ? _a : ''));
|
|
456
450
|
}
|
|
457
451
|
}
|
|
@@ -6,7 +6,7 @@ import { IframeStamper } from '@turnkey/iframe-stamper';
|
|
|
6
6
|
import { TurnkeySigner } from '@turnkey/solana';
|
|
7
7
|
import { WebauthnStamper } from '@turnkey/webauthn-stamper';
|
|
8
8
|
import { TurnkeyWalletConnectorBase, findTurnkeyVerifiedCredentials, PasskeyService, TURNKEY_API_BASE_URL, TURNKEY_SDK_SESSION_KEY_RETRYABLE_ERRORS, logger } from '@dynamic-labs/embedded-wallet';
|
|
9
|
-
import { SolanaWallet, ProviderChain, getGenesisHashLSKey, SolanaUiTransaction } from '@dynamic-labs/solana-core';
|
|
9
|
+
import { SolanaWallet, ProviderChain, getGenesisHashLSKey, SolanaUiTransaction, isTxAlreadySigned } from '@dynamic-labs/solana-core';
|
|
10
10
|
import { DynamicError, getTLD, PlatformService, bufferToBase64 } from '@dynamic-labs/utils';
|
|
11
11
|
import { isSameAddress } from '@dynamic-labs/wallet-connector-core';
|
|
12
12
|
import { createSolanaConnection } from '../utils/createSolanaConnection/createSolanaConnection.js';
|
|
@@ -291,7 +291,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
291
291
|
if (!this.turnkeyAddress)
|
|
292
292
|
throw new DynamicError('No turnkey account');
|
|
293
293
|
const uiTransaction = new SolanaUiTransaction({
|
|
294
|
-
connection: this.getConnection(),
|
|
294
|
+
connection: this.getConnection('confirmed'),
|
|
295
295
|
from: this.turnkeyAddress,
|
|
296
296
|
multipleTransactions: [transaction],
|
|
297
297
|
onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignTransaction(transaction); }),
|
|
@@ -303,7 +303,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
303
303
|
return __awaiter(this, void 0, void 0, function* () {
|
|
304
304
|
yield this.validateActiveWallet(from);
|
|
305
305
|
const transaction = new SolanaUiTransaction({
|
|
306
|
-
connection: this.getConnection(),
|
|
306
|
+
connection: this.getConnection('confirmed'),
|
|
307
307
|
from,
|
|
308
308
|
onSubmit: (transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
309
309
|
if (!transaction)
|
|
@@ -348,7 +348,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
348
348
|
if (!this.turnkeyAddress)
|
|
349
349
|
throw new DynamicError('No turnkey account');
|
|
350
350
|
const uiTransaction = new SolanaUiTransaction({
|
|
351
|
-
connection: this.getConnection(),
|
|
351
|
+
connection: this.getConnection('confirmed'),
|
|
352
352
|
from: this.turnkeyAddress,
|
|
353
353
|
multipleTransactions: transactions,
|
|
354
354
|
onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignAllTransactions(transactions); }),
|
|
@@ -387,7 +387,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
387
387
|
throw new DynamicError('Solana wallet not found');
|
|
388
388
|
const optimizedTransaction = yield this.optimizeTransaction(transaction);
|
|
389
389
|
const uiTransaction = new SolanaUiTransaction({
|
|
390
|
-
connection: this.getConnection(),
|
|
390
|
+
connection: this.getConnection('confirmed'),
|
|
391
391
|
from: this.turnkeyAddress,
|
|
392
392
|
multipleTransactions: [optimizedTransaction],
|
|
393
393
|
onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(optimizedTransaction, options); }),
|
|
@@ -438,16 +438,10 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
438
438
|
return __awaiter(this, void 0, void 0, function* () {
|
|
439
439
|
var _a;
|
|
440
440
|
let optimizedTransaction = transaction;
|
|
441
|
-
let alreadySigned = false;
|
|
442
|
-
if ('version' in transaction) {
|
|
443
|
-
alreadySigned = transaction.signatures.some((sig) => !sig.every((byte) => byte === 0));
|
|
444
|
-
}
|
|
445
|
-
else {
|
|
446
|
-
alreadySigned = transaction.signatures.some((sig) => sig.signature);
|
|
447
|
-
}
|
|
448
441
|
try {
|
|
449
442
|
// we cannot optimize partially signed transactions as once a tx is modified the signatures are no longer valid
|
|
450
|
-
if ((yield this.getNetwork()) === 'mainnet' &&
|
|
443
|
+
if ((yield this.getNetwork()) === 'mainnet' &&
|
|
444
|
+
!isTxAlreadySigned(transaction)) {
|
|
451
445
|
optimizedTransaction = (yield optimizeSolanaTransaction(this.getEnvId(), transaction, (_a = this.turnkeyAddress) !== null && _a !== void 0 ? _a : ''));
|
|
452
446
|
}
|
|
453
447
|
}
|