@dynamic-labs/solana 4.0.0-alpha.9 → 4.0.1

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 (77) hide show
  1. package/CHANGELOG.md +496 -1
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/{CoinbaseSolana.cjs → CoinbaseSolana/CoinbaseSolana.cjs} +6 -9
  6. package/src/{CoinbaseSolana.d.ts → CoinbaseSolana/CoinbaseSolana.d.ts} +1 -3
  7. package/src/{CoinbaseSolana.js → CoinbaseSolana/CoinbaseSolana.js} +6 -9
  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} +33 -22
  14. package/src/{solProviderHelper.d.ts → SolProviderHelper/SolProviderHelper.d.ts} +6 -5
  15. package/src/{solProviderHelper.js → SolProviderHelper/SolProviderHelper.js} +33 -22
  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/{Solflare.cjs → Solflare/Solflare.cjs} +9 -10
  25. package/src/{Solflare.d.ts → Solflare/Solflare.d.ts} +1 -3
  26. package/src/{Solflare.js → Solflare/Solflare.js} +9 -10
  27. package/src/Solflare/index.d.ts +1 -0
  28. package/src/index.cjs +16 -18
  29. package/src/index.d.ts +7 -5
  30. package/src/index.js +6 -17
  31. package/src/injected/{BackpackSol.cjs → BackpackSol/BackpackSol.cjs} +5 -7
  32. package/src/injected/{BackpackSol.d.ts → BackpackSol/BackpackSol.d.ts} +1 -3
  33. package/src/injected/{BackpackSol.js → BackpackSol/BackpackSol.js} +5 -7
  34. package/src/injected/BackpackSol/index.d.ts +1 -0
  35. package/src/injected/{FallbackSolanaConnector.cjs → FallbackSolanaConnector/FallbackSolanaConnector.cjs} +3 -5
  36. package/src/injected/{FallbackSolanaConnector.d.ts → FallbackSolanaConnector/FallbackSolanaConnector.d.ts} +1 -3
  37. package/src/injected/{FallbackSolanaConnector.js → FallbackSolanaConnector/FallbackSolanaConnector.js} +3 -5
  38. package/src/injected/FallbackSolanaConnector/index.d.ts +1 -0
  39. package/src/injected/{InjectedWalletBase.cjs → InjectedWalletBase/InjectedWalletBase.cjs} +23 -27
  40. package/src/injected/{InjectedWalletBase.d.ts → InjectedWalletBase/InjectedWalletBase.d.ts} +6 -8
  41. package/src/injected/{InjectedWalletBase.js → InjectedWalletBase/InjectedWalletBase.js} +24 -28
  42. package/src/injected/InjectedWalletBase/index.d.ts +1 -0
  43. package/src/injected/{PhantomInjected.cjs → PhantomInjected/PhantomInjected.cjs} +5 -7
  44. package/src/injected/{PhantomInjected.d.ts → PhantomInjected/PhantomInjected.d.ts} +1 -3
  45. package/src/injected/{PhantomInjected.js → PhantomInjected/PhantomInjected.js} +5 -7
  46. package/src/injected/PhantomInjected/index.d.ts +1 -0
  47. package/src/injected/fetchInjectedWalletConnectors.cjs +55 -27
  48. package/src/injected/fetchInjectedWalletConnectors.js +55 -27
  49. package/src/injected/index.d.ts +0 -1
  50. package/src/{SolanaWalletStandardConnector/utils → injected/walletStandard}/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs +70 -19
  51. package/src/injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.d.ts +4 -0
  52. package/src/{SolanaWalletStandardConnector/utils → injected/walletStandard}/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js +70 -19
  53. package/src/injected/walletStandard/getConnectorConstructorForWalletStandardWallet/getConnectorConstructorForWalletStandardWallet.cjs +29 -0
  54. package/src/injected/walletStandard/getConnectorConstructorForWalletStandardWallet/getConnectorConstructorForWalletStandardWallet.d.ts +3 -0
  55. package/src/injected/walletStandard/getConnectorConstructorForWalletStandardWallet/getConnectorConstructorForWalletStandardWallet.js +25 -0
  56. package/src/injected/walletStandard/getConnectorConstructorForWalletStandardWallet/index.d.ts +1 -0
  57. package/src/injected/walletStandard/getWalletStandardWallets/getWalletStandardWallets.cjs +10 -0
  58. package/src/injected/walletStandard/getWalletStandardWallets/getWalletStandardWallets.d.ts +1 -0
  59. package/src/injected/walletStandard/getWalletStandardWallets/getWalletStandardWallets.js +6 -0
  60. package/src/injected/walletStandard/getWalletStandardWallets/index.d.ts +1 -0
  61. package/src/phantomRedirect/PhantomRedirect/PhantomRedirect.cjs +1 -1
  62. package/src/phantomRedirect/PhantomRedirect/PhantomRedirect.d.ts +2 -2
  63. package/src/phantomRedirect/PhantomRedirect/PhantomRedirect.js +2 -2
  64. package/src/Phantom.d.ts +0 -12
  65. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.cjs +0 -100
  66. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.d.ts +0 -20
  67. package/src/SolanaWalletStandardConnector/SolanaWalletStandardConnector.js +0 -96
  68. package/src/SolanaWalletStandardConnector/index.d.ts +0 -1
  69. package/src/SolanaWalletStandardConnector/utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.d.ts +0 -3
  70. package/src/injected/UnknownInjected.cjs +0 -21
  71. package/src/injected/UnknownInjected.d.ts +0 -8
  72. package/src/injected/UnknownInjected.js +0 -17
  73. /package/src/{SolanaWalletStandardConnector/utils → injected/walletStandard}/createSolanaSignerFromWalletStandard/index.d.ts +0 -0
  74. /package/src/{utils → injected/walletStandard}/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.cjs +0 -0
  75. /package/src/{utils → injected/walletStandard}/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.d.ts +0 -0
  76. /package/src/{utils → injected/walletStandard}/findWalletProviderFromWalletStandard/findWalletProviderFromWalletStandard.js +0 -0
  77. /package/src/{utils → injected/walletStandard}/findWalletProviderFromWalletStandard/index.d.ts +0 -0
