@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 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.1";
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.1",
10
- "@dynamic-labs/logger": "3.6.1",
11
- "@dynamic-labs/types": "3.6.1",
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.1";
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.1",
6
- "@dynamic-labs/logger": "3.6.1",
7
- "@dynamic-labs/types": "3.6.1",
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.1",
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.1",
31
- "@dynamic-labs/logger": "3.6.1",
32
- "@dynamic-labs/types": "3.6.1",
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.1",
40
- "@dynamic-labs/embedded-wallet": "3.6.1",
41
- "@dynamic-labs/rpc-providers": "3.6.1",
42
- "@dynamic-labs/solana-core": "3.6.1",
43
- "@dynamic-labs/wallet-book": "3.6.1",
44
- "@dynamic-labs/wallet-connector-core": "3.6.1",
45
- "@dynamic-labs/webauthn": "3.6.1",
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,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' && !alreadySigned) {
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' && !alreadySigned) {
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
  }