@dynamic-labs/solana 1.1.0-alpha.10 → 1.1.0-alpha.12

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 (44) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/package.json +6 -6
  3. package/src/CoinbaseSolana.cjs +9 -33
  4. package/src/CoinbaseSolana.d.ts +5 -10
  5. package/src/CoinbaseSolana.js +9 -33
  6. package/src/Solflare.d.ts +4 -9
  7. package/src/index.cjs +3 -15
  8. package/src/index.d.ts +1 -4
  9. package/src/index.js +3 -13
  10. package/src/injected/BackpackSol.cjs +6 -21
  11. package/src/injected/BackpackSol.d.ts +3 -5
  12. package/src/injected/BackpackSol.js +6 -21
  13. package/src/injected/InjectedWalletBase.cjs +20 -16
  14. package/src/injected/InjectedWalletBase.d.ts +7 -2
  15. package/src/injected/InjectedWalletBase.js +20 -16
  16. package/src/injected/Phantom.cjs +4 -2
  17. package/src/injected/Phantom.d.ts +2 -0
  18. package/src/injected/Phantom.js +4 -2
  19. package/src/injected/PhantomLedger.cjs +4 -2
  20. package/src/injected/PhantomLedger.d.ts +2 -0
  21. package/src/injected/PhantomLedger.js +4 -2
  22. package/src/injected/fetchInjectedWalletConnectors.cjs +50 -0
  23. package/src/injected/fetchInjectedWalletConnectors.d.ts +6 -0
  24. package/src/injected/fetchInjectedWalletConnectors.js +45 -0
  25. package/src/injected/index.d.ts +1 -2
  26. package/src/solProviderHelper.cjs +99 -114
  27. package/src/solProviderHelper.d.ts +28 -29
  28. package/src/solProviderHelper.js +99 -114
  29. package/src/Glow.cjs +0 -50
  30. package/src/Glow.d.ts +0 -12
  31. package/src/Glow.js +0 -46
  32. package/src/Solflare.cjs +0 -83
  33. package/src/Solflare.js +0 -79
  34. package/src/injected/BraveSol.cjs +0 -21
  35. package/src/injected/BraveSol.d.ts +0 -5
  36. package/src/injected/BraveSol.js +0 -17
  37. package/src/injected/ExodusSol.cjs +0 -14
  38. package/src/injected/ExodusSol.d.ts +0 -4
  39. package/src/injected/ExodusSol.js +0 -10
  40. package/src/injected/MagicEdenSol.cjs +0 -14
  41. package/src/injected/MagicEdenSol.d.ts +0 -4
  42. package/src/injected/MagicEdenSol.js +0 -10
  43. package/src/injected/index.cjs +0 -21
  44. package/src/injected/index.js +0 -17
package/CHANGELOG.md CHANGED
@@ -1,4 +1,37 @@
1
1
 
