@dynamic-labs/embedded-wallet-solana 3.6.0 → 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 CHANGED
@@ -1,4 +1,21 @@
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
+
11
+ ### [3.6.1](https://github.com/dynamic-labs/DynamicAuth/compare/v3.6.0...v3.6.1) (2024-11-08)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * when confirmation ui disabled for solana signall and signTransaction, it was returning a string instead of a transaction ([#7404](https://github.com/dynamic-labs/DynamicAuth/issues/7404)) ([9c17d83](https://github.com/dynamic-labs/DynamicAuth/commit/9c17d83e808f576bd319892b9726e5692534b31d))
17
+ * solana sign transaction was throwing with destination not found for embedded wallets ([#7394](https://github.com/dynamic-labs/DynamicAuth/issues/7394)) ([5bc21cd](https://github.com/dynamic-labs/DynamicAuth/commit/5bc21cdc2aee3dd70fc455e54e586d695392702b))
18
+
2
19
  ## [3.6.0](https://github.com/dynamic-labs/DynamicAuth/compare/v3.5.1...v3.6.0) (2024-11-07)
3
20
 
4
21
 
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.0";
6
+ var version = "3.6.2";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.559",
9
- "@dynamic-labs/utils": "3.6.0",
10
- "@dynamic-labs/logger": "3.6.0",
11
- "@dynamic-labs/types": "3.6.0",
8
+ "@dynamic-labs/sdk-api-core": "0.0.563",
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.0";
2
+ var version = "3.6.2";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.559",
5
- "@dynamic-labs/utils": "3.6.0",
6
- "@dynamic-labs/logger": "3.6.0",
7
- "@dynamic-labs/types": "3.6.0",
4
+ "@dynamic-labs/sdk-api-core": "0.0.563",
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.0",
3
+ "version": "3.6.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -26,23 +26,23 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
- "@dynamic-labs/sdk-api-core": "0.0.559",
30
- "@dynamic-labs/utils": "3.6.0",
31
- "@dynamic-labs/logger": "3.6.0",
32
- "@dynamic-labs/types": "3.6.0",
29
+ "@dynamic-labs/sdk-api-core": "0.0.563",
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.0",
40
- "@dynamic-labs/embedded-wallet": "3.6.0",
41
- "@dynamic-labs/rpc-providers": "3.6.0",
42
- "@dynamic-labs/solana-core": "3.6.0",
43
- "@dynamic-labs/wallet-book": "3.6.0",
44
- "@dynamic-labs/wallet-connector-core": "3.6.0",
45
- "@dynamic-labs/webauthn": "3.6.0",
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.bind(null, embeddedWallet.TurnkeyWalletConnectorInfo.TurnkeyHD),
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.bind(null, TurnkeyWalletConnectorInfo.TurnkeyHD),
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,8 +295,9 @@ 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
+ multipleTransactions: [transaction],
300
301
  onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignTransaction(transaction); }),
301
302
  });
302
303
  return this.walletUiUtils.signTransaction(this, uiTransaction);
