@reown/appkit-solana-react-native 0.0.0-chore-solflare-20250730210452 → 0.0.0-chore-spring-effect-20250909214820
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.
- package/lib/commonjs/adapter.js +4 -5
- package/lib/commonjs/adapter.js.map +1 -1
- package/lib/commonjs/connectors/{SolanaDeeplinkConnector.js → DeeplinkConnector.js} +80 -51
- package/lib/commonjs/connectors/DeeplinkConnector.js.map +1 -0
- package/lib/commonjs/connectors/PhantomConnector.js +5 -4
- package/lib/commonjs/connectors/PhantomConnector.js.map +1 -1
- package/lib/commonjs/connectors/SolflareConnector.js +5 -4
- package/lib/commonjs/connectors/SolflareConnector.js.map +1 -1
- package/lib/commonjs/index.js +0 -20
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/providers/{SolanaDeeplinkProvider.js → DeeplinkProvider.js} +177 -138
- package/lib/commonjs/providers/DeeplinkProvider.js.map +1 -0
- package/lib/module/adapter.js +4 -5
- package/lib/module/adapter.js.map +1 -1
- package/lib/module/connectors/{SolanaDeeplinkConnector.js → DeeplinkConnector.js} +77 -48
- package/lib/module/connectors/DeeplinkConnector.js.map +1 -0
- package/lib/module/connectors/PhantomConnector.js +5 -4
- package/lib/module/connectors/PhantomConnector.js.map +1 -1
- package/lib/module/connectors/SolflareConnector.js +5 -4
- package/lib/module/connectors/SolflareConnector.js.map +1 -1
- package/lib/module/index.js +2 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/providers/{SolanaDeeplinkProvider.js → DeeplinkProvider.js} +175 -136
- package/lib/module/providers/DeeplinkProvider.js.map +1 -0
- package/lib/typescript/adapter.d.ts +1 -3
- package/lib/typescript/adapter.d.ts.map +1 -1
- package/lib/typescript/connectors/{SolanaDeeplinkConnector.d.ts → DeeplinkConnector.d.ts} +11 -13
- package/lib/typescript/connectors/DeeplinkConnector.d.ts.map +1 -0
- package/lib/typescript/connectors/PhantomConnector.d.ts +4 -3
- package/lib/typescript/connectors/PhantomConnector.d.ts.map +1 -1
- package/lib/typescript/connectors/SolflareConnector.d.ts +4 -3
- package/lib/typescript/connectors/SolflareConnector.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providers/{SolanaDeeplinkProvider.d.ts → DeeplinkProvider.d.ts} +29 -8
- package/lib/typescript/providers/DeeplinkProvider.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +33 -33
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/adapter.ts +4 -5
- package/src/connectors/{SolanaDeeplinkConnector.ts → DeeplinkConnector.ts} +107 -90
- package/src/connectors/PhantomConnector.ts +5 -4
- package/src/connectors/SolflareConnector.ts +5 -4
- package/src/index.ts +3 -22
- package/src/providers/{SolanaDeeplinkProvider.ts → DeeplinkProvider.ts} +271 -225
- package/src/types.ts +41 -48
- package/lib/commonjs/connectors/SolanaDeeplinkConnector.js.map +0 -1
- package/lib/commonjs/providers/SolanaDeeplinkProvider.js.map +0 -1
- package/lib/module/connectors/SolanaDeeplinkConnector.js.map +0 -1
- package/lib/module/providers/SolanaDeeplinkProvider.js.map +0 -1
- package/lib/typescript/connectors/SolanaDeeplinkConnector.d.ts.map +0 -1
- package/lib/typescript/providers/SolanaDeeplinkProvider.d.ts.map +0 -1
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
import { WalletConnector, solana, solanaDevnet, solanaTestnet } from '@reown/appkit-common-react-native';
|
|
4
4
|
import nacl from 'tweetnacl';
|
|
5
5
|
import bs58 from 'bs58';
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
8
|
-
'mainnet-beta': solana
|
|
9
|
-
'testnet': solanaTestnet
|
|
10
|
-
'devnet': solanaDevnet
|
|
6
|
+
import { DeeplinkProvider, SOLANA_SIGNING_METHODS } from '../providers/DeeplinkProvider';
|
|
7
|
+
const SOLANA_CLUSTER_TO_NETWORK = {
|
|
8
|
+
'mainnet-beta': solana,
|
|
9
|
+
'testnet': solanaTestnet,
|
|
10
|
+
'devnet': solanaDevnet
|
|
11
11
|
};
|
|
12
|
-
export class
|
|
12
|
+
export class DeeplinkConnector extends WalletConnector {
|
|
13
13
|
currentCaipNetworkId = null;
|
|
14
14
|
static SUPPORTED_NAMESPACE = 'solana';
|
|
15
15
|
constructor(config) {
|
|
16
16
|
super({
|
|
17
|
-
type: config.
|
|
17
|
+
type: config.type
|
|
18
18
|
});
|
|
19
19
|
this.config = config;
|
|
20
20
|
}
|
|
@@ -27,18 +27,19 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
27
27
|
await this.initializeKeyPair();
|
|
28
28
|
const appScheme = ops.metadata.redirect?.universal ?? ops.metadata.redirect?.native;
|
|
29
29
|
if (!appScheme) {
|
|
30
|
-
throw new Error(`${this.
|
|
30
|
+
throw new Error(`${this.type} connector: No redirect link found in metadata. Please add redirect.universal or redirect.native to the metadata.`);
|
|
31
31
|
}
|
|
32
32
|
const providerConfig = {
|
|
33
33
|
appScheme,
|
|
34
34
|
dappUrl: ops.metadata.url,
|
|
35
35
|
storage: ops.storage,
|
|
36
|
+
type: this.type,
|
|
37
|
+
cluster: this.config?.cluster ?? 'mainnet-beta',
|
|
36
38
|
dappEncryptionKeyPair: this.dappEncryptionKeyPair,
|
|
37
|
-
walletType: this.config.walletType,
|
|
38
39
|
baseUrl: this.getBaseUrl(),
|
|
39
40
|
encryptionKeyFieldName: this.getEncryptionKeyFieldName()
|
|
40
41
|
};
|
|
41
|
-
this.provider = new
|
|
42
|
+
this.provider = new DeeplinkProvider(providerConfig);
|
|
42
43
|
await this.restoreSession();
|
|
43
44
|
}
|
|
44
45
|
async initializeKeyPair() {
|
|
@@ -53,40 +54,44 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
53
54
|
await this.getStorage().setItem(this.getDappKeypairStorageKey(), bs58.encode(newKeyPair.secretKey));
|
|
54
55
|
}
|
|
55
56
|
} catch (error) {
|
|
57
|
+
// disconnect and clear session
|
|
56
58
|
await this.disconnect();
|
|
57
59
|
throw error;
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
async connect(opts) {
|
|
61
|
-
if (this.isConnected()) {
|
|
63
|
+
if (this.isConnected() && this.namespaces) {
|
|
62
64
|
return this.namespaces;
|
|
63
65
|
}
|
|
64
|
-
const
|
|
65
|
-
const requestedCluster = Object.keys(
|
|
66
|
+
const defaultNetworkId = opts?.defaultNetwork?.caipNetworkId?.split(':')?.[0] === 'solana' ? opts?.defaultNetwork?.caipNetworkId : opts?.namespaces?.['solana']?.chains?.[0];
|
|
67
|
+
const requestedCluster = this.config?.cluster ?? Object.keys(SOLANA_CLUSTER_TO_NETWORK).find(key => SOLANA_CLUSTER_TO_NETWORK[key]?.caipNetworkId === defaultNetworkId);
|
|
66
68
|
try {
|
|
67
69
|
const connectResult = await this.getProvider().connect({
|
|
68
70
|
cluster: requestedCluster
|
|
69
71
|
});
|
|
70
|
-
const
|
|
71
|
-
if (!
|
|
72
|
-
throw new Error(`${this.
|
|
72
|
+
const solanaChainId = SOLANA_CLUSTER_TO_NETWORK[connectResult.cluster]?.caipNetworkId;
|
|
73
|
+
if (!solanaChainId) {
|
|
74
|
+
throw new Error(`${this.type} Connect: Internal - Unknown cluster mapping for ${connectResult.cluster}`);
|
|
73
75
|
}
|
|
74
|
-
this.currentCaipNetworkId =
|
|
75
|
-
this.wallet =
|
|
76
|
+
this.currentCaipNetworkId = solanaChainId;
|
|
77
|
+
this.wallet = {
|
|
78
|
+
name: this.getWalletInfo()?.name
|
|
79
|
+
};
|
|
76
80
|
const userPublicKey = this.getProvider().getUserPublicKey();
|
|
77
81
|
if (!userPublicKey) {
|
|
78
|
-
throw new Error(`${this.
|
|
82
|
+
throw new Error(`${this.type} Connect: Provider failed to return a user public key.`);
|
|
79
83
|
}
|
|
80
84
|
const caipAddress = `${this.currentCaipNetworkId}:${userPublicKey}`;
|
|
81
85
|
this.namespaces = {
|
|
82
|
-
[
|
|
86
|
+
[DeeplinkConnector.SUPPORTED_NAMESPACE]: {
|
|
83
87
|
accounts: [caipAddress],
|
|
84
88
|
methods: Object.values(SOLANA_SIGNING_METHODS),
|
|
85
89
|
events: [],
|
|
86
90
|
chains: [this.currentCaipNetworkId]
|
|
87
91
|
}
|
|
88
92
|
};
|
|
89
|
-
await this.saveSession();
|
|
93
|
+
await this.saveSession(); // Save connector-specific session on successful connect
|
|
94
|
+
|
|
90
95
|
return this.namespaces;
|
|
91
96
|
} catch (error) {
|
|
92
97
|
this.clearSession();
|
|
@@ -99,7 +104,12 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
99
104
|
await super.disconnect();
|
|
100
105
|
}
|
|
101
106
|
} catch (error) {
|
|
102
|
-
|
|
107
|
+
console.warn(`${this.type} Connector: Error during provider disconnect: ${error.message}. Proceeding with local clear.`);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Cleanup provider resources
|
|
111
|
+
if (this.provider) {
|
|
112
|
+
this.provider.destroy();
|
|
103
113
|
}
|
|
104
114
|
await this.clearSession();
|
|
105
115
|
}
|
|
@@ -111,24 +121,24 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
111
121
|
}
|
|
112
122
|
getProvider() {
|
|
113
123
|
if (!this.provider) {
|
|
114
|
-
throw new Error(`${this.
|
|
124
|
+
throw new Error(`${this.type} Connector: Provider not initialized. Call init() first.`);
|
|
115
125
|
}
|
|
116
126
|
return this.provider;
|
|
117
127
|
}
|
|
118
128
|
getStorage() {
|
|
119
129
|
if (!this.storage) {
|
|
120
|
-
throw new Error(`${this.
|
|
130
|
+
throw new Error(`${this.type} Connector: Storage not initialized. Call init() first.`);
|
|
121
131
|
}
|
|
122
132
|
return this.storage;
|
|
123
133
|
}
|
|
124
134
|
getNamespaces() {
|
|
125
135
|
if (!this.namespaces) {
|
|
126
|
-
throw new Error(`${this.
|
|
136
|
+
throw new Error(`${this.type} Connector: Not connected. Call connect() first.`);
|
|
127
137
|
}
|
|
128
138
|
return this.namespaces;
|
|
129
139
|
}
|
|
130
140
|
getChainId(namespace) {
|
|
131
|
-
if (namespace ===
|
|
141
|
+
if (namespace === DeeplinkConnector.SUPPORTED_NAMESPACE) {
|
|
132
142
|
return this.currentCaipNetworkId ?? undefined;
|
|
133
143
|
}
|
|
134
144
|
return undefined;
|
|
@@ -136,42 +146,37 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
136
146
|
getProperties() {
|
|
137
147
|
return this.properties;
|
|
138
148
|
}
|
|
139
|
-
getWalletInfo() {
|
|
140
|
-
if (!this.isConnected()) {
|
|
141
|
-
return undefined;
|
|
142
|
-
}
|
|
143
|
-
return this.wallet;
|
|
144
|
-
}
|
|
145
149
|
isConnected() {
|
|
146
150
|
// Rely solely on the provider as the source of truth for connection status.
|
|
147
|
-
|
|
151
|
+
const provider = this.getProvider();
|
|
152
|
+
return provider.isConnected() && !!provider.getUserPublicKey();
|
|
148
153
|
}
|
|
149
154
|
async switchNetwork(network) {
|
|
150
|
-
const targetClusterName = Object.keys(
|
|
155
|
+
const targetClusterName = Object.keys(SOLANA_CLUSTER_TO_NETWORK).find(key => SOLANA_CLUSTER_TO_NETWORK[key]?.caipNetworkId === network.caipNetworkId);
|
|
151
156
|
if (!targetClusterName) {
|
|
152
|
-
throw new Error(
|
|
157
|
+
throw new Error(`${this.type} Connector: Cannot switch to unsupported network ID: ${network.id}`);
|
|
153
158
|
}
|
|
154
|
-
const currentClusterName = Object.keys(
|
|
159
|
+
const currentClusterName = Object.keys(SOLANA_CLUSTER_TO_NETWORK).find(key => SOLANA_CLUSTER_TO_NETWORK[key]?.caipNetworkId === this.currentCaipNetworkId);
|
|
155
160
|
if (targetClusterName === currentClusterName && this.isConnected()) {
|
|
156
161
|
return Promise.resolve();
|
|
157
162
|
}
|
|
158
163
|
|
|
159
|
-
//
|
|
164
|
+
// Phantom/Solflare don't provide a way to switch network, so we need to disconnect and reconnect.
|
|
160
165
|
await this.disconnect(); // Clear current session
|
|
161
166
|
|
|
162
167
|
// Create a temporary options object to guide the new connection
|
|
163
168
|
const tempConnectOpts = {
|
|
164
|
-
|
|
169
|
+
defaultNetwork: SOLANA_CLUSTER_TO_NETWORK[targetClusterName]
|
|
165
170
|
};
|
|
166
171
|
|
|
167
172
|
// Attempt to connect to the new cluster
|
|
168
|
-
// The connect method will use the
|
|
173
|
+
// The connect method will use the defaultNetwork from opts to determine the cluster.
|
|
169
174
|
await this.connect(tempConnectOpts);
|
|
170
175
|
this.getProvider().emit('chainChanged', network.id);
|
|
171
176
|
|
|
172
177
|
// Verify if the connection was successful and to the correct new network
|
|
173
|
-
if (!this.isConnected() || this.getChainId(
|
|
174
|
-
throw new Error(
|
|
178
|
+
if (!this.isConnected() || this.getChainId(DeeplinkConnector.SUPPORTED_NAMESPACE) !== tempConnectOpts.defaultNetwork?.caipNetworkId) {
|
|
179
|
+
throw new Error(`${this.type} Connector: Failed to switch network to ${targetClusterName}. Please try connecting manually.`);
|
|
175
180
|
}
|
|
176
181
|
}
|
|
177
182
|
|
|
@@ -186,11 +191,35 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
186
191
|
// If provider session is restored, try to restore connector data
|
|
187
192
|
const connectorData = await this.getStorage().getItem(this.getStorageKey());
|
|
188
193
|
if (!connectorData) {
|
|
189
|
-
|
|
194
|
+
// Self-heal: reconstruct connector state from provider session
|
|
195
|
+
const userPublicKey = this.getProvider().getUserPublicKey();
|
|
196
|
+
const cluster = this.getProvider().getCurrentCluster();
|
|
197
|
+
const caipNetworkId = SOLANA_CLUSTER_TO_NETWORK[cluster]?.caipNetworkId;
|
|
198
|
+
if (userPublicKey && caipNetworkId) {
|
|
199
|
+
this.currentCaipNetworkId = caipNetworkId;
|
|
200
|
+
this.wallet = {
|
|
201
|
+
name: this.getWalletInfo()?.name
|
|
202
|
+
};
|
|
203
|
+
const caipAddress = `${caipNetworkId}:${userPublicKey}`;
|
|
204
|
+
this.namespaces = {
|
|
205
|
+
[DeeplinkConnector.SUPPORTED_NAMESPACE]: {
|
|
206
|
+
accounts: [caipAddress],
|
|
207
|
+
methods: Object.values(SOLANA_SIGNING_METHODS),
|
|
208
|
+
events: [],
|
|
209
|
+
chains: [caipNetworkId]
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
await this.saveSession();
|
|
213
|
+
} else {
|
|
214
|
+
// Provider looks connected but we can't reconstruct state → clear everything
|
|
215
|
+
await this.disconnect();
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
} else {
|
|
219
|
+
this.namespaces = connectorData.namespaces;
|
|
220
|
+
this.wallet = connectorData.wallet;
|
|
221
|
+
this.currentCaipNetworkId = connectorData.currentCaipNetworkId;
|
|
190
222
|
}
|
|
191
|
-
this.namespaces = connectorData.namespaces;
|
|
192
|
-
this.wallet = connectorData.wallet;
|
|
193
|
-
this.currentCaipNetworkId = connectorData.currentCaipNetworkId;
|
|
194
223
|
|
|
195
224
|
// Final validation
|
|
196
225
|
if (this.isConnected()) {
|
|
@@ -220,7 +249,7 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
220
249
|
try {
|
|
221
250
|
await this.getStorage().setItem(this.getStorageKey(), connectorData);
|
|
222
251
|
} catch (error) {
|
|
223
|
-
// console.error(`${this.
|
|
252
|
+
// console.error(`${this.type} Connector: Failed to save session.`, error);
|
|
224
253
|
}
|
|
225
254
|
}
|
|
226
255
|
|
|
@@ -229,8 +258,8 @@ export class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
229
258
|
try {
|
|
230
259
|
await this.getStorage().removeItem(this.getStorageKey());
|
|
231
260
|
} catch (error) {
|
|
232
|
-
// console.error(`${this.
|
|
261
|
+
// console.error(`${this.type} Connector: Failed to clear session from storage.`, error);
|
|
233
262
|
}
|
|
234
263
|
}
|
|
235
264
|
}
|
|
236
|
-
//# sourceMappingURL=
|
|
265
|
+
//# sourceMappingURL=DeeplinkConnector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WalletConnector","solana","solanaDevnet","solanaTestnet","nacl","bs58","DeeplinkProvider","SOLANA_SIGNING_METHODS","SOLANA_CLUSTER_TO_NETWORK","DeeplinkConnector","currentCaipNetworkId","SUPPORTED_NAMESPACE","constructor","config","type","init","ops","storage","initializeKeyPair","appScheme","metadata","redirect","universal","native","Error","providerConfig","dappUrl","url","cluster","dappEncryptionKeyPair","baseUrl","getBaseUrl","encryptionKeyFieldName","getEncryptionKeyFieldName","provider","restoreSession","secretKeyB58","getStorage","getItem","getDappKeypairStorageKey","secretKey","decode","box","keyPair","fromSecretKey","newKeyPair","setItem","encode","error","disconnect","connect","opts","isConnected","namespaces","defaultNetworkId","defaultNetwork","caipNetworkId","split","chains","requestedCluster","Object","keys","find","key","connectResult","getProvider","solanaChainId","wallet","name","getWalletInfo","userPublicKey","getUserPublicKey","caipAddress","accounts","methods","values","events","saveSession","clearSession","console","warn","message","destroy","undefined","clearSessionStorage","getNamespaces","getChainId","namespace","getProperties","properties","switchNetwork","network","targetClusterName","id","currentClusterName","Promise","resolve","tempConnectOpts","emit","providerSession","connectorData","getStorageKey","getCurrentCluster","removeItem"],"sourceRoot":"../../../src","sources":["connectors/DeeplinkConnector.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { ConstantsUtil } from '@reown/appkit-common-react-native';
|
|
4
|
-
import {
|
|
4
|
+
import { DeeplinkConnector } from './DeeplinkConnector';
|
|
5
5
|
const PHANTOM_BASE_URL = 'https://phantom.app/ul/v1';
|
|
6
6
|
const PHANTOM_CONNECTOR_STORAGE_KEY = '@appkit/phantom-connector-data';
|
|
7
7
|
const PHANTOM_DAPP_KEYPAIR_STORAGE_KEY = '@appkit/phantom-dapp-secret-key';
|
|
8
|
-
export class PhantomConnector extends
|
|
9
|
-
constructor() {
|
|
8
|
+
export class PhantomConnector extends DeeplinkConnector {
|
|
9
|
+
constructor(config) {
|
|
10
10
|
super({
|
|
11
|
-
|
|
11
|
+
type: 'phantom',
|
|
12
|
+
cluster: config?.cluster
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
15
|
getWalletInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","DeeplinkConnector","PHANTOM_BASE_URL","PHANTOM_CONNECTOR_STORAGE_KEY","PHANTOM_DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","constructor","config","type","cluster","getWalletInfo","PHANTOM_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAyB,mCAAmC;AAClF,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,MAAMC,gBAAgB,GAAG,2BAA2B;AACpD,MAAMC,6BAA6B,GAAG,gCAAgC;AACtE,MAAMC,gCAAgC,GAAG,iCAAiC;AAE1E,OAAO,MAAMC,gBAAgB,SAASJ,iBAAiB,CAAC;EACtDK,WAAWA,CAACC,MAA+B,EAAE;IAC3C,KAAK,CAAC;MAAEC,IAAI,EAAE,SAAS;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACtD;EAESC,aAAaA,CAAA,EAAe;IACnC,OAAOV,aAAa,CAACW,qBAAqB;EAC5C;EAEUC,UAAUA,CAAA,EAAW;IAC7B,OAAOV,gBAAgB;EACzB;EAEUW,aAAaA,CAAA,EAAW;IAChC,OAAOV,6BAA6B;EACtC;EAEUW,wBAAwBA,CAAA,EAAW;IAC3C,OAAOV,gCAAgC;EACzC;EAEUW,yBAAyBA,CAAA,EAAW;IAC5C,OAAO,+BAA+B;EACxC;AACF","ignoreList":[]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { ConstantsUtil } from '@reown/appkit-common-react-native';
|
|
4
|
-
import {
|
|
4
|
+
import { DeeplinkConnector } from './DeeplinkConnector';
|
|
5
5
|
const SOLFLARE_BASE_URL = 'https://solflare.com/ul/v1';
|
|
6
6
|
const SOLFLARE_CONNECTOR_STORAGE_KEY = '@appkit/solflare-connector-data';
|
|
7
7
|
const SOLFLARE_DAPP_KEYPAIR_STORAGE_KEY = '@appkit/solflare-dapp-secret-key';
|
|
8
|
-
export class SolflareConnector extends
|
|
9
|
-
constructor() {
|
|
8
|
+
export class SolflareConnector extends DeeplinkConnector {
|
|
9
|
+
constructor(config) {
|
|
10
10
|
super({
|
|
11
|
-
|
|
11
|
+
type: 'solflare',
|
|
12
|
+
cluster: config?.cluster
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
15
|
getWalletInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","DeeplinkConnector","SOLFLARE_BASE_URL","SOLFLARE_CONNECTOR_STORAGE_KEY","SOLFLARE_DAPP_KEYPAIR_STORAGE_KEY","SolflareConnector","constructor","config","type","cluster","getWalletInfo","SOLFLARE_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName"],"sourceRoot":"../../../src","sources":["connectors/SolflareConnector.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAyB,mCAAmC;AAClF,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,MAAMC,iBAAiB,GAAG,4BAA4B;AACtD,MAAMC,8BAA8B,GAAG,iCAAiC;AACxE,MAAMC,iCAAiC,GAAG,kCAAkC;AAE5E,OAAO,MAAMC,iBAAiB,SAASJ,iBAAiB,CAAC;EACvDK,WAAWA,CAACC,MAAgC,EAAE;IAC5C,KAAK,CAAC;MAAEC,IAAI,EAAE,UAAU;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACvD;EAESC,aAAaA,CAAA,EAAe;IACnC,OAAOV,aAAa,CAACW,sBAAsB;EAC7C;EAEUC,UAAUA,CAAA,EAAW;IAC7B,OAAOV,iBAAiB;EAC1B;EAEUW,aAAaA,CAAA,EAAW;IAChC,OAAOV,8BAA8B;EACvC;EAEUW,wBAAwBA,CAAA,EAAW;IAC3C,OAAOV,iCAAiC;EAC1C;EAEUW,yBAAyBA,CAAA,EAAW;IAC5C,OAAO,gCAAgC;EACzC;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,13 +3,9 @@
|
|
|
3
3
|
// Adapter
|
|
4
4
|
export { SolanaAdapter } from './adapter';
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
export { SolanaDeeplinkProvider, SOLANA_SIGNING_METHODS } from './providers/SolanaDeeplinkProvider';
|
|
8
|
-
export { SolanaDeeplinkConnector } from './connectors/SolanaDeeplinkConnector';
|
|
6
|
+
// Types
|
|
9
7
|
|
|
10
|
-
//
|
|
8
|
+
// Connectors
|
|
11
9
|
export { PhantomConnector } from './connectors/PhantomConnector';
|
|
12
10
|
export { SolflareConnector } from './connectors/SolflareConnector';
|
|
13
|
-
|
|
14
|
-
// Types
|
|
15
11
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SolanaAdapter","
|
|
1
|
+
{"version":3,"names":["SolanaAdapter","PhantomConnector","SolflareConnector"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,SAASA,aAAa,QAAQ,WAAW;;AAEzC;;AAGA;AACA,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,iBAAiB,QAAQ,gCAAgC","ignoreList":[]}
|