@@ -1,20 +0,0 @@
1
- import { Wallet } from '@wallet-standard/base';
2
- import { StandardConnectFeature, StandardDisconnectFeature } from '@wallet-standard/features';
3
- import { Chain } from '@dynamic-labs/wallet-connector-core';
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 {
7
- connectedChain: Chain;
8
- supportedChains: Chain[];
9
- constructor(props: SolWalletConnectorOpts);
10
- get wallet(): Wallet;
11
- get walletFeatures(): StandardConnectFeature & StandardDisconnectFeature;
12
- connect(): Promise<void>;
13
- endSession(): Promise<void>;
14
- isInstalledOnBrowser(): boolean;
15
- getAddress(): Promise<string | undefined>;
16
- getConnectedAccounts(): Promise<string[]>;
17
- signMessage(messageToSign: string): Promise<string | undefined>;
18
- getSigner(): Promise<ISolana | undefined>;
19
- static getWallet(walletBook: WalletBookSchema, walletKey: string): Wallet | undefined;
20
- }
@@ -1,96 +0,0 @@
1
- 'use client'
2
- import { __awaiter } from '../../_virtual/_tslib.js';
3
- import { getWallets } from '@wallet-standard/app';
4
- import { SolWalletConnector } from '@dynamic-labs/solana-core';
5
- import { createSolanaSignerFromWalletStandard } from './utils/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js';
6
-
7
- const encoder = new TextEncoder();
8
- class SolanaWalletStandardConnector extends SolWalletConnector {
9
- constructor(props) {
10
- super(props);
11
- this.connectedChain = 'SOL';
12
- this.supportedChains = ['SOL'];
13
- }
14
- get wallet() {
15
- const walletStandard = SolanaWalletStandardConnector.getWallet(this.walletBook, this.key);
16
- if (!walletStandard) {
17
- throw new Error('Wallet not found');
18
- }
19
- return walletStandard;
20
- }
21
- get walletFeatures() {
22
- return this.wallet.features;
23
- }
24
- connect() {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- yield this.walletFeatures['standard:connect'].connect();
27
- });
28
- }
29
- endSession() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- yield this.walletFeatures['standard:disconnect'].disconnect();
32
- });
33
- }
34
- isInstalledOnBrowser() {
35
- return true;
36
- }
37
- getAddress() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- yield this.connect();
40
- const [address] = yield this.getConnectedAccounts();
41
- return address;
42
- });
43
- }
44
- getConnectedAccounts() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const addresses = this.wallet.accounts.map((account) => account.address);
47
- return addresses;
48
- });
49
- }
50
- signMessage(messageToSign) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const signer = yield this.getSigner();
53
- if (!signer) {
54
- throw new Error('Signer not found');
55
- }
56
- const message = encoder.encode(messageToSign);
57
- const { signature } = yield signer.signMessage(message);
58
- if (!(signature instanceof Uint8Array)) {
59
- throw new Error('Signature not found');
60
- }
61
- return Buffer.from(signature).toString('base64');
62
- });
63
- }
64
- getSigner() {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- const { wallet } = this;
67
- return createSolanaSignerFromWalletStandard(wallet, this);
68
- });
69
- }
70
- static getWallet(walletBook, walletKey) {
71
- var _a, _b;
72
- const wallets = getWallets().get();
73
- const injectedConfig = (_a = walletBook.wallets[walletKey].injectedConfig) === null || _a === void 0 ? void 0 : _a.find((config) => config.chain === 'sol');
74
- if (!injectedConfig)
75
- return;
76
- const { features } = (_b = injectedConfig.walletStandard) !== null && _b !== void 0 ? _b : {};
77
- if (!features)
78
- return;
79
- const wallet = wallets.find((wallet) => {
80
- var _a;
81
- const isNameMatch = wallet.name === ((_a = injectedConfig.walletStandard) === null || _a === void 0 ? void 0 : _a.name);
82
- if (!isNameMatch)
83
- return false;
84
- const hasFeatures = features.reduce((hasAllFeatures, key) => {
85
- const walletFeatures = Object.keys(wallet.features);
86
- if (!hasAllFeatures)
87
- return false;
88
- return walletFeatures.includes(key);
89
- }, true);
90
- return hasFeatures;
91
- });
92
- return wallet;
93
- }
94
- }
95
-
96
- export { SolanaWalletStandardConnector };
@@ -1 +0,0 @@
1
- export { SolanaWalletStandardConnector } from './SolanaWalletStandardConnector';
@@ -1,3 +0,0 @@
1
- import { Wallet } from '@wallet-standard/base';
2
- import { ISolana, SolWalletConnector } from '@dynamic-labs/solana-core';
3
- export declare const createSolanaSignerFromWalletStandard: (wallet: Wallet, walletConnector: SolWalletConnector) => ISolana;
@@ -1,21 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var walletBook = require('@dynamic-labs/wallet-book');
7
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
8
-
9
- class UnknownInjected extends InjectedWalletBase.InjectedWalletBase {
10
- constructor(opts) {
11
- super(opts);
12
- this.name = 'Unknown';
13
- this.overrideKey = 'unknown';
14
- this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
15
- }
16
- isInstalledOnBrowser() {
17
- return false;
18
- }
19
- }
20
-
21
- exports.UnknownInjected = UnknownInjected;
@@ -1,8 +0,0 @@
1
- import { SolWalletConnectorOpts } from '@dynamic-labs/solana-core';
2
- import { InjectedWalletBase } from './InjectedWalletBase';
3
- export declare class UnknownInjected extends InjectedWalletBase {
4
- name: string;
5
- overrideKey: string;
6
- constructor(opts: SolWalletConnectorOpts);
7
- isInstalledOnBrowser(): boolean;
8
- }
@@ -1,17 +0,0 @@
1
- 'use client'
2
- import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
3
- import { InjectedWalletBase } from './InjectedWalletBase.js';
4
-
5
- class UnknownInjected extends InjectedWalletBase {
6
- constructor(opts) {
7
- super(opts);
8
- this.name = 'Unknown';
9
- this.overrideKey = 'unknown';
10
- this.wallet = findWalletBookWallet(this.walletBook, this.key);
11
- }
12
- isInstalledOnBrowser() {
13
- return false;
14
- }
15
- }
16
-
17
- export { UnknownInjected };