@dynamic-labs/solana 4.0.0-alpha.3 → 4.0.0-alpha.31

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +261 -0
  2. package/package.cjs +8 -0
  3. package/package.js +4 -0
  4. package/package.json +12 -18
  5. package/src/{CoinbaseSolana.cjs → CoinbaseSolana/CoinbaseSolana.cjs} +3 -9
  6. package/src/{CoinbaseSolana.d.ts → CoinbaseSolana/CoinbaseSolana.d.ts} +3 -3
  7. package/src/{CoinbaseSolana.js → CoinbaseSolana/CoinbaseSolana.js} +3 -9
  8. package/src/CoinbaseSolana/index.d.ts +1 -0
  9. package/src/{Phantom.cjs → Phantom/Phantom.cjs} +6 -6
  10. package/src/{Phantom.d.ts → Phantom/Phantom.d.ts} +3 -3
  11. package/src/{Phantom.js → Phantom/Phantom.js} +6 -6
  12. package/src/Phantom/index.d.ts +1 -0
  13. package/src/{solProviderHelper.cjs → SolProviderHelper/SolProviderHelper.cjs} +4 -4
  14. package/src/{solProviderHelper.js → SolProviderHelper/SolProviderHelper.js} +4 -4
  15. package/src/SolProviderHelper/index.d.ts +1 -0
  16. package/src/SolanaWalletConnectors.cjs +23 -0
  17. package/src/SolanaWalletConnectors.d.ts +2 -0
  18. package/src/SolanaWalletConnectors.js +19 -0
  19. package/src/SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.cjs +26 -0
  20. package/src/SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.d.ts +6 -0
  21. package/src/SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.js +22 -0
  22. package/src/SolanaWalletConnectorsWithConfig/index.d.ts +1 -0
  23. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.cjs +2 -2
  24. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.d.ts +3 -3
  25. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.js +3 -3
  26. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs +2 -2
  27. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.d.ts +2 -2
  28. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js +1 -1
  29. package/src/{Solflare.cjs → Solflare/Solflare.cjs} +2 -2
  30. package/src/{Solflare.d.ts → Solflare/Solflare.d.ts} +3 -3
  31. package/src/{Solflare.js → Solflare/Solflare.js} +2 -2
  32. package/src/Solflare/index.d.ts +1 -0
  33. package/src/index.cjs +19 -18
  34. package/src/index.d.ts +7 -5
  35. package/src/index.js +9 -17
  36. package/src/injected/BackpackSol.d.ts +2 -2
  37. package/src/injected/FallbackSolanaConnector.d.ts +2 -2
  38. package/src/injected/InjectedWalletBase.cjs +7 -7
  39. package/src/injected/InjectedWalletBase.d.ts +3 -3
  40. package/src/injected/InjectedWalletBase.js +7 -7
  41. package/src/injected/PhantomInjected.d.ts +2 -2
  42. package/src/injected/UnknownInjected.d.ts +2 -2
  43. package/src/injected/fetchInjectedWalletConnectors.cjs +2 -2
  44. package/src/injected/fetchInjectedWalletConnectors.js +2 -2
  45. package/src/phantomRedirect/{PhantomRedirect.cjs → PhantomRedirect/PhantomRedirect.cjs} +28 -25
  46. package/src/phantomRedirect/{PhantomRedirect.d.ts → PhantomRedirect/PhantomRedirect.d.ts} +3 -3
  47. package/src/phantomRedirect/{PhantomRedirect.js → PhantomRedirect/PhantomRedirect.js} +10 -7
  48. package/src/phantomRedirect/PhantomRedirect/index.d.ts +1 -0
  49. package/src/phantomRedirect/buildUrl/buildUrl.cjs +8 -0
  50. package/src/phantomRedirect/buildUrl/buildUrl.d.ts +1 -0
  51. package/src/phantomRedirect/buildUrl/buildUrl.js +4 -0
  52. package/src/phantomRedirect/buildUrl/index.d.ts +1 -0
  53. package/src/phantomRedirect/decryptPayload/decryptPayload.cjs +34 -0
  54. package/src/phantomRedirect/decryptPayload/decryptPayload.d.ts +1 -0
  55. package/src/phantomRedirect/decryptPayload/decryptPayload.js +25 -0
  56. package/src/phantomRedirect/decryptPayload/index.d.ts +1 -0
  57. package/src/phantomRedirect/encryptPayload/encryptPayload.cjs +18 -0
  58. package/src/phantomRedirect/encryptPayload/encryptPayload.d.ts +1 -0
  59. package/src/phantomRedirect/encryptPayload/encryptPayload.js +10 -0
  60. package/src/phantomRedirect/encryptPayload/index.d.ts +1 -0
  61. package/src/phantomRedirect/fetchCluster/fetchCluster.cjs +33 -0
  62. package/src/phantomRedirect/fetchCluster/fetchCluster.d.ts +1 -0
  63. package/src/phantomRedirect/fetchCluster/fetchCluster.js +29 -0
  64. package/src/phantomRedirect/fetchCluster/index.d.ts +1 -0
  65. package/src/phantomRedirect/storage/index.d.ts +1 -0
  66. package/src/phantomRedirect/{storage.d.ts → storage/storage.d.ts} +1 -1
  67. package/src/utils/logger.cjs +10 -0
  68. package/src/utils/logger.d.ts +2 -0
  69. package/src/utils/logger.js +6 -0
  70. package/src/phantomRedirect/utils.cjs +0 -56
  71. package/src/phantomRedirect/utils.d.ts +0 -4
  72. package/src/phantomRedirect/utils.js +0 -44
  73. /package/src/{solProviderHelper.d.ts → SolProviderHelper/SolProviderHelper.d.ts} +0 -0
  74. /package/src/phantomRedirect/{storage.cjs → storage/storage.cjs} +0 -0
  75. /package/src/phantomRedirect/{storage.js → storage/storage.js} +0 -0
