@dynamic-labs/solana 4.0.0-alpha.4 → 4.0.0-alpha.40

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 (85) hide show
  1. package/CHANGELOG.md +349 -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} +6 -14
  6. package/src/{CoinbaseSolana.d.ts → CoinbaseSolana/CoinbaseSolana.d.ts} +1 -3
  7. package/src/{CoinbaseSolana.js → CoinbaseSolana/CoinbaseSolana.js} +6 -14
  8. package/src/CoinbaseSolana/index.d.ts +1 -0
  9. package/src/{Phantom.cjs → Phantom/Phantom.cjs} +7 -9
  10. package/src/Phantom/Phantom.d.ts +9 -0
  11. package/src/{Phantom.js → Phantom/Phantom.js} +7 -9
  12. package/src/Phantom/index.d.ts +1 -0
  13. package/src/{solProviderHelper.cjs → SolProviderHelper/SolProviderHelper.cjs} +17 -16
  14. package/src/{solProviderHelper.d.ts → SolProviderHelper/SolProviderHelper.d.ts} +6 -5
  15. package/src/{solProviderHelper.js → SolProviderHelper/SolProviderHelper.js} +17 -16
  16. package/src/SolProviderHelper/index.d.ts +1 -0
  17. package/src/SolanaWalletConnectors.cjs +21 -0
  18. package/src/SolanaWalletConnectors.d.ts +2 -0
  19. package/src/SolanaWalletConnectors.js +17 -0
  20. package/src/SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.cjs +26 -0
  21. package/src/SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.d.ts +6 -0
  22. package/src/SolanaWalletConnectorsWithConfig/SolanaWalletConnectorsWithConfig.js +22 -0
  23. package/src/SolanaWalletConnectorsWithConfig/index.d.ts +1 -0
  24. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.cjs +2 -2
  25. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.d.ts +3 -3
  26. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.js +3 -3
  27. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs +2 -2
  28. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.d.ts +2 -2
  29. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js +1 -1
  30. package/src/{Solflare.cjs → Solflare/Solflare.cjs} +9 -10
  31. package/src/{Solflare.d.ts → Solflare/Solflare.d.ts} +1 -3
  32. package/src/{Solflare.js → Solflare/Solflare.js} +9 -10
  33. package/src/Solflare/index.d.ts +1 -0
  34. package/src/index.cjs +19 -18
  35. package/src/index.d.ts +7 -5
  36. package/src/index.js +9 -17
  37. package/src/injected/BackpackSol.cjs +3 -5
  38. package/src/injected/BackpackSol.d.ts +0 -2
  39. package/src/injected/BackpackSol.js +3 -5
  40. package/src/injected/FallbackSolanaConnector.cjs +2 -4
  41. package/src/injected/FallbackSolanaConnector.d.ts +0 -2
  42. package/src/injected/FallbackSolanaConnector.js +2 -4
  43. package/src/injected/InjectedWalletBase.cjs +21 -25
  44. package/src/injected/InjectedWalletBase.d.ts +6 -8
  45. package/src/injected/InjectedWalletBase.js +22 -26
  46. package/src/injected/PhantomInjected.cjs +3 -5
  47. package/src/injected/PhantomInjected.d.ts +0 -2
  48. package/src/injected/PhantomInjected.js +3 -5
  49. package/src/injected/fetchInjectedWalletConnectors.cjs +4 -5
  50. package/src/injected/fetchInjectedWalletConnectors.js +4 -5
  51. package/src/injected/index.d.ts +0 -1
  52. package/src/phantomRedirect/{PhantomRedirect.cjs → PhantomRedirect/PhantomRedirect.cjs} +28 -25
  53. package/src/phantomRedirect/{PhantomRedirect.d.ts → PhantomRedirect/PhantomRedirect.d.ts} +3 -3
  54. package/src/phantomRedirect/{PhantomRedirect.js → PhantomRedirect/PhantomRedirect.js} +10 -7
  55. package/src/phantomRedirect/PhantomRedirect/index.d.ts +1 -0
  56. package/src/phantomRedirect/buildUrl/buildUrl.cjs +8 -0
  57. package/src/phantomRedirect/buildUrl/buildUrl.d.ts +1 -0
  58. package/src/phantomRedirect/buildUrl/buildUrl.js +4 -0
  59. package/src/phantomRedirect/buildUrl/index.d.ts +1 -0
  60. package/src/phantomRedirect/decryptPayload/decryptPayload.cjs +34 -0
  61. package/src/phantomRedirect/decryptPayload/decryptPayload.d.ts +1 -0
  62. package/src/phantomRedirect/decryptPayload/decryptPayload.js +25 -0
  63. package/src/phantomRedirect/decryptPayload/index.d.ts +1 -0
  64. package/src/phantomRedirect/encryptPayload/encryptPayload.cjs +18 -0
  65. package/src/phantomRedirect/encryptPayload/encryptPayload.d.ts +1 -0
  66. package/src/phantomRedirect/encryptPayload/encryptPayload.js +10 -0
  67. package/src/phantomRedirect/encryptPayload/index.d.ts +1 -0
  68. package/src/phantomRedirect/fetchCluster/fetchCluster.cjs +33 -0
  69. package/src/phantomRedirect/fetchCluster/fetchCluster.d.ts +1 -0
  70. package/src/phantomRedirect/fetchCluster/fetchCluster.js +29 -0
  71. package/src/phantomRedirect/fetchCluster/index.d.ts +1 -0
  72. package/src/phantomRedirect/storage/index.d.ts +1 -0
  73. package/src/phantomRedirect/{storage.d.ts → storage/storage.d.ts} +1 -1
  74. package/src/utils/logger.cjs +10 -0
  75. package/src/utils/logger.d.ts +2 -0
  76. package/src/utils/logger.js +6 -0
  77. package/src/Phantom.d.ts +0 -12
  78. package/src/injected/UnknownInjected.cjs +0 -21
  79. package/src/injected/UnknownInjected.d.ts +0 -8
  80. package/src/injected/UnknownInjected.js +0 -17
  81. package/src/phantomRedirect/utils.cjs +0 -56
  82. package/src/phantomRedirect/utils.d.ts +0 -4
  83. package/src/phantomRedirect/utils.js +0 -44
  84. /package/src/phantomRedirect/{storage.cjs → storage/storage.cjs} +0 -0
  85. /package/src/phantomRedirect/{storage.js → storage/storage.js} +0 -0