2
+ ## [1.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.11...v1.1.0-alpha.12) (2024-01-18)
3
+
4
+
5
+ ### Features
6
+
7
+ * expose setAuthMode method ([#4419](https://github.com/dynamic-labs/DynamicAuth/issues/4419)) ([7d156b3](https://github.com/dynamic-labs/DynamicAuth/commit/7d156b3e0eab9b9a80f70ff1c5201d90693ae755))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * call onUnlinkSuccess in headless mode too ([#4412](https://github.com/dynamic-labs/DynamicAuth/issues/4412)) ([4c76af9](https://github.com/dynamic-labs/DynamicAuth/commit/4c76af9ac7c7b43883742d1289558dfcb5d612ca))
13
+ * correctly map keplr chain ids from project settings ([#4418](https://github.com/dynamic-labs/DynamicAuth/issues/4418)) ([7046364](https://github.com/dynamic-labs/DynamicAuth/commit/7046364a316f7551f0b995eaae7afea13502eb9b))
14
+ * logging in with an email linked to a third party wallet gets stuck on otp view ([#4407](https://github.com/dynamic-labs/DynamicAuth/issues/4407)) ([35bf142](https://github.com/dynamic-labs/DynamicAuth/commit/35bf142e74efeef866dbd7b8157a049cd36eeccb))
15
+
16
+ ## [1.1.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.10...v1.1.0-alpha.11) (2024-01-17)
17
+
18
+
19
+ ### Features
20
+
21
+ * add Leather wallet and BtcKit connector ([#4335](https://github.com/dynamic-labs/DynamicAuth/issues/4335)) ([fe3316b](https://github.com/dynamic-labs/DynamicAuth/commit/fe3316b5be9ef17eea885e99cf925ccd0f271da7))
22
+ * add solana injected wallet configuration to walletbook ([#4375](https://github.com/dynamic-labs/DynamicAuth/issues/4375)) ([3677ce5](https://github.com/dynamic-labs/DynamicAuth/commit/3677ce5ff40d0c00bfaf0daa0d5d67bc40706ee0))
23
+ * add support for unisat wallet ([#4355](https://github.com/dynamic-labs/DynamicAuth/issues/4355)) ([5b7d6b0](https://github.com/dynamic-labs/DynamicAuth/commit/5b7d6b0a9ea84811a8252b3cdf30a3a8e410180c))
24
+ * add walletbook configurations for solana injected wallets ([#4360](https://github.com/dynamic-labs/DynamicAuth/issues/4360)) ([cdc8e5f](https://github.com/dynamic-labs/DynamicAuth/commit/cdc8e5f4878cb84e26e5b33299aa8547b84b6667))
25
+ * passkey renaming frontend ([#4331](https://github.com/dynamic-labs/DynamicAuth/issues/4331)) ([4551013](https://github.com/dynamic-labs/DynamicAuth/commit/4551013d577c914cb3aedfe458ab9eaa018aceb4))
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * correctly update wallets connected flag after wallet switch ([#4397](https://github.com/dynamic-labs/DynamicAuth/issues/4397)) ([543a830](https://github.com/dynamic-labs/DynamicAuth/commit/543a830574f0d5a78fedbb9b18233e8dfbaddd86))
31
+ * export modal header ([#4401](https://github.com/dynamic-labs/DynamicAuth/issues/4401)) ([77cf016](https://github.com/dynamic-labs/DynamicAuth/commit/77cf016fc742458988864647870149a56e991ee4))
32
+ * trigger onAuthSuccess before embedded wallet creation ([4aa341a](https://github.com/dynamic-labs/DynamicAuth/commit/4aa341a1d08332a121daddb7c2dcb09a804a4de7))
33
+ * ui issues on react 17 ([#4373](https://github.com/dynamic-labs/DynamicAuth/issues/4373)) ([93096d6](https://github.com/dynamic-labs/DynamicAuth/commit/93096d6017816a4f0ed299bf618b130d90c81514))
34
+
2
35
  ## [1.1.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.9...v1.1.0-alpha.10) (2024-01-06)
3
36
 
4
37
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/solana",
3
- "version": "1.1.0-alpha.10",
3
+ "version": "1.1.0-alpha.12",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -27,11 +27,11 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@solana/web3.js": "1.70.1",
30
- "@dynamic-labs/rpc-providers": "1.1.0-alpha.10",
31
- "@dynamic-labs/types": "1.1.0-alpha.10",
32
- "@dynamic-labs/utils": "1.1.0-alpha.10",
33
- "@dynamic-labs/wallet-book": "1.1.0-alpha.10",
34
- "@dynamic-labs/wallet-connector-core": "1.1.0-alpha.10",
30
+ "@dynamic-labs/rpc-providers": "1.1.0-alpha.12",
31
+ "@dynamic-labs/types": "1.1.0-alpha.12",
32
+ "@dynamic-labs/utils": "1.1.0-alpha.12",
33
+ "@dynamic-labs/wallet-book": "1.1.0-alpha.12",
34
+ "@dynamic-labs/wallet-connector-core": "1.1.0-alpha.12",
35
35
  "eventemitter3": "5.0.1"
36
36
  },
37
37
  "peerDependencies": {}
@@ -4,43 +4,24 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../_virtual/_tslib.cjs');
6
6
  var utils = require('@dynamic-labs/utils');
7
- var solWalletConnector = require('./solWalletConnector.cjs');
8
- var solProviderHelper = require('./solProviderHelper.cjs');
7
+ var walletBook = require('@dynamic-labs/wallet-book');
8
+ var InjectedWalletBase = require('./injected/InjectedWalletBase.cjs');
9
9
  require('@solana/web3.js');
10
10
  require('@dynamic-labs/wallet-connector-core');
11
+ require('@dynamic-labs/rpc-providers');
11
12
  require('./injected/PhantomLedger.cjs');
12
13
  var isSignedMessage = require('./utils/isSignedMessage.cjs');
13
14
 
14
- class CoinbaseSolana extends solWalletConnector.SolWalletConnector {
15
- constructor() {
16
- super(...arguments);
15
+ class CoinbaseSolana extends InjectedWalletBase.InjectedWalletBase {
16
+ constructor(opts) {
17
+ super(opts);
17
18
  this.name = 'CoinbaseSolana';
18
- }
19
- setupEventListeners() {
20
- solProviderHelper.SolProviderHelper._setupEventListeners(this, solProviderHelper.SolProviderHelper.findProvider(this.key));
21
- }
22
- teardownEventListeners() {
23
- solProviderHelper.SolProviderHelper._teardownEventListeners(this.key);
24
- }
25
- connect() {
26
- return _tslib.__awaiter(this, void 0, void 0, function* () {
27
- yield solProviderHelper.SolProviderHelper.connectWithKey(this.key);
28
- });
19
+ this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
29
20
  }
30
21
  getSigner() {
22
+ var _a;
31
23
  return _tslib.__awaiter(this, void 0, void 0, function* () {
32
- return solProviderHelper.SolProviderHelper.connectWithKey(this.key);
33
- });
34
- }
35
- isInstalledOnBrowser() {
36
- return solProviderHelper.SolProviderHelper.isInstalledHelper(this.key);
37
- }
38
- fetchPublicAddress() {
39
- return _tslib.__awaiter(this, void 0, void 0, function* () {
40
- if (this.isInstalledOnBrowser()) {
41
- return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
42
- }
43
- return;
24
+ return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
44
25
  });
45
26
  }
46
27
  signMessage(messageToSign) {
@@ -61,11 +42,6 @@ class CoinbaseSolana extends solWalletConnector.SolWalletConnector {
61
42
  return utils.bufferToBase64(isSignedMessage.isSignedMessage(signedMessage) ? signedMessage.signature : signedMessage);
62
43
  });
63
44
  }
64
- getConnectedAccounts() {
65
- return _tslib.__awaiter(this, void 0, void 0, function* () {
66
- return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
67
- });
68
- }
69
45
  }
70
46
 
71
47
  exports.CoinbaseSolana = CoinbaseSolana;
@@ -1,13 +1,8 @@
1
- import { SolWalletConnector } from './solWalletConnector';
2
- import { ICoinbaseSolanaSigner } from './types';
3
- export declare class CoinbaseSolana extends SolWalletConnector {
1
+ import { SolWalletConnectorOpts } from './solWalletConnector';
2
+ import { InjectedWalletBase } from './injected/InjectedWalletBase';
3
+ export declare class CoinbaseSolana extends InjectedWalletBase {
4
4
  name: string;
5
- setupEventListeners(): void;
6
- teardownEventListeners(): void;
7
- connect(): Promise<void>;
8
- getSigner(): Promise<ICoinbaseSolanaSigner | undefined>;
9
- isInstalledOnBrowser(): boolean;
10
- fetchPublicAddress(): Promise<string | undefined>;
5
+ constructor(opts: SolWalletConnectorOpts);
6
+ getSigner<ICoinbaseSolanaSigner>(): Promise<ICoinbaseSolanaSigner | undefined>;
11
7
  signMessage(messageToSign: string): Promise<string | undefined>;
12
- getConnectedAccounts(): Promise<string[]>;
13
8
  }
@@ -1,42 +1,23 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { bufferToBase64 } from '@dynamic-labs/utils';
3
- import { SolWalletConnector } from './solWalletConnector.js';
4
- import { SolProviderHelper } from './solProviderHelper.js';
3
+ import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
4
+ import { InjectedWalletBase } from './injected/InjectedWalletBase.js';
5
5
  import '@solana/web3.js';
6
6
  import '@dynamic-labs/wallet-connector-core';
7
+ import '@dynamic-labs/rpc-providers';
7
8
  import './injected/PhantomLedger.js';
8
9
  import { isSignedMessage } from './utils/isSignedMessage.js';
9
10
 
10
- class CoinbaseSolana extends SolWalletConnector {
11
- constructor() {
12
- super(...arguments);
11
+ class CoinbaseSolana extends InjectedWalletBase {
12
+ constructor(opts) {
13
+ super(opts);
13
14
  this.name = 'CoinbaseSolana';
14
- }
15
- setupEventListeners() {
16
- SolProviderHelper._setupEventListeners(this, SolProviderHelper.findProvider(this.key));
17
- }
18
- teardownEventListeners() {
19
- SolProviderHelper._teardownEventListeners(this.key);
20
- }
21
- connect() {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- yield SolProviderHelper.connectWithKey(this.key);
24
- });
15
+ this.wallet = findWalletBookWallet(this.walletBook, this.key);
25
16
  }
26
17
  getSigner() {
18
+ var _a;
27
19
  return __awaiter(this, void 0, void 0, function* () {
28
- return SolProviderHelper.connectWithKey(this.key);
29
- });
30
- }
31
- isInstalledOnBrowser() {
32
- return SolProviderHelper.isInstalledHelper(this.key);
33
- }
34
- fetchPublicAddress() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- if (this.isInstalledOnBrowser()) {
37
- return SolProviderHelper.fetchPublicAddressWithKey(this.key);
38
- }
39
- return;
20
+ return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
40
21
  });
41
22
  }
42
23
  signMessage(messageToSign) {
@@ -57,11 +38,6 @@ class CoinbaseSolana extends SolWalletConnector {
57
38
  return bufferToBase64(isSignedMessage(signedMessage) ? signedMessage.signature : signedMessage);
58
39
  });
59
40
  }
60
- getConnectedAccounts() {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- return SolProviderHelper.getConnectedAccountsWithKey(this.key);
63
- });
64
- }
65
41
  }
66
42
 
67
43
  export { CoinbaseSolana };
package/src/Solflare.d.ts CHANGED
@@ -1,13 +1,8 @@
1
- import { SolWalletConnector } from './solWalletConnector';
2
- import { ISolana } from './types';
3
- export declare class Solflare extends SolWalletConnector {
1
+ import { InjectedWalletBase } from './injected/InjectedWalletBase';
2
+ import { SolWalletConnectorOpts } from './solWalletConnector';
3
+ export declare class Solflare extends InjectedWalletBase {
4
4
  name: string;
5
- isInstalledOnBrowser(): boolean;
5
+ constructor(opts: SolWalletConnectorOpts);
6
6
  fetchPublicAddress(): Promise<string | undefined>;
7
- connect(): Promise<void>;
8
- getSigner(): Promise<ISolana | undefined>;
9
7
  signMessage(messageToSign: string): Promise<string | undefined>;
10
- getConnectedAccounts(): Promise<string[]>;
11
- setupEventListeners(): void;
12
- teardownEventListeners(): void;
13
8
  }
package/src/index.cjs CHANGED
@@ -2,28 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var CoinbaseSolana = require('./CoinbaseSolana.cjs');
6
- var Glow = require('./Glow.cjs');
7
- var Slope = require('./Slope.cjs');
8
- var Solflare = require('./Solflare.cjs');
9
- var index = require('./injected/index.cjs');
10
- var solWalletConnector = require('./solWalletConnector.cjs');
11
- var solProviderHelper = require('./solProviderHelper.cjs');
5
+ var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
12
6
  var isSignedMessage = require('./utils/isSignedMessage.cjs');
13
7
  var isBackpackSolanaSigner = require('./utils/isBackpackSolanaSigner.cjs');
14
8
 
15
9
  /* eslint-disable @typescript-eslint/no-unused-vars */
16
10
  const SolanaWalletConnectors = (props) => [
17
- ...index.injectedWallets,
18
- CoinbaseSolana.CoinbaseSolana,
19
- Glow.Glow,
20
- Slope.Slope,
21
- Solflare.Solflare,
11
+ ...fetchInjectedWalletConnectors.injectedWalletOverrides,
12
+ ...fetchInjectedWalletConnectors.fetchInjectedWalletConnectors(props),
22
13
  ];
23
14
 
24
- exports.Solflare = Solflare.Solflare;
25
- exports.SolWalletConnector = solWalletConnector.SolWalletConnector;
26
- exports.SolProviderHelper = solProviderHelper.SolProviderHelper;
27
15
  exports.isSignedMessage = isSignedMessage.isSignedMessage;
28
16
  exports.isBackpackSolanaSigner = isBackpackSolanaSigner.isBackpackSolanaSigner;
29
17
  exports.SolanaWalletConnectors = SolanaWalletConnectors;
package/src/index.d.ts CHANGED
@@ -1,7 +1,4 @@
1
- export * from './solWalletConnector';
2
- export * from './solProviderHelper';
3
- export * from './Solflare';
4
- export declare const SolanaWalletConnectors: (props: any) => typeof import("./injected/BraveSol").BraveSol[];
1
+ export declare const SolanaWalletConnectors: (props: any) => import("dist/packages/wallet-connector-core/src").WalletConnectorConstructor[];
5
2
  export { isSignedMessage } from './utils/isSignedMessage';
6
3
  export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner';
7
4
  export type { ISolana, IBackpackSolanaSigner, ICoinbaseSolanaSigner, SignedMessage, ISolanaSigner, } from './types';
package/src/index.js CHANGED
@@ -1,21 +1,11 @@
1
- import { CoinbaseSolana } from './CoinbaseSolana.js';
2
- import { Glow } from './Glow.js';
3
- import { Slope } from './Slope.js';
4
- import { Solflare } from './Solflare.js';
5
- export { Solflare } from './Solflare.js';
6
- import { injectedWallets } from './injected/index.js';
7
- export { SolWalletConnector } from './solWalletConnector.js';
8
- export { SolProviderHelper } from './solProviderHelper.js';
1
+ import { injectedWalletOverrides, fetchInjectedWalletConnectors } from './injected/fetchInjectedWalletConnectors.js';
9
2
  export { isSignedMessage } from './utils/isSignedMessage.js';
10
3
  export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner.js';
11
4
 
12
5
  /* eslint-disable @typescript-eslint/no-unused-vars */
13
6
  const SolanaWalletConnectors = (props) => [
14
- ...injectedWallets,
15
- CoinbaseSolana,
16
- Glow,
17
- Slope,
18
- Solflare,
7
+ ...injectedWalletOverrides,
8
+ ...fetchInjectedWalletConnectors(props),
19
9
  ];
20
10
 
21
11
  export { SolanaWalletConnectors };
@@ -4,29 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../../_virtual/_tslib.cjs');
6
6
  var utils = require('@dynamic-labs/utils');
7
- var solProviderHelper = require('../solProviderHelper.cjs');
7
+ var walletBook = require('@dynamic-labs/wallet-book');
8
8
  var InjectedWalletBase = require('./InjectedWalletBase.cjs');
9
9
 
10
10
  class BackpackSol extends InjectedWalletBase.InjectedWalletBase {
11
- constructor() {
12
- super(...arguments);
11
+ constructor(opts) {
12
+ super(opts);
13
13
  this.name = 'BackpackSol';
14
- }
15
- setupEventListeners() {
16
- const web3Provider = solProviderHelper.SolProviderHelper.findProvider(this.key);
17
- if (!web3Provider)
18
- return;
19
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('activeWalletDidChange', (publicKey) => solProviderHelper.SolProviderHelper.handleAccountChange(this, web3Provider, publicKey));
20
- solProviderHelper.SolProviderHelper._setupEventListeners(this, web3Provider);
21
- }
22
- fetchPublicAddress() {
23
- return _tslib.__awaiter(this, void 0, void 0, function* () {
24
- return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
25
- });
14
+ this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
26
15
  }
27
16
  getSigner() {
17
+ var _a;
28
18
  return _tslib.__awaiter(this, void 0, void 0, function* () {
29
- return solProviderHelper.SolProviderHelper.connectWithKey(this.key);
19
+ return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
30
20
  });
31
21
  }
32
22
  signMessage(messageToSign) {
@@ -46,11 +36,6 @@ class BackpackSol extends InjectedWalletBase.InjectedWalletBase {
46
36
  return utils.bufferToBase64(signedMessage);
47
37
  });
48
38
  }
49
- getConnectedAccounts() {
50
- return _tslib.__awaiter(this, void 0, void 0, function* () {
51
- return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
52
- });
53
- }
54
39
  }
55
40
 
56
41
  exports.BackpackSol = BackpackSol;
@@ -1,10 +1,8 @@
1
- import { IBackpackSolanaSigner } from '../types';
1
+ import { SolWalletConnectorOpts } from '../solWalletConnector';
2
2
  import { InjectedWalletBase } from './InjectedWalletBase';
3
3
  export declare class BackpackSol extends InjectedWalletBase {
4
4
  name: string;
5
- setupEventListeners(): void;
6
- fetchPublicAddress(): Promise<string | undefined>;
7
- getSigner(): Promise<IBackpackSolanaSigner | undefined>;
5
+ constructor(opts: SolWalletConnectorOpts);
6
+ getSigner<IBackpackSolanaSigner>(): Promise<IBackpackSolanaSigner | undefined>;
8
7
  signMessage(messageToSign: string): Promise<string | undefined>;
9
- getConnectedAccounts(): Promise<string[]>;
10
8
  }
@@ -1,28 +1,18 @@
1
1
  import { __awaiter } from '../../_virtual/_tslib.js';
2
2
  import { bufferToBase64 } from '@dynamic-labs/utils';
3
- import { SolProviderHelper } from '../solProviderHelper.js';
3
+ import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
4
4
  import { InjectedWalletBase } from './InjectedWalletBase.js';
5
5
 
6
6
  class BackpackSol extends InjectedWalletBase {
7
- constructor() {
8
- super(...arguments);
7
+ constructor(opts) {
8
+ super(opts);
9
9
  this.name = 'BackpackSol';
10
- }
11
- setupEventListeners() {
12
- const web3Provider = SolProviderHelper.findProvider(this.key);
13
- if (!web3Provider)
14
- return;
15
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('activeWalletDidChange', (publicKey) => SolProviderHelper.handleAccountChange(this, web3Provider, publicKey));
16
- SolProviderHelper._setupEventListeners(this, web3Provider);
17
- }
18
- fetchPublicAddress() {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- return SolProviderHelper.fetchPublicAddressWithKey(this.key);
21
- });
10
+ this.wallet = findWalletBookWallet(this.walletBook, this.key);
22
11
  }
23
12
  getSigner() {
13
+ var _a;
24
14
  return __awaiter(this, void 0, void 0, function* () {
25
- return SolProviderHelper.connectWithKey(this.key);
15
+ return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
26
16
  });
27
17
  }
28
18
  signMessage(messageToSign) {
@@ -42,11 +32,6 @@ class BackpackSol extends InjectedWalletBase {
42
32
  return bufferToBase64(signedMessage);
43
33
  });
44
34
  }
45
- getConnectedAccounts() {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- return SolProviderHelper.getConnectedAccountsWithKey(this.key);
48
- });
49
- }
50
35
  }
51
36
 
52
37
  export { BackpackSol };
@@ -3,51 +3,55 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../../_virtual/_tslib.cjs');
6
- var solWalletConnector = require('../solWalletConnector.cjs');
6
+ var walletBook = require('@dynamic-labs/wallet-book');
7
7
  var solProviderHelper = require('../solProviderHelper.cjs');
8
+ var solWalletConnector = require('../solWalletConnector.cjs');
8
9
 
9
10
  class InjectedWalletBase extends solWalletConnector.SolWalletConnector {
11
+ getSolProviderHelper() {
12
+ if (!this.wallet) {
13
+ this.wallet = walletBook.getWalletBookWallet(this.walletBook, this.key);
14
+ }
15
+ if (!this.solProviderHelper) {
16
+ this.solProviderHelper = new solProviderHelper.SolProviderHelper(this.wallet);
17
+ }
18
+ // adding the forced typing below to avoid having to null check in other methods
19
+ return this.solProviderHelper;
20
+ }
10
21
  setupEventListeners() {
11
- solProviderHelper.SolProviderHelper._setupEventListeners(this, solProviderHelper.SolProviderHelper.findProvider(this.key));
22
+ this.getSolProviderHelper()._setupEventListeners(this);
12
23
  }
13
24
  teardownEventListeners() {
14
- solProviderHelper.SolProviderHelper._teardownEventListeners(this.key);
25
+ this.getSolProviderHelper()._teardownEventListeners();
15
26
  }
16
27
  connect() {
17
28
  return _tslib.__awaiter(this, void 0, void 0, function* () {
18
- yield solProviderHelper.SolProviderHelper.connectWithKey(this.key);
29
+ yield this.getSolProviderHelper().connect();
19
30
  });
20
31
  }
21
32
  getSigner() {
22
33
  return _tslib.__awaiter(this, void 0, void 0, function* () {
23
- return solProviderHelper.SolProviderHelper.connectWithKey(this.key);
34
+ return this.getSolProviderHelper().connect();
24
35
  });
25
36
  }
26
37
  isInstalledOnBrowser() {
27
- var _a;
28
- /**
29
- * When Glow wallet is installed and Phantom isn't, isPhantom will
30
- * still be true. This added check is to return false in that scenario.
31
- * It relies on the fact that if both Glow and Phantom are enabled,
32
- * solana.isGlow will return false.
33
- */
34
- return (solProviderHelper.SolProviderHelper.isInstalledHelper(this.key) && !((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
38
+ return this.getSolProviderHelper().isInstalledHelper();
35
39
  }
36
40
  fetchPublicAddress() {
37
41
  return _tslib.__awaiter(this, void 0, void 0, function* () {
38
42
  if (!this.isInstalledOnBrowser())
39
43
  return;
40
- return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
44
+ return this.getSolProviderHelper().fetchPublicAddress();
41
45
  });
42
46
  }
43
47
  signMessage(messageToSign) {
44
48
  return _tslib.__awaiter(this, void 0, void 0, function* () {
45
- return solProviderHelper.SolProviderHelper.signMessageWithKey(messageToSign, this.key);
49
+ return this.getSolProviderHelper().signMessage(messageToSign);
46
50
  });
47
51
  }
48
52
  getConnectedAccounts() {
49
53
  return _tslib.__awaiter(this, void 0, void 0, function* () {
50
- return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
54
+ return this.getSolProviderHelper().getConnectedAccounts();
51
55
  });
52
56
  }
53
57
  }
@@ -1,10 +1,15 @@
1
- import { SolWalletConnector } from '../solWalletConnector';
1
+ import { WalletSchema } from '@dynamic-labs/wallet-book';
2
2
  import { ISolana } from '../types';
3
+ import { SolProviderHelper } from '../solProviderHelper';
4
+ import { SolWalletConnector } from '../solWalletConnector';
3
5
  export declare abstract class InjectedWalletBase extends SolWalletConnector {
6
+ solProviderHelper: SolProviderHelper | undefined;
7
+ wallet: WalletSchema | undefined;
8
+ getSolProviderHelper(): SolProviderHelper;
4
9
  setupEventListeners(): void;
5
10
  teardownEventListeners(): void;
6
11
  connect(): Promise<void>;
7
- getSigner(): Promise<ISolana | undefined>;
12
+ getSigner<T = ISolana>(): Promise<T | undefined>;
8
13
  isInstalledOnBrowser(): boolean;
9
14
  fetchPublicAddress(): Promise<string | undefined>;
10
15
  signMessage(messageToSign: string): Promise<string | undefined>;
@@ -1,49 +1,53 @@
1
1
  import { __awaiter } from '../../_virtual/_tslib.js';
2
- import { SolWalletConnector } from '../solWalletConnector.js';
2
+ import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
3
3
  import { SolProviderHelper } from '../solProviderHelper.js';
4
+ import { SolWalletConnector } from '../solWalletConnector.js';
4
5
 
5
6
  class InjectedWalletBase extends SolWalletConnector {
7
+ getSolProviderHelper() {
8
+ if (!this.wallet) {
9
+ this.wallet = getWalletBookWallet(this.walletBook, this.key);
10
+ }
11
+ if (!this.solProviderHelper) {
12
+ this.solProviderHelper = new SolProviderHelper(this.wallet);
13
+ }
14
+ // adding the forced typing below to avoid having to null check in other methods
15
+ return this.solProviderHelper;
16
+ }
6
17
  setupEventListeners() {
7
- SolProviderHelper._setupEventListeners(this, SolProviderHelper.findProvider(this.key));
18
+ this.getSolProviderHelper()._setupEventListeners(this);
8
19
  }
9
20
  teardownEventListeners() {
10
- SolProviderHelper._teardownEventListeners(this.key);
21
+ this.getSolProviderHelper()._teardownEventListeners();
11
22
  }
12
23
  connect() {
13
24
  return __awaiter(this, void 0, void 0, function* () {
14
- yield SolProviderHelper.connectWithKey(this.key);
25
+ yield this.getSolProviderHelper().connect();
15
26
  });
16
27
  }
17
28
  getSigner() {
18
29
  return __awaiter(this, void 0, void 0, function* () {
19
- return SolProviderHelper.connectWithKey(this.key);
30
+ return this.getSolProviderHelper().connect();
20
31
  });
21
32
  }
22
33
  isInstalledOnBrowser() {
23
- var _a;
24
- /**
25
- * When Glow wallet is installed and Phantom isn't, isPhantom will
26
- * still be true. This added check is to return false in that scenario.
27
- * It relies on the fact that if both Glow and Phantom are enabled,
28
- * solana.isGlow will return false.
29
- */
30
- return (SolProviderHelper.isInstalledHelper(this.key) && !((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
34
+ return this.getSolProviderHelper().isInstalledHelper();
31
35
  }
32
36
  fetchPublicAddress() {
33
37
  return __awaiter(this, void 0, void 0, function* () {
34
38
  if (!this.isInstalledOnBrowser())
35
39
  return;
36
- return SolProviderHelper.fetchPublicAddressWithKey(this.key);
40
+ return this.getSolProviderHelper().fetchPublicAddress();
37
41
  });
38
42
  }
39
43
  signMessage(messageToSign) {
40
44
  return __awaiter(this, void 0, void 0, function* () {
41
- return SolProviderHelper.signMessageWithKey(messageToSign, this.key);
45
+ return this.getSolProviderHelper().signMessage(messageToSign);
42
46
  });
43
47
  }
44
48
  getConnectedAccounts() {
45
49
  return __awaiter(this, void 0, void 0, function* () {
46
- return SolProviderHelper.getConnectedAccountsWithKey(this.key);
50
+ return this.getSolProviderHelper().getConnectedAccounts();
47
51
  });
48
52
  }
49
53
  }
@@ -4,12 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../../_virtual/_tslib.cjs');
6
6
  var utils = require('@dynamic-labs/utils');
7
+ var walletBook = require('@dynamic-labs/wallet-book');
7
8
  var InjectedWalletBase = require('./InjectedWalletBase.cjs');
8
9
 
9
10
  class Phantom extends InjectedWalletBase.InjectedWalletBase {
10
- constructor() {
11
- super(...arguments);
11
+ constructor(opts) {
12
+ super(opts);
12
13
  this.name = 'Phantom';
14
+ this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
13
15
  }
14
16
  fetchPublicAddress() {
15
17
  const _super = Object.create(null, {
@@ -1,5 +1,7 @@
1
+ import { SolWalletConnectorOpts } from '../solWalletConnector';
1
2
  import { InjectedWalletBase } from './InjectedWalletBase';
2
3
  export declare class Phantom extends InjectedWalletBase {
3
4
  name: string;
5
+ constructor(opts: SolWalletConnectorOpts);
4
6
  fetchPublicAddress(): Promise<string | undefined>;
5
7
  }
@@ -1,11 +1,13 @@
1
1
  import { __awaiter } from '../../_virtual/_tslib.js';
2
2
  import { isMobile, handleMobileWalletRedirect } from '@dynamic-labs/utils';
3
+ import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
3
4
  import { InjectedWalletBase } from './InjectedWalletBase.js';
4
5
 
5
6
  class Phantom extends InjectedWalletBase {
6
- constructor() {
7
- super(...arguments);
7
+ constructor(opts) {
8
+ super(opts);
8
9
  this.name = 'Phantom';
10
+ this.wallet = findWalletBookWallet(this.walletBook, this.key);
9
11
  }
10
12
  fetchPublicAddress() {
11
13
  const _super = Object.create(null, {
@@ -6,13 +6,14 @@ var _tslib = require('../../_virtual/_tslib.cjs');
6
6
  var web3_js = require('@solana/web3.js');
7
7
  var utils = require('@dynamic-labs/utils');
8
8
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
+ var walletBook = require('@dynamic-labs/wallet-book');
9
10
  var extractNonce = require('../utils/extractNonce.cjs');
10
11
  var InjectedWalletBase = require('./InjectedWalletBase.cjs');
11
12
 
12
13
  const MEMO_PROGRAM_ID = new web3_js.PublicKey('MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr');
13
14
  class PhantomLedger extends InjectedWalletBase.InjectedWalletBase {
14
- constructor() {
15
- super(...arguments);
15
+ constructor(opts) {
16
+ super(opts);
16
17
  /**
17
18
  * I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
18
19
  * exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
@@ -27,6 +28,7 @@ class PhantomLedger extends InjectedWalletBase.InjectedWalletBase {
27
28
  }));
28
29
  return transaction;
29
30
  };
31
+ this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
30
32
  }
31
33
  signMessage() {
32
34
  return _tslib.__awaiter(this, void 0, void 0, function* () {