@@ -306,7 +307,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
306
307
  return _tslib.__awaiter(this, void 0, void 0, function* () {
307
308
  yield this.validateActiveWallet(from);
308
309
  const transaction = new solanaCore.SolanaUiTransaction({
309
- connection: this.getConnection(),
310
+ connection: this.getConnection('confirmed'),
310
311
  from,
311
312
  onSubmit: (transaction) => _tslib.__awaiter(this, void 0, void 0, function* () {
312
313
  if (!transaction)
@@ -351,7 +352,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
351
352
  if (!this.turnkeyAddress)
352
353
  throw new utils.DynamicError('No turnkey account');
353
354
  const uiTransaction = new solanaCore.SolanaUiTransaction({
354
- connection: this.getConnection(),
355
+ connection: this.getConnection('confirmed'),
355
356
  from: this.turnkeyAddress,
356
357
  multipleTransactions: transactions,
357
358
  onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAllTransactions(transactions); }),
@@ -390,7 +391,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
390
391
  throw new utils.DynamicError('Solana wallet not found');
391
392
  const optimizedTransaction = yield this.optimizeTransaction(transaction);
392
393
  const uiTransaction = new solanaCore.SolanaUiTransaction({
393
- connection: this.getConnection(),
394
+ connection: this.getConnection('confirmed'),
394
395
  from: this.turnkeyAddress,
395
396
  multipleTransactions: [optimizedTransaction],
396
397
  onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(optimizedTransaction, options); }),
@@ -441,16 +442,10 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
441
442
  return _tslib.__awaiter(this, void 0, void 0, function* () {
442
443
  var _a;
443
444
  let optimizedTransaction = transaction;
444
- let alreadySigned = false;
445
- if ('version' in transaction) {
446
- alreadySigned = transaction.signatures.some((sig) => !sig.every((byte) => byte === 0));
447
- }
448
- else {
449
- alreadySigned = transaction.signatures.some((sig) => sig.signature);
450
- }
451
445
  try {
452
446
  // we cannot optimize partially signed transactions as once a tx is modified the signatures are no longer valid
453
- if ((yield this.getNetwork()) === 'mainnet' && !alreadySigned) {
447
+ if ((yield this.getNetwork()) === 'mainnet' &&
448
+ !solanaCore.isTxAlreadySigned(transaction)) {
454
449
  optimizedTransaction = (yield api.optimizeSolanaTransaction(this.getEnvId(), transaction, (_a = this.turnkeyAddress) !== null && _a !== void 0 ? _a : ''));
455
450
  }
456
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,8 +291,9 @@ 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
+ multipleTransactions: [transaction],
296
297
  onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignTransaction(transaction); }),
297
298
  });
298
299
  return this.walletUiUtils.signTransaction(this, uiTransaction);
@@ -302,7 +303,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
302
303
  return __awaiter(this, void 0, void 0, function* () {
303
304
  yield this.validateActiveWallet(from);
304
305
  const transaction = new SolanaUiTransaction({
305
- connection: this.getConnection(),
306
+ connection: this.getConnection('confirmed'),
306
307
  from,
307
308
  onSubmit: (transaction) => __awaiter(this, void 0, void 0, function* () {
308
309
  if (!transaction)
@@ -347,7 +348,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
347
348
  if (!this.turnkeyAddress)
348
349
  throw new DynamicError('No turnkey account');
349
350
  const uiTransaction = new SolanaUiTransaction({
350
- connection: this.getConnection(),
351
+ connection: this.getConnection('confirmed'),
351
352
  from: this.turnkeyAddress,
352
353
  multipleTransactions: transactions,
353
354
  onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignAllTransactions(transactions); }),
@@ -386,7 +387,7 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
386
387
  throw new DynamicError('Solana wallet not found');
387
388
  const optimizedTransaction = yield this.optimizeTransaction(transaction);
388
389
  const uiTransaction = new SolanaUiTransaction({
389
- connection: this.getConnection(),
390
+ connection: this.getConnection('confirmed'),
390
391
  from: this.turnkeyAddress,
391
392
  multipleTransactions: [optimizedTransaction],
392
393
  onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(optimizedTransaction, options); }),
@@ -437,16 +438,10 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
437
438
  return __awaiter(this, void 0, void 0, function* () {
438
439
  var _a;
439
440
  let optimizedTransaction = transaction;
440
- let alreadySigned = false;
441
- if ('version' in transaction) {
442
- alreadySigned = transaction.signatures.some((sig) => !sig.every((byte) => byte === 0));
443
- }
444
- else {
445
- alreadySigned = transaction.signatures.some((sig) => sig.signature);
446
- }
447
441
  try {
448
442
  // we cannot optimize partially signed transactions as once a tx is modified the signatures are no longer valid
449
- if ((yield this.getNetwork()) === 'mainnet' && !alreadySigned) {
443
+ if ((yield this.getNetwork()) === 'mainnet' &&
444
+ !isTxAlreadySigned(transaction)) {
450
445
  optimizedTransaction = (yield optimizeSolanaTransaction(this.getEnvId(), transaction, (_a = this.turnkeyAddress) !== null && _a !== void 0 ? _a : ''));
451
446
  }
452
447
  }