@@ -3,21 +3,22 @@
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
+ var walletBook = require('@dynamic-labs/wallet-book');
8
9
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
- var isSignedMessage = require('./utils/isSignedMessage.cjs');
10
- var findWalletProviderFromWalletStandard = require('./utils/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.cjs');
10
+ var findWalletProviderFromWalletStandard = require('../utils/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.cjs');
11
+ var isSignedMessage = require('../utils/isSignedMessage.cjs');
11
12
 
12
13
  class SolProviderHelper {
13
- constructor(wallet) {
14
- this.wallet = wallet;
14
+ constructor(connector) {
15
+ this.walletBookWallet = walletBook.findWalletBookWallet(connector.walletBook, connector.key);
16
+ this.connector = connector;
15
17
  }
16
18
  getInjectedConfig() {
17
- if (!this.wallet || !this.wallet.injectedConfig)
18
- return;
19
- const { injectedConfig } = this.wallet;
20
- return injectedConfig.find((c) => c.chain === 'sol');
19
+ var _a;
20
+ const injectedConfig = (_a = this.walletBookWallet) === null || _a === void 0 ? void 0 : _a.injectedConfig;
21
+ return injectedConfig === null || injectedConfig === void 0 ? void 0 : injectedConfig.find((c) => c.chain === this.connector.connectedChain.toLowerCase());
21
22
  }
22
23
  getInstalledProvider() {
23
24
  const config = this.getInjectedConfig();
@@ -68,7 +69,7 @@ class SolProviderHelper {
68
69
  return walletConnectorCore.ProviderLookup(allInstalledProviders, extensionLocators);
69
70
  }
70
71
  findProvider() {
71
- return this.getInstalledProvider();
72
+ return this.connector.findProvider();
72
73
  }
73
74
  isInstalledHelper() {
74
75
  return this.findProvider() !== undefined;
@@ -132,23 +133,23 @@ class SolProviderHelper {
132
133
  }
133
134
  });
134
135
  }
135
- _setupEventListeners(walletConnector) {
136
+ _setupEventListeners() {
136
137
  const provider = this.findProvider();
137
138
  if (!provider) {
138
139
  walletConnectorCore.logger.warn('Provider not found', {
139
- connector: walletConnector,
140
+ connector: this.connector,
140
141
  });
141
142
  return;
142
143
  }
143
- if (!('on' in provider)) {
144
+ if (!provider.on) {
144
145
  walletConnectorCore.logger.warn('Provider does not support event listeners', {
145
- connector: walletConnector,
146
+ connector: this.connector,
146
147
  provider,
147
148
  });
148
149
  return;
149
150
  }
150
- provider.on('accountChanged', (publicKey) => this.handleAccountChange(walletConnector, provider, publicKey));
151
- provider.on('disconnect', () => walletConnector.emit('disconnect'));
151
+ provider.on('accountChanged', (publicKey) => this.handleAccountChange(this.connector, provider, publicKey));
152
+ provider.on('disconnect', () => this.connector.emit('disconnect'));
152
153
  }
153
154
  _teardownEventListeners() {
154
155
  const provider = this.findProvider();
@@ -1,9 +1,10 @@
1
- import { WalletSchema } from '@dynamic-labs/wallet-book';
1
+ import { ExtensionLocator, ISolana } from '@dynamic-labs/solana-core';
2
2
  import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
- import { ISolana, ExtensionLocator as ExtensionLocator } from '@dynamic-labs/solana-core';
3
+ import { InjectedWalletBase } from '../injected/InjectedWalletBase';
4
4
  export declare class SolProviderHelper {
5
- private wallet;
6
- constructor(wallet: WalletSchema);
5
+ private walletBookWallet;
6
+ private connector;
7
+ constructor(connector: InjectedWalletBase);
7
8
  getInjectedConfig(): {
8
9
  chain: string;
9
10
  extensionLocators: {
@@ -31,7 +32,7 @@ export declare class SolProviderHelper {
31
32
  connect(): Promise<ISolana | undefined>;
32
33
  signMessage(messageToSign: string): Promise<string | undefined>;
33
34
  handleAccountChange(walletConnector: WalletConnector, web3Provider: ISolana, address: string): Promise<void>;
34
- _setupEventListeners(walletConnector: WalletConnector): void;
35
+ _setupEventListeners(): void;
35
36
  _teardownEventListeners(): void;
36
37
  getConnectedAccounts(): Promise<string[]>;
37
38
  }
@@ -1,19 +1,20 @@
1
1
  'use client'
2
- import { __awaiter } from '../_virtual/_tslib.js';
2
+ import { __awaiter } from '../../_virtual/_tslib.js';
3
3
  import { getProvidersFromWindow, bufferToBase64 } from '@dynamic-labs/utils';
4
+ import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
4
5
  import { ProviderLookup, logger } from '@dynamic-labs/wallet-connector-core';
5
- import { isSignedMessage } from './utils/isSignedMessage.js';
6
- import { findWalletProviderFromWalletStandard } from './utils/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.js';
6
+ import { findWalletProviderFromWalletStandard } from '../utils/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.js';
7
+ import { isSignedMessage } from '../utils/isSignedMessage.js';
7
8
 
8
9
  class SolProviderHelper {
9
- constructor(wallet) {
10
- this.wallet = wallet;
10
+ constructor(connector) {
11
+ this.walletBookWallet = findWalletBookWallet(connector.walletBook, connector.key);
12
+ this.connector = connector;
11
13
  }
12
14
  getInjectedConfig() {
13
- if (!this.wallet || !this.wallet.injectedConfig)
14
- return;
15
- const { injectedConfig } = this.wallet;
16
- return injectedConfig.find((c) => c.chain === 'sol');
15
+ var _a;
16
+ const injectedConfig = (_a = this.walletBookWallet) === null || _a === void 0 ? void 0 : _a.injectedConfig;
17
+ return injectedConfig === null || injectedConfig === void 0 ? void 0 : injectedConfig.find((c) => c.chain === this.connector.connectedChain.toLowerCase());
17
18
  }
18
19
  getInstalledProvider() {
19
20
  const config = this.getInjectedConfig();
@@ -64,7 +65,7 @@ class SolProviderHelper {
64
65
  return ProviderLookup(allInstalledProviders, extensionLocators);
65
66
  }
66
67
  findProvider() {
67
- return this.getInstalledProvider();
68
+ return this.connector.findProvider();
68
69
  }
69
70
  isInstalledHelper() {
70
71
  return this.findProvider() !== undefined;
@@ -128,23 +129,23 @@ class SolProviderHelper {
128
129
  }
129
130
  });
130
131
  }
131
- _setupEventListeners(walletConnector) {
132
+ _setupEventListeners() {
132
133
  const provider = this.findProvider();
133
134
  if (!provider) {
134
135
  logger.warn('Provider not found', {
135
- connector: walletConnector,
136
+ connector: this.connector,
136
137
  });
137
138
  return;
138
139
  }
139
- if (!('on' in provider)) {
140
+ if (!provider.on) {
140
141
  logger.warn('Provider does not support event listeners', {
141
- connector: walletConnector,
142
+ connector: this.connector,
142
143
  provider,
143
144
  });
144
145
  return;
145
146
  }
146
- provider.on('accountChanged', (publicKey) => this.handleAccountChange(walletConnector, provider, publicKey));
147
- provider.on('disconnect', () => walletConnector.emit('disconnect'));
147
+ provider.on('accountChanged', (publicKey) => this.handleAccountChange(this.connector, provider, publicKey));
148
+ provider.on('disconnect', () => this.connector.emit('disconnect'));
148
149
  }
149
150
  _teardownEventListeners() {
150
151
  const provider = this.findProvider();
@@ -0,0 +1 @@
1
+ export * from './SolProviderHelper';
@@ -0,0 +1,21 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var embeddedWalletSolana = require('@dynamic-labs/embedded-wallet-solana');
7
+ var Phantom = require('./Phantom/Phantom.cjs');
8
+ var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
9
+ var FallbackSolanaConnector = require('./injected/FallbackSolanaConnector.cjs');
10
+
11
+ const SolanaWalletConnectors = (
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ props) => [
14
+ ...fetchInjectedWalletConnectors.injectedWalletOverrides,
15
+ ...fetchInjectedWalletConnectors.fetchInjectedWalletConnectors(props),
16
+ ...embeddedWalletSolana.TurnkeySolanaWalletConnectors(props),
17
+ Phantom.Phantom,
18
+ FallbackSolanaConnector.FallbackSolanaConnector,
19
+ ];
20
+
21
+ exports.SolanaWalletConnectors = SolanaWalletConnectors;
@@ -0,0 +1,2 @@
1
+ import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
2
+ export declare const SolanaWalletConnectors: (props: any) => WalletConnectorConstructor[];
@@ -0,0 +1,17 @@
1
+ 'use client'
2
+ import { TurnkeySolanaWalletConnectors } from '@dynamic-labs/embedded-wallet-solana';
3
+ import { Phantom } from './Phantom/Phantom.js';
4
+ import { injectedWalletOverrides, fetchInjectedWalletConnectors } from './injected/fetchInjectedWalletConnectors.js';
5
+ import { FallbackSolanaConnector } from './injected/FallbackSolanaConnector.js';
6
+
7
+ const SolanaWalletConnectors = (
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ props) => [
10
+ ...injectedWalletOverrides,
11
+ ...fetchInjectedWalletConnectors(props),
12
+ ...TurnkeySolanaWalletConnectors(props),
13
+ Phantom,
14
+ FallbackSolanaConnector,
15
+ ];
16
+
17
+ export { SolanaWalletConnectors };
@@ -0,0 +1,26 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var SolanaWalletConnectors = require('../SolanaWalletConnectors.cjs');
7
+
8
+ /**
9
+ * Allows passing in Solana connection configuration to all wallet connectors.
10
+ */
11
+ const SolanaWalletConnectorsWithConfig = (connectionConfig) => {
12
+ // Idea here is to ensure that all wallet connectors are constructed with
13
+ // the client-provided connection configuration, so we "wrap" the constructors with it.
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ const classWithConfig = (className) => class extends className {
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ constructor(...args) {
18
+ const [opts] = args;
19
+ super(Object.assign(Object.assign({}, opts), { connectionConfig }));
20
+ }
21
+ };
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ return (props) => SolanaWalletConnectors.SolanaWalletConnectors(props).map(classWithConfig);
24
+ };
25
+
26
+ exports.SolanaWalletConnectorsWithConfig = SolanaWalletConnectorsWithConfig;
@@ -0,0 +1,6 @@
1
+ import { ConnectionConfig } from '@solana/web3.js';
2
+ import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
3
+ /**
4
+ * Allows passing in Solana connection configuration to all wallet connectors.
5
+ */
6
+ export declare const SolanaWalletConnectorsWithConfig: (connectionConfig: ConnectionConfig) => (props: any) => WalletConnectorConstructor[];
@@ -0,0 +1,22 @@
1
+ 'use client'
2
+ import { SolanaWalletConnectors } from '../SolanaWalletConnectors.js';
3
+
4
+ /**
5
+ * Allows passing in Solana connection configuration to all wallet connectors.
6
+ */
7
+ const SolanaWalletConnectorsWithConfig = (connectionConfig) => {
8
+ // Idea here is to ensure that all wallet connectors are constructed with
9
+ // the client-provided connection configuration, so we "wrap" the constructors with it.
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ const classWithConfig = (className) => class extends className {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ constructor(...args) {
14
+ const [opts] = args;
15
+ super(Object.assign(Object.assign({}, opts), { connectionConfig }));
16
+ }
17
+ };
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ return (props) => SolanaWalletConnectors(props).map(classWithConfig);
20
+ };
21
+
22
+ export { SolanaWalletConnectorsWithConfig };
@@ -0,0 +1 @@
1
+ export * from './SolanaWalletConnectorsWithConfig';
@@ -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,33 +3,32 @@
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
- var walletBook = require('@dynamic-labs/wallet-book');
9
- var InjectedWalletBase = require('./injected/InjectedWalletBase.cjs');
8
+ var InjectedWalletBase = require('../injected/InjectedWalletBase.cjs');
10
9
 
11
10
  class Solflare extends InjectedWalletBase.InjectedWalletBase {
12
- constructor(opts) {
13
- super(opts);
11
+ constructor() {
12
+ super(...arguments);
14
13
  this.name = 'Solflare';
15
14
  this.overrideKey = 'solflare';
16
- this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
17
15
  }
18
16
  getAddress() {
19
17
  return _tslib.__awaiter(this, void 0, void 0, function* () {
20
- var _a, _b, _c, _d, _e;
18
+ var _a, _b;
21
19
  /**
22
20
  * It should redirect to in-app browser if on mobile and if not in the in-app browser,
23
21
  * this checks if it is not in the in-app browser by checking if the provider is not available.
24
22
  */
25
23
  if (utils.isMobile() && !this.isInstalledOnBrowser()) {
24
+ const mobileDeepLinks = (_a = this.metadata.deepLinks) === null || _a === void 0 ? void 0 : _a.mobile;
26
25
  utils.handleMobileWalletRedirect({
27
- nativeLink: ((_b = (_a = this.wallet) === null || _a === void 0 ? void 0 : _a.mobile) === null || _b === void 0 ? void 0 : _b.native) || 'solflare://ul/v1/browse',
28
- universalLink: ((_d = (_c = this.wallet) === null || _c === void 0 ? void 0 : _c.mobile) === null || _d === void 0 ? void 0 : _d.universal) || 'https://solflare.com/ul/v1/browse',
26
+ nativeLink: (mobileDeepLinks === null || mobileDeepLinks === void 0 ? void 0 : mobileDeepLinks.native) || 'solflare://ul/v1/browse',
27
+ universalLink: (mobileDeepLinks === null || mobileDeepLinks === void 0 ? void 0 : mobileDeepLinks.universal) || 'https://solflare.com/ul/v1/browse',
29
28
  });
30
29
  return;
31
30
  }
32
- return (_e = this.getSolProviderHelper()) === null || _e === void 0 ? void 0 : _e.getAddress();
31
+ return (_b = this.solProviderHelper) === null || _b === void 0 ? void 0 : _b.getAddress();
33
32
  });
34
33
  }
35
34
  signMessage(messageToSign) {
@@ -1,9 +1,7 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
- import { InjectedWalletBase } from './injected/InjectedWalletBase';
1
+ import { InjectedWalletBase } from '../injected/InjectedWalletBase';
3
2
  export declare class Solflare extends InjectedWalletBase {
4
3
  name: string;
5
4
  overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
7
5
  getAddress(): Promise<string | undefined>;
8
6
  signMessage(messageToSign: string): Promise<string | undefined>;
9
7
  }
@@ -1,31 +1,30 @@
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
- import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
5
- import { InjectedWalletBase } from './injected/InjectedWalletBase.js';
4
+ import { InjectedWalletBase } from '../injected/InjectedWalletBase.js';
6
5
 
7
6
  class Solflare extends InjectedWalletBase {
8
- constructor(opts) {
9
- super(opts);
7
+ constructor() {
8
+ super(...arguments);
10
9
  this.name = 'Solflare';
11
10
  this.overrideKey = 'solflare';
12
- this.wallet = findWalletBookWallet(this.walletBook, this.key);
13
11
  }
14
12
  getAddress() {
15
13
  return __awaiter(this, void 0, void 0, function* () {
16
- var _a, _b, _c, _d, _e;
14
+ var _a, _b;
17
15
  /**
18
16
  * It should redirect to in-app browser if on mobile and if not in the in-app browser,
19
17
  * this checks if it is not in the in-app browser by checking if the provider is not available.
20
18
  */
21
19
  if (isMobile() && !this.isInstalledOnBrowser()) {
20
+ const mobileDeepLinks = (_a = this.metadata.deepLinks) === null || _a === void 0 ? void 0 : _a.mobile;
22
21
  handleMobileWalletRedirect({
23
- nativeLink: ((_b = (_a = this.wallet) === null || _a === void 0 ? void 0 : _a.mobile) === null || _b === void 0 ? void 0 : _b.native) || 'solflare://ul/v1/browse',
24
- universalLink: ((_d = (_c = this.wallet) === null || _c === void 0 ? void 0 : _c.mobile) === null || _d === void 0 ? void 0 : _d.universal) || 'https://solflare.com/ul/v1/browse',
22
+ nativeLink: (mobileDeepLinks === null || mobileDeepLinks === void 0 ? void 0 : mobileDeepLinks.native) || 'solflare://ul/v1/browse',
23
+ universalLink: (mobileDeepLinks === null || mobileDeepLinks === void 0 ? void 0 : mobileDeepLinks.universal) || 'https://solflare.com/ul/v1/browse',
25
24
  });
26
25
  return;
27
26
  }
28
- return (_e = this.getSolProviderHelper()) === null || _e === void 0 ? void 0 : _e.getAddress();
27
+ return (_b = this.solProviderHelper) === null || _b === void 0 ? void 0 : _b.getAddress();
29
28
  });
30
29
  }
31
30
  signMessage(messageToSign) {
@@ -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);
@@ -5,20 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../_virtual/_tslib.cjs');
7
7
  var utils = require('@dynamic-labs/utils');
8
- var walletBook = require('@dynamic-labs/wallet-book');
9
8
  var InjectedWalletBase = require('./InjectedWalletBase.cjs');
10
9
 
11
10
  class BackpackSol extends InjectedWalletBase.InjectedWalletBase {
12
- constructor(opts) {
13
- super(opts);
11
+ constructor() {
12
+ super(...arguments);
14
13
  this.name = 'Backpack';
15
14
  this.overrideKey = 'backpacksol';
16
- this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
17
15
  }
18
16
  getSigner() {
19
17
  return _tslib.__awaiter(this, void 0, void 0, function* () {
20
18
  var _a;
21
- return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
19
+ return (_a = this.solProviderHelper) === null || _a === void 0 ? void 0 : _a.connect();
22
20
  });
23
21
  }
24
22
  signMessage(messageToSign) {
@@ -1,9 +1,7 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
1
  import { InjectedWalletBase } from './InjectedWalletBase';
3
2
  export declare class BackpackSol extends InjectedWalletBase {
4
3
  name: string;
5
4
  overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
7
5
  getSigner<IBackpackSolanaSigner>(): Promise<IBackpackSolanaSigner | undefined>;
8
6
  signMessage(messageToSign: string): Promise<string | undefined>;
9
7
  }
@@ -1,20 +1,18 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../_virtual/_tslib.js';
3
3
  import { bufferToBase64 } from '@dynamic-labs/utils';
4
- import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
5
4
  import { InjectedWalletBase } from './InjectedWalletBase.js';
6
5
 
7
6
  class BackpackSol extends InjectedWalletBase {
8
- constructor(opts) {
9
- super(opts);
7
+ constructor() {
8
+ super(...arguments);
10
9
  this.name = 'Backpack';
11
10
  this.overrideKey = 'backpacksol';
12
- this.wallet = findWalletBookWallet(this.walletBook, this.key);
13
11
  }
14
12
  getSigner() {
15
13
  return __awaiter(this, void 0, void 0, function* () {
16
14
  var _a;
17
- return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
15
+ return (_a = this.solProviderHelper) === null || _a === void 0 ? void 0 : _a.connect();
18
16
  });
19
17
  }
20
18
  signMessage(messageToSign) {