@@ -9,7 +9,7 @@ var solanaCore = require('@dynamic-labs/solana-core');
9
9
  var createSolanaSignerFromWalletStandard = require('./utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs');
10
10
 
11
11
  const encoder = new TextEncoder();
12
- class SolanaWalletStandardConnector extends solanaCore.SolWalletConnector {
12
+ class SolanaWalletStandardConnector extends solanaCore.SolanaWalletConnector {
13
13
  constructor(props) {
14
14
  super(props);
15
15
  this.connectedChain = 'SOL';
@@ -58,7 +58,7 @@ class SolanaWalletStandardConnector extends solanaCore.SolWalletConnector {
58
58
  throw new Error('Signer not found');
59
59
  }
60
60
  const message = encoder.encode(messageToSign);
61
- const signature = yield signer.signMessage(message);
61
+ const { signature } = yield signer.signMessage(message);
62
62
  if (!(signature instanceof Uint8Array)) {
63
63
  throw new Error('Signature not found');
64
64
  }
@@ -2,11 +2,11 @@ import { Wallet } from '@wallet-standard/base';
2
2
  import { StandardConnectFeature, StandardDisconnectFeature } from '@wallet-standard/features';
3
3
  import { Chain } from '@dynamic-labs/wallet-connector-core';
4
4
  import { WalletBookSchema } from '@dynamic-labs/wallet-book';
5
- import { SolWalletConnector, SolWalletConnectorOpts, type ISolana } from '@dynamic-labs/solana-core';
6
- export declare abstract class SolanaWalletStandardConnector extends SolWalletConnector {
5
+ import { SolanaWalletConnector, SolanaWalletConnectorOpts, type ISolana } from '@dynamic-labs/solana-core';
6
+ export declare abstract class SolanaWalletStandardConnector extends SolanaWalletConnector {
7
7
  connectedChain: Chain;
8
8
  supportedChains: Chain[];
9
- constructor(props: SolWalletConnectorOpts);
9
+ constructor(props: SolanaWalletConnectorOpts);
10
10
  get wallet(): Wallet;
11
11
  get walletFeatures(): StandardConnectFeature & StandardDisconnectFeature;
12
12
  connect(): Promise<void>;
@@ -1,11 +1,11 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../_virtual/_tslib.js';
3
3
  import { getWallets } from '@wallet-standard/app';
4
- import { SolWalletConnector } from '@dynamic-labs/solana-core';
4
+ import { SolanaWalletConnector } from '@dynamic-labs/solana-core';
5
5
  import { createSolanaSignerFromWalletStandard } from './utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js';
6
6
 
7
7
  const encoder = new TextEncoder();
8
- class SolanaWalletStandardConnector extends SolWalletConnector {
8
+ class SolanaWalletStandardConnector extends SolanaWalletConnector {
9
9
  constructor(props) {
10
10
  super(props);
11
11
  this.connectedChain = 'SOL';
@@ -54,7 +54,7 @@ class SolanaWalletStandardConnector extends SolWalletConnector {
54
54
  throw new Error('Signer not found');
55
55
  }
56
56
  const message = encoder.encode(messageToSign);
57
- const signature = yield signer.signMessage(message);
57
+ const { signature } = yield signer.signMessage(message);
58
58
  if (!(signature instanceof Uint8Array)) {
59
59
  throw new Error('Signature not found');
60
60
  }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../../../_virtual/_tslib.cjs');
7
7
  var web3_js = require('@solana/web3.js');
8
- var utils = require('../../../phantomRedirect/utils.cjs');
8
+ var fetchCluster = require('../../../phantomRedirect/fetchCluster/fetchCluster.cjs');
9
9
 
10
10
  const isVersionedTransaction = (transaction) => !('instructions' in transaction);
11
11
  const createSolanaSignerFromWalletStandard = (wallet, walletConnector) => {
@@ -21,7 +21,7 @@ const createSolanaSignerFromWalletStandard = (wallet, walletConnector) => {
21
21
  const getChain = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
22
22
  var _a, _b;
23
23
  const rpc = (_b = (_a = walletConnector.solNetworks[0].privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : walletConnector.solNetworks[0].rpcUrls[0];
24
- const cluster = yield utils.fetchCluster(rpc);
24
+ const cluster = yield fetchCluster.fetchCluster(rpc);
25
25
  return `solana:${cluster}`;
26
26
  });
27
27
  const signTransaction = (transaction) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
@@ -1,3 +1,3 @@
1
1
  import { Wallet } from '@wallet-standard/base';
2
- import { SolWalletConnector, ISolana } from '@dynamic-labs/solana-core';
3
- export declare const createSolanaSignerFromWalletStandard: (wallet: Wallet, walletConnector: SolWalletConnector) => ISolana;
2
+ import { ISolana, SolanaWalletConnector } from '@dynamic-labs/solana-core';
3
+ export declare const createSolanaSignerFromWalletStandard: (wallet: Wallet, walletConnector: SolanaWalletConnector) => ISolana;
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../_virtual/_tslib.js';
3
3
  import { PublicKey, VersionedTransaction, Transaction } from '@solana/web3.js';
4
- import { fetchCluster } from '../../../phantomRedirect/utils.js';
4
+ import { fetchCluster } from '../../../phantomRedirect/fetchCluster/fetchCluster.js';
5
5
 
6
6
  const isVersionedTransaction = (transaction) => !('instructions' in transaction);
7
7
  const createSolanaSignerFromWalletStandard = (wallet, walletConnector) => {
@@ -3,10 +3,10 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var _tslib = require('../_virtual/_tslib.cjs');
6
+ var _tslib = require('../../_virtual/_tslib.cjs');
7
7
  var utils = require('@dynamic-labs/utils');
8
8
  var walletBook = require('@dynamic-labs/wallet-book');
9
- var InjectedWalletBase = require('./injected/InjectedWalletBase.cjs');
9
+ var InjectedWalletBase = require('../injected/InjectedWalletBase.cjs');
10
10
 
11
11
  class Solflare extends InjectedWalletBase.InjectedWalletBase {
12
12
  constructor(opts) {
@@ -1,9 +1,9 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
- import { InjectedWalletBase } from './injected/InjectedWalletBase';
1
+ import { SolanaWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
+ import { InjectedWalletBase } from '../injected/InjectedWalletBase';
3
3
  export declare class Solflare extends InjectedWalletBase {
4
4
  name: string;
5
5
  overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
6
+ constructor(opts: SolanaWalletConnectorOpts);
7
7
  getAddress(): Promise<string | undefined>;
8
8
  signMessage(messageToSign: string): Promise<string | undefined>;
9
9
  }
@@ -1,8 +1,8 @@
1
1
  'use client'
2
- import { __awaiter } from '../_virtual/_tslib.js';
2
+ import { __awaiter } from '../../_virtual/_tslib.js';
3
3
  import { isMobile, handleMobileWalletRedirect, bufferToBase64 } from '@dynamic-labs/utils';
4
4
  import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
5
- import { InjectedWalletBase } from './injected/InjectedWalletBase.js';
5
+ import { InjectedWalletBase } from '../injected/InjectedWalletBase.js';
6
6
 
7
7
  class Solflare extends InjectedWalletBase {
8
8
  constructor(opts) {
@@ -0,0 +1 @@
1
+ export * from './Solflare';
package/src/index.cjs CHANGED
@@ -3,29 +3,30 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var embeddedWalletSolana = require('@dynamic-labs/embedded-wallet-solana');
7
- var Phantom = require('./Phantom.cjs');
8
- var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
9
- var UnknownInjected = require('./injected/UnknownInjected.cjs');
10
- var FallbackSolanaConnector = require('./injected/FallbackSolanaConnector.cjs');
11
- var isSignedMessage = require('./utils/isSignedMessage.cjs');
12
- var isBackpackSolanaSigner = require('./utils/isBackpackSolanaSigner.cjs');
6
+ var assertPackageVersion = require('@dynamic-labs/assert-package-version');
7
+ var _package = require('../package.cjs');
13
8
  var solanaCore = require('@dynamic-labs/solana-core');
9
+ var BackpackSol = require('./injected/BackpackSol.cjs');
10
+ var InjectedWalletBase = require('./injected/InjectedWalletBase.cjs');
11
+ var SolanaWalletConnectors = require('./SolanaWalletConnectors.cjs');
12
+ var SolanaWalletConnectorsWithConfig = require('./SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.cjs');
13
+ var isBackpackSolanaSigner = require('./utils/isBackpackSolanaSigner.cjs');
14
+ var isSignedMessage = require('./utils/isSignedMessage.cjs');
14
15
 
15
16
  /* eslint-disable @typescript-eslint/no-unused-vars */
16
- const SolanaWalletConnectors = (props) => [
17
- ...fetchInjectedWalletConnectors.injectedWalletOverrides,
18
- ...fetchInjectedWalletConnectors.fetchInjectedWalletConnectors(props),
19
- ...embeddedWalletSolana.TurnkeySolanaWalletConnectors(props),
20
- Phantom.Phantom,
21
- UnknownInjected.UnknownInjected,
22
- FallbackSolanaConnector.FallbackSolanaConnector,
23
- ];
17
+ assertPackageVersion.assertPackageVersion('@dynamic-labs/solana', _package.version);
24
18
 
25
- exports.isSignedMessage = isSignedMessage.isSignedMessage;
26
- exports.isBackpackSolanaSigner = isBackpackSolanaSigner.isBackpackSolanaSigner;
19
+ Object.defineProperty(exports, 'SolanaWalletConnector', {
20
+ enumerable: true,
21
+ get: function () { return solanaCore.SolanaWalletConnector; }
22
+ });
27
23
  Object.defineProperty(exports, 'isSolanaWallet', {
28
24
  enumerable: true,
29
25
  get: function () { return solanaCore.isSolanaWallet; }
30
26
  });
31
- exports.SolanaWalletConnectors = SolanaWalletConnectors;
27
+ exports.BackpackConnector = BackpackSol.BackpackSol;
28
+ exports.SolanaInjectedConnector = InjectedWalletBase.InjectedWalletBase;
29
+ exports.SolanaWalletConnectors = SolanaWalletConnectors.SolanaWalletConnectors;
30
+ exports.SolanaWalletConnectorsWithConfig = SolanaWalletConnectorsWithConfig.SolanaWalletConnectorsWithConfig;
31
+ exports.isBackpackSolanaSigner = isBackpackSolanaSigner.isBackpackSolanaSigner;
32
+ exports.isSignedMessage = isSignedMessage.isSignedMessage;
package/src/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { Phantom } from './Phantom';
2
- export declare const SolanaWalletConnectors: (props: any) => (import("dist/packages/wallet-connector-core/src").WalletConnectorConstructor | typeof Phantom)[];
3
- export { isSignedMessage } from './utils/isSignedMessage';
4
- export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner';
5
1
  export type { IEmbeddedWalletSolanaSigner } from '@dynamic-labs/embedded-wallet-solana';
6
- export { isSolanaWallet } from '@dynamic-labs/solana-core';
2
+ export { isSolanaWallet, SolanaWalletConnector, } from '@dynamic-labs/solana-core';
3
+ export { BackpackSol as BackpackConnector } from './injected/BackpackSol';
4
+ export { InjectedWalletBase as SolanaInjectedConnector } from './injected/InjectedWalletBase';
5
+ export { SolanaWalletConnectors } from './SolanaWalletConnectors';
6
+ export { SolanaWalletConnectorsWithConfig } from './SolanaWalletConnectorsWithConfig';
7
+ export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner';
8
+ export { isSignedMessage } from './utils/isSignedMessage';
package/src/index.js CHANGED
@@ -1,21 +1,13 @@
1
1
  'use client'
2
- import { TurnkeySolanaWalletConnectors } from '@dynamic-labs/embedded-wallet-solana';
3
- import { Phantom } from './Phantom.js';
4
- import { injectedWalletOverrides, fetchInjectedWalletConnectors } from './injected/fetchInjectedWalletConnectors.js';
5
- import { UnknownInjected } from './injected/UnknownInjected.js';
6
- import { FallbackSolanaConnector } from './injected/FallbackSolanaConnector.js';
7
- export { isSignedMessage } from './utils/isSignedMessage.js';
2
+ import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
3
+ import { version } from '../package.js';
4
+ export { SolanaWalletConnector, isSolanaWallet } from '@dynamic-labs/solana-core';
5
+ export { BackpackSol as BackpackConnector } from './injected/BackpackSol.js';
6
+ export { InjectedWalletBase as SolanaInjectedConnector } from './injected/InjectedWalletBase.js';
7
+ export { SolanaWalletConnectors } from './SolanaWalletConnectors.js';
8
+ export { SolanaWalletConnectorsWithConfig } from './SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.js';
8
9
  export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner.js';
9
- export { isSolanaWallet } from '@dynamic-labs/solana-core';
10
+ export { isSignedMessage } from './utils/isSignedMessage.js';
10
11
 
11
12
  /* eslint-disable @typescript-eslint/no-unused-vars */
12
- const SolanaWalletConnectors = (props) => [
13
- ...injectedWalletOverrides,
14
- ...fetchInjectedWalletConnectors(props),
15
- ...TurnkeySolanaWalletConnectors(props),
16
- Phantom,
17
- UnknownInjected,
18
- FallbackSolanaConnector,
19
- ];
20
-
21
- export { SolanaWalletConnectors };
13
+ assertPackageVersion('@dynamic-labs/solana', version);
@@ -1,9 +1,9 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
1
+ import { SolanaWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
2
  import { InjectedWalletBase } from './InjectedWalletBase';
3
3
  export declare class BackpackSol extends InjectedWalletBase {
4
4
  name: string;
5
5
  overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
6
+ constructor(opts: SolanaWalletConnectorOpts);
7
7
  getSigner<IBackpackSolanaSigner>(): Promise<IBackpackSolanaSigner | undefined>;
8
8
  signMessage(messageToSign: string): Promise<string | undefined>;
9
9
  }
@@ -1,9 +1,9 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
1
+ import { SolanaWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
2
  import { InjectedWalletBase } from './InjectedWalletBase';
3
3
  export declare class FallbackSolanaConnector extends InjectedWalletBase {
4
4
  name: string;
5
5
  overrideKey: string;
6
6
  isAvailable: boolean;
7
- constructor(opts: SolWalletConnectorOpts);
7
+ constructor(opts: SolanaWalletConnectorOpts);
8
8
  isInstalledOnBrowser(): boolean;
9
9
  }
@@ -8,16 +8,16 @@ var web3_js = require('@solana/web3.js');
8
8
  var walletBook = require('@dynamic-labs/wallet-book');
9
9
  var utils = require('@dynamic-labs/utils');
10
10
  var solanaCore = require('@dynamic-labs/solana-core');
11
- var solProviderHelper = require('../solProviderHelper.cjs');
11
+ var SolProviderHelper = require('../SolProviderHelper/SolProviderHelper.cjs');
12
12
  var SignMessageNotSupportedError = require('../errors/SignMessageNotSupportedError.cjs');
13
13
 
14
- class InjectedWalletBase extends solanaCore.SolWalletConnector {
14
+ class InjectedWalletBase extends solanaCore.SolanaWalletConnector {
15
15
  getSolProviderHelper() {
16
16
  if (!this.wallet) {
17
17
  this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
18
18
  }
19
19
  if (this.wallet && !this.solProviderHelper) {
20
- this.solProviderHelper = new solProviderHelper.SolProviderHelper(this.wallet);
20
+ this.solProviderHelper = new SolProviderHelper.SolProviderHelper(this.wallet);
21
21
  }
22
22
  return this.solProviderHelper;
23
23
  }
@@ -53,6 +53,8 @@ class InjectedWalletBase extends solanaCore.SolWalletConnector {
53
53
  from,
54
54
  onSubmit: (transaction) => _tslib.__awaiter(this, void 0, void 0, function* () {
55
55
  var _a;
56
+ if (!transaction)
57
+ return;
56
58
  const signer = yield this.getSigner();
57
59
  if (!signer)
58
60
  throw new Error('Signer not found');
@@ -72,7 +74,6 @@ class InjectedWalletBase extends solanaCore.SolWalletConnector {
72
74
  return (yield signer.signAndSendTransaction(transaction)).signature;
73
75
  }),
74
76
  });
75
- transaction.feeDeducted = true;
76
77
  return transaction;
77
78
  });
78
79
  }
@@ -85,10 +86,9 @@ class InjectedWalletBase extends solanaCore.SolWalletConnector {
85
86
  var _a, _b;
86
87
  if (!this.isInstalledOnBrowser()) {
87
88
  if (utils.isMobile() &&
88
- ((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.mobile) &&
89
- this.wallet.mobile.inAppBrowser &&
89
+ ((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.inAppBrowserUrl) &&
90
90
  this.mobileExperience === 'in-app-browser') {
91
- const inAppBrowserCompiledTemplate = utils.template(this.wallet.mobile.inAppBrowser);
91
+ const inAppBrowserCompiledTemplate = utils.template(this.metadata.inAppBrowserUrl);
92
92
  const deepLink = inAppBrowserCompiledTemplate({
93
93
  encodedDappURI: encodeURIComponent(window.location.toString()),
94
94
  });
@@ -1,9 +1,9 @@
1
1
  import { WalletSchema } from '@dynamic-labs/wallet-book';
2
- import { SolWalletConnector, type ISolana } from '@dynamic-labs/solana-core';
2
+ import { SolanaWalletConnector, type ISolana } from '@dynamic-labs/solana-core';
3
3
  import { IUITransaction } from '@dynamic-labs/types';
4
4
  import { ISendBalanceWalletConnector } from '@dynamic-labs/wallet-connector-core';
5
- import { SolProviderHelper } from '../solProviderHelper';
6
- export declare abstract class InjectedWalletBase extends SolWalletConnector implements ISendBalanceWalletConnector {
5
+ import { SolProviderHelper } from '../SolProviderHelper';
6
+ export declare abstract class InjectedWalletBase extends SolanaWalletConnector implements ISendBalanceWalletConnector {
7
7
  solProviderHelper: SolProviderHelper | undefined;
8
8
  wallet: WalletSchema | undefined;
9
9
  getSolProviderHelper(): SolProviderHelper | undefined;
@@ -3,11 +3,11 @@ import { __awaiter } from '../../_virtual/_tslib.js';
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
5
5
  import { isMobile, template } from '@dynamic-labs/utils';
6
- import { SolWalletConnector, SolanaUiTransaction } from '@dynamic-labs/solana-core';
7
- import { SolProviderHelper } from '../solProviderHelper.js';
6
+ import { SolanaWalletConnector, SolanaUiTransaction } from '@dynamic-labs/solana-core';
7
+ import { SolProviderHelper } from '../SolProviderHelper/SolProviderHelper.js';
8
8
  import { SignMessageNotSupportedError } from '../errors/SignMessageNotSupportedError.js';
9
9
 
10
- class InjectedWalletBase extends SolWalletConnector {
10
+ class InjectedWalletBase extends SolanaWalletConnector {
11
11
  getSolProviderHelper() {
12
12
  if (!this.wallet) {
13
13
  this.wallet = findWalletBookWallet(this.walletBook, this.key);
@@ -49,6 +49,8 @@ class InjectedWalletBase extends SolWalletConnector {
49
49
  from,
50
50
  onSubmit: (transaction) => __awaiter(this, void 0, void 0, function* () {
51
51
  var _a;
52
+ if (!transaction)
53
+ return;
52
54
  const signer = yield this.getSigner();
53
55
  if (!signer)
54
56
  throw new Error('Signer not found');
@@ -68,7 +70,6 @@ class InjectedWalletBase extends SolWalletConnector {
68
70
  return (yield signer.signAndSendTransaction(transaction)).signature;
69
71
  }),
70
72
  });
71
- transaction.feeDeducted = true;
72
73
  return transaction;
73
74
  });
74
75
  }
@@ -81,10 +82,9 @@ class InjectedWalletBase extends SolWalletConnector {
81
82
  var _a, _b;
82
83
  if (!this.isInstalledOnBrowser()) {
83
84
  if (isMobile() &&
84
- ((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.mobile) &&
85
- this.wallet.mobile.inAppBrowser &&
85
+ ((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.inAppBrowserUrl) &&
86
86
  this.mobileExperience === 'in-app-browser') {
87
- const inAppBrowserCompiledTemplate = template(this.wallet.mobile.inAppBrowser);
87
+ const inAppBrowserCompiledTemplate = template(this.metadata.inAppBrowserUrl);
88
88
  const deepLink = inAppBrowserCompiledTemplate({
89
89
  encodedDappURI: encodeURIComponent(window.location.toString()),
90
90
  });
@@ -1,9 +1,9 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
1
+ import { SolanaWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
2
  import { InjectedWalletBase } from './InjectedWalletBase';
3
3
  export declare class PhantomInjected extends InjectedWalletBase {
4
4
  name: string;
5
5
  overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
6
+ constructor(opts: SolanaWalletConnectorOpts);
7
7
  getAddress(): Promise<string | undefined>;
8
8
  canGetChainAddress(): boolean;
9
9
  }
@@ -1,8 +1,8 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
1
+ import { SolanaWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
2
  import { InjectedWalletBase } from './InjectedWalletBase';
3
3
  export declare class UnknownInjected extends InjectedWalletBase {
4
4
  name: string;
5
5
  overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
6
+ constructor(opts: SolanaWalletConnectorOpts);
7
7
  isInstalledOnBrowser(): boolean;
8
8
  }
@@ -3,8 +3,8 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var CoinbaseSolana = require('../CoinbaseSolana.cjs');
7
- var Solflare = require('../Solflare.cjs');
6
+ var CoinbaseSolana = require('../CoinbaseSolana/CoinbaseSolana.cjs');
7
+ var Solflare = require('../Solflare/Solflare.cjs');
8
8
  var SolanaWalletStandardConnector = require('../SolanaWalletStandardConnector/SolanaWalletStandardConnector.cjs');
9
9
  var InjectedWalletBase = require('./InjectedWalletBase.cjs');
10
10
  var BackpackSol = require('./BackpackSol.cjs');
@@ -1,6 +1,6 @@
1
1
  'use client'
2
- import { CoinbaseSolana } from '../CoinbaseSolana.js';
3
- import { Solflare } from '../Solflare.js';
2
+ import { CoinbaseSolana } from '../CoinbaseSolana/CoinbaseSolana.js';
3
+ import { Solflare } from '../Solflare/Solflare.js';
4
4
  import { SolanaWalletStandardConnector } from '../SolanaWalletStandardConnector/SolanaWalletStandardConnector.js';
5
5
  import { InjectedWalletBase } from './InjectedWalletBase.js';
6
6
  import { BackpackSol } from './BackpackSol.js';
@@ -3,20 +3,23 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var _tslib = require('../../_virtual/_tslib.cjs');
7
- var nacl = require('tweetnacl');
8
- var bs58 = require('bs58');
6
+ var _tslib = require('../../../_virtual/_tslib.cjs');
9
7
  var web3_js = require('@solana/web3.js');
8
+ var bs58 = require('bs58');
9
+ var nacl = require('tweetnacl');
10
10
  var solanaCore = require('@dynamic-labs/solana-core');
11
- var utils = require('./utils.cjs');
12
- var storage = require('./storage.cjs');
11
+ var buildUrl = require('../buildUrl/buildUrl.cjs');
12
+ var decryptPayload = require('../decryptPayload/decryptPayload.cjs');
13
+ var encryptPayload = require('../encryptPayload/encryptPayload.cjs');
14
+ var fetchCluster = require('../fetchCluster/fetchCluster.cjs');
15
+ var storage = require('../storage/storage.cjs');
13
16
 
14
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
18
 
16
- var nacl__default = /*#__PURE__*/_interopDefaultLegacy(nacl);
17
19
  var bs58__default = /*#__PURE__*/_interopDefaultLegacy(bs58);
20
+ var nacl__default = /*#__PURE__*/_interopDefaultLegacy(nacl);
18
21
 
19
- class PhantomRedirect extends solanaCore.SolWalletConnector {
22
+ class PhantomRedirect extends solanaCore.SolanaWalletConnector {
20
23
  constructor(props) {
21
24
  super(Object.assign({}, props));
22
25
  this.name = 'Phantom';
@@ -48,11 +51,11 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
48
51
  const rpc = (_b = (_a = this.solNetworks[0].privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : this.solNetworks[0].rpcUrls[0];
49
52
  const params = new URLSearchParams({
50
53
  app_url: isLocalHost ? 'https://demo.dynamic.xyz' : window.location.href,
51
- cluster: yield utils.fetchCluster(rpc),
54
+ cluster: yield fetchCluster.fetchCluster(rpc),
52
55
  dapp_encryption_public_key: bs58__default["default"].encode(keyPair.publicKey),
53
56
  redirect_link: window.location.href,
54
57
  });
55
- const url = utils.buildUrl('connect', params);
58
+ const url = buildUrl.buildUrl('connect', params);
56
59
  window.location.href = url;
57
60
  });
58
61
  }
@@ -62,7 +65,7 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
62
65
  const { data, nonce, phantom_encryption_public_key: phantomEncryptionPublicKey, encryptionSecretKey, } = this.getInputsOrThrow('getSession', ['data', 'nonce', 'phantom_encryption_public_key'], ['encryptionSecretKey']);
63
66
  const sharedSecret = nacl__default["default"].box.before(bs58__default["default"].decode(phantomEncryptionPublicKey), encryptionSecretKey);
64
67
  storage.storage.sharedSecret.set(sharedSecret);
65
- const connectData = utils.decryptPayload(data, nonce, sharedSecret);
68
+ const connectData = decryptPayload.decryptPayload(data, nonce, sharedSecret);
66
69
  storage.storage.session.set(connectData.session);
67
70
  storage.storage.address.set(new web3_js.PublicKey(connectData.public_key));
68
71
  params.delete('phantom_encryption_public_key');
@@ -80,14 +83,14 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
80
83
  message: bs58__default["default"].encode(Buffer.from(messageToSign)),
81
84
  session,
82
85
  };
83
- const [nonce, encryptedPayload] = utils.encryptPayload(payload, sharedSecret);
86
+ const [nonce, encryptedPayload] = encryptPayload.encryptPayload(payload, sharedSecret);
84
87
  const params = new URLSearchParams({
85
88
  dapp_encryption_public_key: bs58__default["default"].encode(encryptionPublicKey),
86
89
  nonce: bs58__default["default"].encode(nonce),
87
90
  payload: bs58__default["default"].encode(encryptedPayload),
88
91
  redirect_link: window.location.href,
89
92
  });
90
- const url = utils.buildUrl('signMessage', params);
93
+ const url = buildUrl.buildUrl('signMessage', params);
91
94
  storage.storage.method.set('signMessage');
92
95
  window.location.href = url;
93
96
  // throwing this to prevent local storage from being cleared.
@@ -104,7 +107,7 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
104
107
  extractSignature() {
105
108
  const params = new URLSearchParams(window.location.search);
106
109
  const { data, nonce, sharedSecret, message } = this.getInputsOrThrow('extractSignature', ['data', 'nonce'], ['sharedSecret', 'message']);
107
- const signMessageData = utils.decryptPayload(data, nonce, sharedSecret);
110
+ const signMessageData = decryptPayload.decryptPayload(data, nonce, sharedSecret);
108
111
  params.delete('data');
109
112
  params.delete('nonce');
110
113
  history.replaceState(null, '', `${window.location.origin}${window.location.pathname}?${params.toString()}`);
@@ -116,7 +119,7 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
116
119
  extractTransactions() {
117
120
  const params = new URLSearchParams(window.location.search);
118
121
  const { data, nonce, sharedSecret } = this.getInputsOrThrow('extractTransactions', ['data', 'nonce'], ['sharedSecret']);
119
- const signAllTransactionsData = utils.decryptPayload(data, nonce, sharedSecret);
122
+ const signAllTransactionsData = decryptPayload.decryptPayload(data, nonce, sharedSecret);
120
123
  const decodedTransactions = signAllTransactionsData.transactions.map((t) => web3_js.Transaction.from(bs58__default["default"].decode(t)));
121
124
  params.delete('data');
122
125
  params.delete('nonce');
@@ -126,7 +129,7 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
126
129
  extractTransaction() {
127
130
  const params = new URLSearchParams(window.location.search);
128
131
  const { data, nonce, sharedSecret } = this.getInputsOrThrow('extractTransaction', ['data', 'nonce'], ['sharedSecret']);
129
- const signTransactionData = utils.decryptPayload(data, nonce, sharedSecret);
132
+ const signTransactionData = decryptPayload.decryptPayload(data, nonce, sharedSecret);
130
133
  const decodedTransaction = web3_js.Transaction.from(bs58__default["default"].decode(signTransactionData.transaction));
131
134
  params.delete('data');
132
135
  params.delete('nonce');
@@ -200,14 +203,14 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
200
203
  session,
201
204
  transactions: serializedTransactions,
202
205
  };
203
- const [nonce, encryptedPayload] = utils.encryptPayload(payload, sharedSecret);
206
+ const [nonce, encryptedPayload] = encryptPayload.encryptPayload(payload, sharedSecret);
204
207
  const params = new URLSearchParams({
205
208
  dapp_encryption_public_key: bs58__default["default"].encode(encryptionPublicKey),
206
209
  nonce: bs58__default["default"].encode(nonce),
207
210
  payload: bs58__default["default"].encode(encryptedPayload),
208
211
  redirect_link: window.location.href,
209
212
  });
210
- const url = utils.buildUrl('signAllTransactions', params);
213
+ const url = buildUrl.buildUrl('signAllTransactions', params);
211
214
  window.location.href = url;
212
215
  // actual signatures will be retrieved upon redirect back to dapp
213
216
  return [];
@@ -219,14 +222,14 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
219
222
  session,
220
223
  transaction: bs58__default["default"].encode(transaction.serialize({ requireAllSignatures: false })),
221
224
  };
222
- const [nonce, encryptedPayload] = utils.encryptPayload(payload, sharedSecret);
225
+ const [nonce, encryptedPayload] = encryptPayload.encryptPayload(payload, sharedSecret);
223
226
  const params = new URLSearchParams({
224
227
  dapp_encryption_public_key: bs58__default["default"].encode(encryptionPublicKey),
225
228
  nonce: bs58__default["default"].encode(nonce),
226
229
  payload: bs58__default["default"].encode(encryptedPayload),
227
230
  redirect_link: window.location.href,
228
231
  });
229
- const url = utils.buildUrl('signAndSendTransaction', params);
232
+ const url = buildUrl.buildUrl('signAndSendTransaction', params);
230
233
  storage.storage.method.set('signAndSendTransaction');
231
234
  window.location.href = url;
232
235
  // actual signature will be retrived upon redirect back to dapp
@@ -238,14 +241,14 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
238
241
  message: bs58__default["default"].encode(Buffer.from(message)),
239
242
  session,
240
243
  };
241
- const [nonce, encryptedPayload] = utils.encryptPayload(payload, sharedSecret);
244
+ const [nonce, encryptedPayload] = encryptPayload.encryptPayload(payload, sharedSecret);
242
245
  const params = new URLSearchParams({
243
246
  dapp_encryption_public_key: bs58__default["default"].encode(encryptionPublicKey),
244
247
  nonce: bs58__default["default"].encode(nonce),
245
248
  payload: bs58__default["default"].encode(encryptedPayload),
246
249
  redirect_link: window.location.href,
247
250
  });
248
- const url = utils.buildUrl('signMessage', params);
251
+ const url = buildUrl.buildUrl('signMessage', params);
249
252
  window.location.href = url;
250
253
  // actual signature will be retrived upon redirect back to dapp
251
254
  return { signature: Buffer.from('') };
@@ -259,14 +262,14 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
259
262
  session,
260
263
  transaction: serializedTransaction,
261
264
  };
262
- const [nonce, encryptedPayload] = utils.encryptPayload(payload, sharedSecret);
265
+ const [nonce, encryptedPayload] = encryptPayload.encryptPayload(payload, sharedSecret);
263
266
  const params = new URLSearchParams({
264
267
  dapp_encryption_public_key: bs58__default["default"].encode(encryptionPublicKey),
265
268
  nonce: bs58__default["default"].encode(nonce),
266
269
  payload: bs58__default["default"].encode(encryptedPayload),
267
270
  redirect_link: window.location.href,
268
271
  });
269
- const url = utils.buildUrl('signTransaction', params);
272
+ const url = buildUrl.buildUrl('signTransaction', params);
270
273
  window.location.href = url;
271
274
  return transaction;
272
275
  }),
@@ -291,14 +294,14 @@ class PhantomRedirect extends solanaCore.SolWalletConnector {
291
294
  if (!address || !session || !encryptionPublicKey || !sharedSecret)
292
295
  return;
293
296
  const payload = { session };
294
- const [nonce, encryptedPayload] = utils.encryptPayload(payload, sharedSecret);
297
+ const [nonce, encryptedPayload] = encryptPayload.encryptPayload(payload, sharedSecret);
295
298
  const params = new URLSearchParams({
296
299
  dapp_encryption_public_key: bs58__default["default"].encode(encryptionPublicKey),
297
300
  nonce: bs58__default["default"].encode(nonce),
298
301
  payload: bs58__default["default"].encode(encryptedPayload),
299
302
  redirect_link: window.location.href,
300
303
  });
301
- const url = utils.buildUrl('disconnect', params);
304
+ const url = buildUrl.buildUrl('disconnect', params);
302
305
  window.location.href = url;
303
306
  });
304
307
  }
@@ -1,8 +1,8 @@
1
1
  import { Transaction } from '@solana/web3.js';
2
+ import { SolanaWalletConnector, type ISolana } from '@dynamic-labs/solana-core';
2
3
  import { IPhantomRedirectConnector } from '@dynamic-labs/wallet-connector-core';
3
- import { SolWalletConnector, type ISolana } from '@dynamic-labs/solana-core';
4
- import { Method } from './types';
5
- export declare class PhantomRedirect extends SolWalletConnector implements IPhantomRedirectConnector {
4
+ import { Method } from '../types';
5
+ export declare class PhantomRedirect extends SolanaWalletConnector implements IPhantomRedirectConnector {
6
6
  name: string;
7
7
  overrideKey: string;
8
8
  constructor(props: any);