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

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 +19 -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
@@ -1,55 +1,79 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
+ import { getProvidersFromWindow, bufferToBase64 } from '@dynamic-labs/utils';
2
3
  import { ProviderLookup } from '@dynamic-labs/wallet-connector-core';
3
- import { bufferToBase64 } from '@dynamic-labs/utils';
4
4
  import { isSignedMessage } from './utils/isSignedMessage.js';
5
5
 
6
- var _a;
7
6
  class SolProviderHelper {
8
- static installedProviderLookup(providerFlags) {
9
- return ProviderLookup(this.allInstalledProviders(), providerFlags);
7
+ constructor(wallet) {
8
+ this.wallet = wallet;
10
9
  }
11
- static allInstalledProviders() {
12
- var _b, _c;
13
- return this.findSolanaProviders(window.solana).concat(this.findSolanaProviders(window.solflare), this.findSolanaProviders(window.glowSolana), this.findSolanaProviders(window.backpack), this.findSolanaProviders((_b = window.phantom) === null || _b === void 0 ? void 0 : _b.solana), this.findSolanaProviders((_c = window.magicEden) === null || _c === void 0 ? void 0 : _c.solana));
10
+ getInjectedConfig() {
11
+ if (!this.wallet || !this.wallet.injectedConfig)
12
+ return;
13
+ const { injectedConfig } = this.wallet;
14
+ return injectedConfig.find((c) => c.chain === 'sol');
14
15
  }
15
- static findSolanaProviders(solana) {
16
- const solanaProviders = [];
17
- if (solana && !solana.providers) {
18
- solanaProviders.push(solana);
16
+ getInstalledProvider() {
17
+ const config = this.getInjectedConfig();
18
+ if (!config || !config.extensionLocators) {
19
+ return undefined;
19
20
  }
20
- else if (solana && solana.providers) {
21
- solana.providers.forEach((provider) => {
22
- solanaProviders.push(provider);
23
- });
21
+ return this.installedProviderLookup(config.extensionLocators);
22
+ }
23
+ installedProviders() {
24
+ const config = this.getInjectedConfig();
25
+ if (!config)
26
+ return [];
27
+ const providers = [];
28
+ if (config.windowLocations) {
29
+ for (const windowLocation of config.windowLocations) {
30
+ const foundProviders = getProvidersFromWindow(windowLocation);
31
+ if (foundProviders && foundProviders.length)
32
+ providers.push(...foundProviders);
33
+ }
34
+ }
35
+ if (window.solana) {
36
+ if (!window.solana.providers) {
37
+ providers.push(window.solana);
38
+ }
39
+ else {
40
+ window.solana.providers.forEach((provider) => providers.push(provider));
41
+ }
24
42
  }
25
- return solanaProviders;
43
+ return providers;
44
+ }
45
+ installedProviderLookup(providerFlags) {
46
+ const allInstalledProviders = this.installedProviders();
47
+ // If no provider flags are provided, return the first provider
48
+ // This is required for the coinbaseSolana window provider which has no locators
49
+ if (providerFlags.length === 0)
50
+ return allInstalledProviders[0];
51
+ return ProviderLookup(allInstalledProviders, providerFlags);
26
52
  }
27
- static isInstalledHelper(walletKey) {
28
- return this.findProvider(walletKey) !== undefined;
53
+ findProvider() {
54
+ return this.getInstalledProvider();
29
55
  }
30
- static findProvider(walletKey) {
31
- var _b, _c;
32
- return (_c = (_b = this.providers)[walletKey]) === null || _c === void 0 ? void 0 : _c.call(_b);
56
+ isInstalledHelper() {
57
+ return this.findProvider() !== undefined;
33
58
  }
34
- static fetchPublicAddressWithKey(key) {
59
+ fetchPublicAddress() {
60
+ var _a;
35
61
  return __awaiter(this, void 0, void 0, function* () {
36
- const provider = this.findProvider(key);
62
+ const provider = this.findProvider();
37
63
  if (!provider) {
38
- return Promise.resolve(undefined);
64
+ return undefined;
39
65
  }
40
66
  if (!provider.isConnected) {
41
67
  yield provider.connect();
42
68
  }
43
- const { publicKey } = provider;
44
- return publicKey ? publicKey.toString() : Promise.resolve(undefined);
69
+ return (_a = provider.publicKey) === null || _a === void 0 ? void 0 : _a.toString();
45
70
  });
46
71
  }
47
- static connectWithKey(key) {
72
+ connect() {
48
73
  return __awaiter(this, void 0, void 0, function* () {
49
- const provider = this.findProvider(key);
50
- if (!provider) {
51
- return Promise.resolve(undefined);
52
- }
74
+ const provider = this.findProvider();
75
+ if (!provider)
76
+ return undefined;
53
77
  try {
54
78
  if (!provider.isConnected) {
55
79
  yield provider.connect();
@@ -61,116 +85,77 @@ class SolProviderHelper {
61
85
  }
62
86
  });
63
87
  }
64
- static signMessageWithKey(messageToSign, key) {
88
+ signMessage(messageToSign) {
65
89
  return __awaiter(this, void 0, void 0, function* () {
66
- const walletAddress = yield this.fetchPublicAddressWithKey(key);
67
- if (!walletAddress) {
68
- return Promise.resolve(undefined);
69
- }
70
- const provider = this.findProvider(key);
71
- if (!provider) {
72
- return Promise.resolve(undefined);
73
- }
90
+ const walletAddress = yield this.fetchPublicAddress();
91
+ if (!walletAddress)
92
+ return undefined;
93
+ const provider = this.findProvider();
94
+ if (!provider)
95
+ return undefined;
74
96
  if (!provider.isConnected) {
75
97
  yield provider.connect();
76
98
  }
77
99
  const encodedMessage = new TextEncoder().encode(messageToSign);
78
100
  const signedMessage = yield provider.signMessage(encodedMessage, 'utf8');
79
- if (!signedMessage) {
80
- return Promise.resolve(undefined);
81
- }
101
+ if (!signedMessage)
102
+ return undefined;
82
103
  return bufferToBase64(isSignedMessage(signedMessage) ? signedMessage.signature : signedMessage);
83
104
  });
84
105
  }
85
- static _setupEventListeners(walletConnector, web3Provider) {
86
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('accountChanged', (publicKey) => this.handleAccountChange(walletConnector, web3Provider, publicKey));
87
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('disconnect', () => walletConnector.emit('disconnect'));
106
+ handleAccountChange(walletConnector, web3Provider, address) {
107
+ var _a;
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ if (!address) {
110
+ yield (web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.connect());
111
+ if ((_a = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _a === void 0 ? void 0 : _a.toString()) {
112
+ walletConnector.emit('accountChange', {
113
+ accounts: [web3Provider.publicKey.toString()],
114
+ });
115
+ }
116
+ return;
117
+ }
118
+ if (address.toString()) {
119
+ walletConnector.emit('accountChange', { accounts: [address.toString()] });
120
+ }
121
+ });
122
+ }
123
+ _setupEventListeners(walletConnector) {
124
+ const provider = this.findProvider();
125
+ provider === null || provider === void 0 ? void 0 : provider.on('accountChanged', (publicKey) => this.handleAccountChange(walletConnector, provider, publicKey));
126
+ provider === null || provider === void 0 ? void 0 : provider.on('disconnect', () => walletConnector.emit('disconnect'));
88
127
  }
89
- static _teardownEventListeners(key) {
90
- const web3Provider = this.findProvider(key);
91
- if (!web3Provider) {
128
+ _teardownEventListeners() {
129
+ const provider = this.findProvider();
130
+ if (!provider)
92
131
  return;
93
- }
94
- web3Provider.removeAllListeners();
132
+ provider.removeAllListeners();
95
133
  }
96
- static getConnectedAccountsWithKey(key) {
97
- var _b, _c;
134
+ getConnectedAccounts() {
135
+ var _a, _b;
98
136
  return __awaiter(this, void 0, void 0, function* () {
99
- const provider = this.findProvider(key);
100
- if (!provider) {
137
+ const provider = this.findProvider();
138
+ if (!provider)
101
139
  return [];
102
- }
103
140
  let connectionResult;
104
141
  try {
105
142
  if (!provider.isConnected) {
106
- connectionResult = yield provider.connect({
107
- onlyIfTrusted: true,
108
- });
143
+ connectionResult = yield provider.connect({ onlyIfTrusted: true });
109
144
  }
110
145
  }
111
146
  catch (e) {
112
147
  return [];
113
148
  }
114
149
  const address = connectionResult === null || connectionResult === void 0 ? void 0 : connectionResult.address;
115
- // Solflare does not return the address or public key on connect
116
- const publicKey = (_b = connectionResult === null || connectionResult === void 0 ? void 0 : connectionResult.publicKey) !== null && _b !== void 0 ? _b : (_c = provider.publicKey) === null || _c === void 0 ? void 0 : _c.toString();
117
- if (address) {
150
+ const publicKey = (_a = connectionResult === null || connectionResult === void 0 ? void 0 : connectionResult.publicKey) !== null && _a !== void 0 ? _a : (_b = provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString();
151
+ if (address)
118
152
  return [address];
119
- }
120
- else if (publicKey) {
121
- return [publicKey.toString()];
122
- }
123
- else {
153
+ else if (publicKey)
154
+ return [publicKey === null || publicKey === void 0 ? void 0 : publicKey.toString()];
155
+ else
124
156
  return [];
125
- }
126
157
  });
127
158
  }
128
159
  }
129
- _a = SolProviderHelper;
130
- SolProviderHelper.GlowProvider = () => _a.installedProviderLookup([{ flag: 'isGlow', value: true }]);
131
- SolProviderHelper.CoinbaseProvider = () => _a.findSolanaProviders(window.coinbaseSolana)[0];
132
- SolProviderHelper.PhantomProvider = () => _a.installedProviderLookup([
133
- { flag: 'isPhantom', value: true },
134
- { flag: 'isBraveWallet', value: false },
135
- { flag: 'isExodus', value: false },
136
- { flag: 'isMagicEden', value: false },
137
- ]);
138
- SolProviderHelper.MagicEdenProvider = () => _a.installedProviderLookup([{ flag: 'isMagicEden', value: true }]);
139
- SolProviderHelper.SolflareProvider = () => _a.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
140
- SolProviderHelper.BraveProvider = () => _a.installedProviderLookup([
141
- { flag: 'isPhantom', value: true },
142
- { flag: 'isBraveWallet', value: true },
143
- ]);
144
- SolProviderHelper.ExodusProvider = () => _a.installedProviderLookup([
145
- { flag: 'isPhantom', value: true },
146
- { flag: 'isExodus', value: true },
147
- ]);
148
- SolProviderHelper.BackpackSol = () => _a.installedProviderLookup([{ flag: 'isBackpack', value: true }]);
149
- SolProviderHelper.providers = {
150
- backpacksol: _a.BackpackSol,
151
- bravesol: _a.BraveProvider,
152
- coinbasesolana: _a.CoinbaseProvider,
153
- exodussol: _a.ExodusProvider,
154
- glow: _a.GlowProvider,
155
- magicedensol: _a.MagicEdenProvider,
156
- phantom: _a.PhantomProvider,
157
- phantomledger: _a.PhantomProvider,
158
- solflare: _a.SolflareProvider,
159
- };
160
- SolProviderHelper.handleAccountChange = (walletConnector, web3Provider, address) => __awaiter(void 0, void 0, void 0, function* () {
161
- var _b;
162
- if (!address) {
163
- yield (web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.connect());
164
- if ((_b = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString()) {
165
- walletConnector.emit('accountChange', {
166
- accounts: [web3Provider.publicKey.toString()],
167
- });
168
- }
169
- return;
170
- }
171
- if (address.toString()) {
172
- walletConnector.emit('accountChange', { accounts: [address.toString()] });
173
- }
174
- });
175
160
 
176
161
  export { SolProviderHelper };
package/src/Glow.cjs DELETED
@@ -1,50 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _tslib = require('../_virtual/_tslib.cjs');
6
- var solWalletConnector = require('./solWalletConnector.cjs');
7
- var solProviderHelper = require('./solProviderHelper.cjs');
8
-
9
- class Glow extends solWalletConnector.SolWalletConnector {
10
- constructor() {
11
- super(...arguments);
12
- this.name = 'Glow';
13
- }
14
- setupEventListeners() {
15
- solProviderHelper.SolProviderHelper._setupEventListeners(this, solProviderHelper.SolProviderHelper.findProvider(this.key));
16
- }
17
- teardownEventListeners() {
18
- solProviderHelper.SolProviderHelper._teardownEventListeners(this.key);
19
- }
20
- connect() {
21
- return _tslib.__awaiter(this, void 0, void 0, function* () {
22
- yield solProviderHelper.SolProviderHelper.connectWithKey(this.key);
23
- });
24
- }
25
- getSigner() {
26
- return _tslib.__awaiter(this, void 0, void 0, function* () {
27
- return solProviderHelper.SolProviderHelper.connectWithKey(this.key);
28
- });
29
- }
30
- isInstalledOnBrowser() {
31
- return solProviderHelper.SolProviderHelper.isInstalledHelper(this.key);
32
- }
33
- fetchPublicAddress() {
34
- return _tslib.__awaiter(this, void 0, void 0, function* () {
35
- return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
36
- });
37
- }
38
- signMessage(messageToSign) {
39
- return _tslib.__awaiter(this, void 0, void 0, function* () {
40
- return solProviderHelper.SolProviderHelper.signMessageWithKey(messageToSign, this.key);
41
- });
42
- }
43
- getConnectedAccounts() {
44
- return _tslib.__awaiter(this, void 0, void 0, function* () {
45
- return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
46
- });
47
- }
48
- }
49
-
50
- exports.Glow = Glow;
package/src/Glow.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { SolWalletConnector } from './solWalletConnector';
2
- export declare class Glow extends SolWalletConnector {
3
- name: string;
4
- setupEventListeners(): void;
5
- teardownEventListeners(): void;
6
- connect(): Promise<void>;
7
- getSigner(): Promise<import("./types").ISolana | undefined>;
8
- isInstalledOnBrowser(): boolean;
9
- fetchPublicAddress(): Promise<string | undefined>;
10
- signMessage(messageToSign: string): Promise<string | undefined>;
11
- getConnectedAccounts(): Promise<string[]>;
12
- }
package/src/Glow.js DELETED
@@ -1,46 +0,0 @@
1
- import { __awaiter } from '../_virtual/_tslib.js';
2
- import { SolWalletConnector } from './solWalletConnector.js';
3
- import { SolProviderHelper } from './solProviderHelper.js';
4
-
5
- class Glow extends SolWalletConnector {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'Glow';
9
- }
10
- setupEventListeners() {
11
- SolProviderHelper._setupEventListeners(this, SolProviderHelper.findProvider(this.key));
12
- }
13
- teardownEventListeners() {
14
- SolProviderHelper._teardownEventListeners(this.key);
15
- }
16
- connect() {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- yield SolProviderHelper.connectWithKey(this.key);
19
- });
20
- }
21
- getSigner() {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- return SolProviderHelper.connectWithKey(this.key);
24
- });
25
- }
26
- isInstalledOnBrowser() {
27
- return SolProviderHelper.isInstalledHelper(this.key);
28
- }
29
- fetchPublicAddress() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return SolProviderHelper.fetchPublicAddressWithKey(this.key);
32
- });
33
- }
34
- signMessage(messageToSign) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- return SolProviderHelper.signMessageWithKey(messageToSign, this.key);
37
- });
38
- }
39
- getConnectedAccounts() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return SolProviderHelper.getConnectedAccountsWithKey(this.key);
42
- });
43
- }
44
- }
45
-
46
- export { Glow };
package/src/Solflare.cjs DELETED
@@ -1,83 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _tslib = require('../_virtual/_tslib.cjs');
6
- var utils = require('@dynamic-labs/utils');
7
- var solWalletConnector = require('./solWalletConnector.cjs');
8
- var solProviderHelper = require('./solProviderHelper.cjs');
9
-
10
- class Solflare extends solWalletConnector.SolWalletConnector {
11
- constructor() {
12
- super(...arguments);
13
- this.name = 'Solflare';
14
- }
15
- isInstalledOnBrowser() {
16
- return solProviderHelper.SolProviderHelper.isInstalledHelper(this.key);
17
- }
18
- fetchPublicAddress() {
19
- return _tslib.__awaiter(this, void 0, void 0, function* () {
20
- /**
21
- * It should redirect to in-app browser if on mobile and if not in the in-app browser,
22
- * this checks if it is not in the in-app browser by checking if the provider is not available.
23
- */
24
- if (utils.isMobile() && !this.isInstalledOnBrowser()) {
25
- utils.handleMobileWalletRedirect({
26
- nativeLink: 'solflare://ul/v1/browse',
27
- universalLink: 'https://solflare.com/ul/v1/browse',
28
- });
29
- return;
30
- }
31
- return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
32
- });
33
- }
34
- connect() {
35
- return _tslib.__awaiter(this, void 0, void 0, function* () {
36
- yield solProviderHelper.SolProviderHelper.connectWithKey(this.key);
37
- });
38
- }
39
- getSigner() {
40
- return _tslib.__awaiter(this, void 0, void 0, function* () {
41
- return solProviderHelper.SolProviderHelper.connectWithKey(this.key);
42
- });
43
- }
44
- signMessage(messageToSign) {
45
- return _tslib.__awaiter(this, void 0, void 0, function* () {
46
- const walletAddress = yield this.fetchPublicAddress();
47
- if (!walletAddress) {
48
- return undefined;
49
- }
50
- const provider = solProviderHelper.SolProviderHelper.findProvider(this.key);
51
- if (!provider) {
52
- return undefined;
53
- }
54
- const encodedMessage = new TextEncoder().encode(messageToSign);
55
- const isSignedMessage = (value) => value.signature !== undefined;
56
- yield provider.connect();
57
- /**
58
- * TODO: Remove the sleep once problem is fixed on Solflare's extension.
59
- * Tracked in DYN-442
60
- */
61
- yield new Promise((resolve) => {
62
- setTimeout(resolve, 100);
63
- });
64
- const rawMessage = yield provider.signMessage(encodedMessage, 'utf8');
65
- return isSignedMessage(rawMessage)
66
- ? utils.bufferToBase64(rawMessage.signature)
67
- : undefined;
68
- });
69
- }
70
- getConnectedAccounts() {
71
- return _tslib.__awaiter(this, void 0, void 0, function* () {
72
- return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
73
- });
74
- }
75
- setupEventListeners() {
76
- solProviderHelper.SolProviderHelper._setupEventListeners(this, solProviderHelper.SolProviderHelper.findProvider(this.key));
77
- }
78
- teardownEventListeners() {
79
- solProviderHelper.SolProviderHelper._teardownEventListeners(this.key);
80
- }
81
- }
82
-
83
- exports.Solflare = Solflare;
package/src/Solflare.js DELETED
@@ -1,79 +0,0 @@
1
- import { __awaiter } from '../_virtual/_tslib.js';
2
- import { isMobile, handleMobileWalletRedirect, bufferToBase64 } from '@dynamic-labs/utils';
3
- import { SolWalletConnector } from './solWalletConnector.js';
4
- import { SolProviderHelper } from './solProviderHelper.js';
5
-
6
- class Solflare extends SolWalletConnector {
7
- constructor() {
8
- super(...arguments);
9
- this.name = 'Solflare';
10
- }
11
- isInstalledOnBrowser() {
12
- return SolProviderHelper.isInstalledHelper(this.key);
13
- }
14
- fetchPublicAddress() {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- /**
17
- * It should redirect to in-app browser if on mobile and if not in the in-app browser,
18
- * this checks if it is not in the in-app browser by checking if the provider is not available.
19
- */
20
- if (isMobile() && !this.isInstalledOnBrowser()) {
21
- handleMobileWalletRedirect({
22
- nativeLink: 'solflare://ul/v1/browse',
23
- universalLink: 'https://solflare.com/ul/v1/browse',
24
- });
25
- return;
26
- }
27
- return SolProviderHelper.fetchPublicAddressWithKey(this.key);
28
- });
29
- }
30
- connect() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- yield SolProviderHelper.connectWithKey(this.key);
33
- });
34
- }
35
- getSigner() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- return SolProviderHelper.connectWithKey(this.key);
38
- });
39
- }
40
- signMessage(messageToSign) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const walletAddress = yield this.fetchPublicAddress();
43
- if (!walletAddress) {
44
- return undefined;
45
- }
46
- const provider = SolProviderHelper.findProvider(this.key);
47
- if (!provider) {
48
- return undefined;
49
- }
50
- const encodedMessage = new TextEncoder().encode(messageToSign);
51
- const isSignedMessage = (value) => value.signature !== undefined;
52
- yield provider.connect();
53
- /**
54
- * TODO: Remove the sleep once problem is fixed on Solflare's extension.
55
- * Tracked in DYN-442
56
- */
57
- yield new Promise((resolve) => {
58
- setTimeout(resolve, 100);
59
- });
60
- const rawMessage = yield provider.signMessage(encodedMessage, 'utf8');
61
- return isSignedMessage(rawMessage)
62
- ? bufferToBase64(rawMessage.signature)
63
- : undefined;
64
- });
65
- }
66
- getConnectedAccounts() {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- return SolProviderHelper.getConnectedAccountsWithKey(this.key);
69
- });
70
- }
71
- setupEventListeners() {
72
- SolProviderHelper._setupEventListeners(this, SolProviderHelper.findProvider(this.key));
73
- }
74
- teardownEventListeners() {
75
- SolProviderHelper._teardownEventListeners(this.key);
76
- }
77
- }
78
-
79
- export { Solflare };
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _tslib = require('../../_virtual/_tslib.cjs');
6
- var solProviderHelper = require('../solProviderHelper.cjs');
7
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
8
-
9
- class BraveSol extends InjectedWalletBase.InjectedWalletBase {
10
- constructor() {
11
- super(...arguments);
12
- this.name = 'BraveSol';
13
- }
14
- fetchPublicAddress() {
15
- return _tslib.__awaiter(this, void 0, void 0, function* () {
16
- return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
17
- });
18
- }
19
- }
20
-
21
- exports.BraveSol = BraveSol;
@@ -1,5 +0,0 @@
1
- import { InjectedWalletBase } from './InjectedWalletBase';
2
- export declare class BraveSol extends InjectedWalletBase {
3
- name: string;
4
- fetchPublicAddress(): Promise<string | undefined>;
5
- }
@@ -1,17 +0,0 @@
1
- import { __awaiter } from '../../_virtual/_tslib.js';
2
- import { SolProviderHelper } from '../solProviderHelper.js';
3
- import { InjectedWalletBase } from './InjectedWalletBase.js';
4
-
5
- class BraveSol extends InjectedWalletBase {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'BraveSol';
9
- }
10
- fetchPublicAddress() {
11
- return __awaiter(this, void 0, void 0, function* () {
12
- return SolProviderHelper.fetchPublicAddressWithKey(this.key);
13
- });
14
- }
15
- }
16
-
17
- export { BraveSol };
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
6
-
7
- class ExodusSol extends InjectedWalletBase.InjectedWalletBase {
8
- constructor() {
9
- super(...arguments);
10
- this.name = 'ExodusSol';
11
- }
12
- }
13
-
14
- exports.ExodusSol = ExodusSol;
@@ -1,4 +0,0 @@
1
- import { InjectedWalletBase } from './InjectedWalletBase';
2
- export declare class ExodusSol extends InjectedWalletBase {
3
- name: string;
4
- }
@@ -1,10 +0,0 @@
1
- import { InjectedWalletBase } from './InjectedWalletBase.js';
2
-
3
- class ExodusSol extends InjectedWalletBase {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'ExodusSol';
7
- }
8
- }
9
-
10
- export { ExodusSol };
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
6
-
7
- class MagicEdenSol extends InjectedWalletBase.InjectedWalletBase {
8
- constructor() {
9
- super(...arguments);
10
- this.name = 'MagicEdenSol';
11
- }
12
- }
13
-
14
- exports.MagicEdenSol = MagicEdenSol;
@@ -1,4 +0,0 @@
1
- import { InjectedWalletBase } from './InjectedWalletBase';
2
- export declare class MagicEdenSol extends InjectedWalletBase {
3
- name: string;
4
- }
@@ -1,10 +0,0 @@
1
- import { InjectedWalletBase } from './InjectedWalletBase.js';
2
-
3
- class MagicEdenSol extends InjectedWalletBase {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'MagicEdenSol';
7
- }
8
- }
9
-
10
- export { MagicEdenSol };