@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
|
@@ -14,19 +14,55 @@ export const SOLANA_SIGNING_METHODS = {
|
|
|
14
14
|
function isValidSolanaSigningMethod(method) {
|
|
15
15
|
return Object.values(SOLANA_SIGNING_METHODS).includes(method);
|
|
16
16
|
}
|
|
17
|
-
export class
|
|
18
|
-
|
|
17
|
+
export class DeeplinkProvider extends EventEmitter {
|
|
18
|
+
sharedKey = null;
|
|
19
19
|
sessionToken = null;
|
|
20
20
|
userPublicKey = null;
|
|
21
21
|
walletEncryptionPublicKeyBs58 = null;
|
|
22
|
+
|
|
23
|
+
// Single subscription management - deep links are sequential by nature
|
|
24
|
+
activeSubscription = null;
|
|
25
|
+
isOperationPending = false;
|
|
22
26
|
constructor(config) {
|
|
23
27
|
super();
|
|
24
28
|
this.config = config;
|
|
29
|
+
this.currentCluster = config.cluster ?? 'mainnet-beta';
|
|
25
30
|
this.dappEncryptionKeyPair = config.dappEncryptionKeyPair;
|
|
26
31
|
this.storage = config.storage;
|
|
27
32
|
}
|
|
28
|
-
|
|
29
|
-
return `@appkit/${this.config.
|
|
33
|
+
getSessionStorageKey() {
|
|
34
|
+
return `@appkit/${this.config.type}-provider-session`;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Cleanup method to be called when the provider is destroyed
|
|
39
|
+
*/
|
|
40
|
+
destroy() {
|
|
41
|
+
this.cleanupActiveSubscription();
|
|
42
|
+
this.removeAllListeners();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Safely cleanup the active subscription
|
|
47
|
+
*/
|
|
48
|
+
cleanupActiveSubscription() {
|
|
49
|
+
if (this.activeSubscription) {
|
|
50
|
+
this.activeSubscription.remove();
|
|
51
|
+
this.activeSubscription = null;
|
|
52
|
+
}
|
|
53
|
+
this.isOperationPending = false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Safely set a new subscription, ensuring no operation is pending
|
|
58
|
+
*/
|
|
59
|
+
setActiveSubscription(subscription) {
|
|
60
|
+
// If there's already a pending operation, reject it
|
|
61
|
+
if (this.isOperationPending) {
|
|
62
|
+
this.cleanupActiveSubscription();
|
|
63
|
+
}
|
|
64
|
+
this.activeSubscription = subscription;
|
|
65
|
+
this.isOperationPending = true;
|
|
30
66
|
}
|
|
31
67
|
getUserPublicKey() {
|
|
32
68
|
return this.userPublicKey;
|
|
@@ -34,10 +70,48 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
34
70
|
isConnected() {
|
|
35
71
|
return !!this.sessionToken && !!this.userPublicKey && !!this.dappEncryptionKeyPair;
|
|
36
72
|
}
|
|
73
|
+
getCurrentCluster() {
|
|
74
|
+
return this.currentCluster;
|
|
75
|
+
}
|
|
37
76
|
buildUrl(rpcMethod, params) {
|
|
38
77
|
const query = new URLSearchParams(params).toString();
|
|
39
78
|
return `${this.config.baseUrl}/${rpcMethod}?${query}`;
|
|
40
79
|
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Open a deeplink URL and wait for a redirect back to the app. Handles subscription
|
|
83
|
+
* lifecycle and common error extraction from `errorCode`/`errorMessage` query params.
|
|
84
|
+
*/
|
|
85
|
+
async openDeeplinkAndWait(deeplinkUrl, processParams, contextLabel) {
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
const handleDeepLink = async event => {
|
|
88
|
+
try {
|
|
89
|
+
this.cleanupActiveSubscription();
|
|
90
|
+
const fullUrl = event.url;
|
|
91
|
+
if (!fullUrl.startsWith(this.config.appScheme)) {
|
|
92
|
+
return reject(new Error(`${this.config.type} provider: ${contextLabel}: Unexpected redirect URI.`));
|
|
93
|
+
}
|
|
94
|
+
const params = new URLSearchParams(fullUrl.substring(fullUrl.indexOf('?') + 1));
|
|
95
|
+
const errorCode = params.get('errorCode');
|
|
96
|
+
const errorMessage = params.get('errorMessage');
|
|
97
|
+
if (errorCode) {
|
|
98
|
+
return reject(new Error(`${this.config.type} provider: ${contextLabel} Failed: ${errorMessage || 'Unknown error'} (Code: ${errorCode})`));
|
|
99
|
+
}
|
|
100
|
+
const result = await Promise.resolve(processParams(params));
|
|
101
|
+
resolve(result);
|
|
102
|
+
} catch (error) {
|
|
103
|
+
this.cleanupActiveSubscription();
|
|
104
|
+
reject(error);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const subscription = Linking.addEventListener('url', handleDeepLink);
|
|
108
|
+
this.setActiveSubscription(subscription);
|
|
109
|
+
Linking.openURL(deeplinkUrl).catch(err => {
|
|
110
|
+
this.cleanupActiveSubscription();
|
|
111
|
+
reject(new Error(`${this.config.type} provider: Failed to open wallet for ${contextLabel}: ${err.message}.`));
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
41
115
|
getRpcMethodName(method) {
|
|
42
116
|
switch (method) {
|
|
43
117
|
case SOLANA_SIGNING_METHODS.SOLANA_SIGN_TRANSACTION:
|
|
@@ -53,47 +127,68 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
53
127
|
throw new Error(`Unsupported Solana signing method: ${method}`);
|
|
54
128
|
}
|
|
55
129
|
}
|
|
56
|
-
encryptPayload(payload,
|
|
57
|
-
if (!
|
|
130
|
+
encryptPayload(payload, walletPublicKeyBs58) {
|
|
131
|
+
if (!walletPublicKeyBs58) {
|
|
58
132
|
return null;
|
|
59
133
|
}
|
|
60
134
|
try {
|
|
61
|
-
const walletPublicKeyBytes = bs58.decode(walletPublicKeyBs58ToEncryptFor);
|
|
62
135
|
const nonce = nacl.randomBytes(nacl.box.nonceLength);
|
|
63
136
|
const payloadBytes = Buffer.from(JSON.stringify(payload), 'utf8');
|
|
64
|
-
|
|
137
|
+
let encryptedPayload;
|
|
138
|
+
if (this.sharedKey) {
|
|
139
|
+
encryptedPayload = nacl.box.after(payloadBytes, nonce, this.sharedKey);
|
|
140
|
+
} else {
|
|
141
|
+
const walletPublicKeyBytes = bs58.decode(walletPublicKeyBs58);
|
|
142
|
+
encryptedPayload = nacl.box(payloadBytes, nonce, walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
|
|
143
|
+
}
|
|
65
144
|
return {
|
|
66
145
|
nonce: bs58.encode(nonce),
|
|
67
146
|
encryptedPayload: bs58.encode(encryptedPayload)
|
|
68
147
|
};
|
|
69
148
|
} catch (error) {
|
|
149
|
+
console.warn(`${this.config.type} provider: Failed to encrypt payload.`, error);
|
|
70
150
|
return null;
|
|
71
151
|
}
|
|
72
152
|
}
|
|
73
153
|
decryptPayload(encryptedDataBs58, nonceBs58, walletSenderPublicKeyBs58) {
|
|
74
154
|
try {
|
|
75
|
-
const
|
|
155
|
+
const formattedEncryptedDataBs58 = encryptedDataBs58.replace('#', '');
|
|
156
|
+
const encryptedDataBytes = bs58.decode(formattedEncryptedDataBs58);
|
|
76
157
|
const nonceBytes = bs58.decode(nonceBs58);
|
|
77
|
-
|
|
78
|
-
|
|
158
|
+
let decryptedPayloadBytes;
|
|
159
|
+
if (this.sharedKey) {
|
|
160
|
+
decryptedPayloadBytes = nacl.box.open.after(encryptedDataBytes, nonceBytes, this.sharedKey);
|
|
161
|
+
} else {
|
|
162
|
+
const walletSenderPublicKeyBytes = bs58.decode(walletSenderPublicKeyBs58);
|
|
163
|
+
decryptedPayloadBytes = nacl.box.open(encryptedDataBytes, nonceBytes, walletSenderPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
|
|
164
|
+
}
|
|
79
165
|
if (!decryptedPayloadBytes) {
|
|
80
166
|
return null;
|
|
81
167
|
}
|
|
82
168
|
return JSON.parse(Buffer.from(decryptedPayloadBytes).toString('utf8'));
|
|
83
169
|
} catch (error) {
|
|
170
|
+
console.warn(`${this.config.type} provider: Failed to decrypt payload.`, error);
|
|
84
171
|
return null;
|
|
85
172
|
}
|
|
86
173
|
}
|
|
87
174
|
async restoreSession() {
|
|
88
175
|
try {
|
|
89
|
-
const session = await this.storage.getItem(this.
|
|
176
|
+
const session = await this.storage.getItem(this.getSessionStorageKey());
|
|
90
177
|
if (session) {
|
|
91
178
|
this.setSession(session);
|
|
179
|
+
|
|
180
|
+
// Recompute shared key on session restore
|
|
181
|
+
try {
|
|
182
|
+
const walletPublicKeyBytes = bs58.decode(session.walletEncryptionPublicKeyBs58);
|
|
183
|
+
this.sharedKey = nacl.box.before(walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
|
|
184
|
+
} catch (e) {
|
|
185
|
+
this.sharedKey = null;
|
|
186
|
+
}
|
|
92
187
|
return true;
|
|
93
188
|
}
|
|
94
189
|
return false;
|
|
95
190
|
} catch (error) {
|
|
96
|
-
// console.error(`${this.config.
|
|
191
|
+
// console.error(`${this.config.type} provider: Failed to restore session.`, error);
|
|
97
192
|
await this.clearSessionStorage(); // Clear potentially corrupt data
|
|
98
193
|
|
|
99
194
|
return false;
|
|
@@ -110,16 +205,16 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
110
205
|
cluster: this.currentCluster
|
|
111
206
|
};
|
|
112
207
|
try {
|
|
113
|
-
await this.storage.setItem(this.
|
|
208
|
+
await this.storage.setItem(this.getSessionStorageKey(), session);
|
|
114
209
|
} catch (error) {
|
|
115
|
-
// console.error(`${this.config.
|
|
210
|
+
// console.error(`${this.config.type} provider: Failed to save session.`, error);
|
|
116
211
|
}
|
|
117
212
|
}
|
|
118
213
|
async clearSessionStorage() {
|
|
119
214
|
try {
|
|
120
|
-
await this.storage.removeItem(this.
|
|
215
|
+
await this.storage.removeItem(this.getSessionStorageKey());
|
|
121
216
|
} catch (error) {
|
|
122
|
-
// console.error(`${this.config.
|
|
217
|
+
// console.error(`${this.config.type} provider: Failed to clear session storage.`, error);
|
|
123
218
|
}
|
|
124
219
|
}
|
|
125
220
|
async connect(params) {
|
|
@@ -132,57 +227,40 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
132
227
|
cluster
|
|
133
228
|
};
|
|
134
229
|
const url = this.buildUrl('connect', connectDeeplinkParams);
|
|
135
|
-
return
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
wallet_encryption_public_key: walletEncryptionPublicKey,
|
|
152
|
-
nonce: responseUrlParams.get('nonce'),
|
|
153
|
-
data: responseUrlParams.get('data')
|
|
154
|
-
};
|
|
155
|
-
if (!responsePayload.wallet_encryption_public_key || !responsePayload.nonce || !responsePayload.data) {
|
|
156
|
-
return reject(new Error(`${this.config.walletType} Connect: Invalid response - missing parameters.`));
|
|
157
|
-
}
|
|
158
|
-
const decryptedData = this.decryptPayload(responsePayload.data, responsePayload.nonce, responsePayload.wallet_encryption_public_key);
|
|
159
|
-
if (!decryptedData || !decryptedData.public_key || !decryptedData.session) {
|
|
160
|
-
return reject(new Error(`${this.config.walletType} Connect: Failed to decrypt or invalid decrypted data.`));
|
|
161
|
-
}
|
|
162
|
-
this.userPublicKey = decryptedData.public_key;
|
|
163
|
-
this.sessionToken = decryptedData.session;
|
|
164
|
-
this.walletEncryptionPublicKeyBs58 = responsePayload.wallet_encryption_public_key;
|
|
230
|
+
return this.openDeeplinkAndWait(url, responseUrlParams => {
|
|
231
|
+
const responsePayload = {
|
|
232
|
+
wallet_encryption_public_key: responseUrlParams.get(this.config.encryptionKeyFieldName),
|
|
233
|
+
nonce: responseUrlParams.get('nonce'),
|
|
234
|
+
data: responseUrlParams.get('data')
|
|
235
|
+
};
|
|
236
|
+
if (!responsePayload.wallet_encryption_public_key || !responsePayload.nonce || !responsePayload.data) {
|
|
237
|
+
throw new Error(`${this.config.type} provider: Invalid response - missing parameters.`);
|
|
238
|
+
}
|
|
239
|
+
const decryptedData = this.decryptPayload(responsePayload.data, responsePayload.nonce, responsePayload.wallet_encryption_public_key);
|
|
240
|
+
if (!decryptedData || !decryptedData.public_key || !decryptedData.session) {
|
|
241
|
+
throw new Error(`${this.config.type} provider: Failed to decrypt or invalid decrypted data.`);
|
|
242
|
+
}
|
|
243
|
+
this.userPublicKey = decryptedData.public_key;
|
|
244
|
+
this.sessionToken = decryptedData.session;
|
|
245
|
+
this.walletEncryptionPublicKeyBs58 = responsePayload.wallet_encryption_public_key;
|
|
165
246
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
247
|
+
// Precompute shared key for subsequent communications
|
|
248
|
+
try {
|
|
249
|
+
const walletPublicKeyBytes = bs58.decode(this.walletEncryptionPublicKeyBs58);
|
|
250
|
+
this.sharedKey = nacl.box.before(walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
|
|
251
|
+
} catch (e) {
|
|
252
|
+
this.sharedKey = null;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Save session on successful connect
|
|
256
|
+
this.saveSession();
|
|
257
|
+
return {
|
|
258
|
+
userPublicKey: this.userPublicKey,
|
|
259
|
+
sessionToken: this.sessionToken,
|
|
260
|
+
walletEncryptionPublicKeyBs58: this.walletEncryptionPublicKeyBs58,
|
|
261
|
+
cluster
|
|
177
262
|
};
|
|
178
|
-
|
|
179
|
-
Linking.openURL(url).catch(err => {
|
|
180
|
-
if (subscription) {
|
|
181
|
-
subscription.remove();
|
|
182
|
-
}
|
|
183
|
-
reject(new Error(`Failed to open ${this.config.walletType} wallet: ${err.message}. Is it installed?`));
|
|
184
|
-
});
|
|
185
|
-
});
|
|
263
|
+
}, 'Connection');
|
|
186
264
|
}
|
|
187
265
|
async disconnect() {
|
|
188
266
|
if (!this.sessionToken || !this.walletEncryptionPublicKeyBs58) {
|
|
@@ -195,7 +273,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
195
273
|
};
|
|
196
274
|
const encryptedDisconnectPayload = this.encryptPayload(payloadToEncrypt, this.walletEncryptionPublicKeyBs58);
|
|
197
275
|
if (!encryptedDisconnectPayload) {
|
|
198
|
-
// console.warn(`${this.config.
|
|
276
|
+
// console.warn(`${this.config.type} provider: Failed to encrypt disconnect payload. Clearing session locally.`);
|
|
199
277
|
await this.clearSession();
|
|
200
278
|
this.emit('disconnect');
|
|
201
279
|
return Promise.resolve(); // Or reject, depending on desired strictness
|
|
@@ -207,34 +285,19 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
207
285
|
nonce: encryptedDisconnectPayload.nonce
|
|
208
286
|
};
|
|
209
287
|
const url = this.buildUrl('disconnect', disconnectDeeplinkParams);
|
|
210
|
-
return
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (subscription) {
|
|
214
|
-
subscription.remove();
|
|
215
|
-
}
|
|
216
|
-
if (event.url.startsWith(this.config.appScheme)) {
|
|
217
|
-
this.clearSession();
|
|
218
|
-
resolve();
|
|
219
|
-
} else {
|
|
220
|
-
this.clearSession();
|
|
221
|
-
reject(new Error(`${this.config.walletType} Disconnect: Unexpected redirect URI.`));
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
subscription = Linking.addEventListener('url', handleDeepLink);
|
|
225
|
-
Linking.openURL(url).catch(err => {
|
|
226
|
-
if (subscription) {
|
|
227
|
-
subscription.remove();
|
|
228
|
-
}
|
|
229
|
-
this.clearSession();
|
|
230
|
-
reject(new Error(`Failed to open ${this.config.walletType} for disconnection: ${err.message}.`));
|
|
231
|
-
});
|
|
232
|
-
});
|
|
288
|
+
return this.openDeeplinkAndWait(url, () => {
|
|
289
|
+
this.clearSession();
|
|
290
|
+
}, 'Disconnection');
|
|
233
291
|
}
|
|
234
292
|
async clearSession() {
|
|
235
293
|
this.sessionToken = null;
|
|
236
294
|
this.userPublicKey = null;
|
|
237
295
|
this.walletEncryptionPublicKeyBs58 = null;
|
|
296
|
+
if (this.sharedKey) {
|
|
297
|
+
this.sharedKey.fill(0);
|
|
298
|
+
}
|
|
299
|
+
this.sharedKey = null;
|
|
300
|
+
this.cleanupActiveSubscription();
|
|
238
301
|
await this.clearSessionStorage();
|
|
239
302
|
}
|
|
240
303
|
setSession(session) {
|
|
@@ -245,12 +308,12 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
245
308
|
}
|
|
246
309
|
async request(args, _chainId) {
|
|
247
310
|
if (!isValidSolanaSigningMethod(args.method)) {
|
|
248
|
-
throw new Error(`${this.config.
|
|
311
|
+
throw new Error(`${this.config.type} provider: Unsupported method: ${args.method}. Only Solana signing methods are supported.`);
|
|
249
312
|
}
|
|
250
313
|
const signingMethod = args.method;
|
|
251
314
|
const requestParams = args.params;
|
|
252
315
|
if (!this.isConnected() || !this.sessionToken || !this.walletEncryptionPublicKeyBs58) {
|
|
253
|
-
throw new Error(`${this.config.
|
|
316
|
+
throw new Error(`${this.config.type} provider: Not connected or session details missing. Cannot process request.`);
|
|
254
317
|
}
|
|
255
318
|
const rpcMethodName = this.getRpcMethodName(signingMethod);
|
|
256
319
|
let deeplinkUrl = '';
|
|
@@ -268,7 +331,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
268
331
|
};
|
|
269
332
|
const encryptedData = this.encryptPayload(dataToEncrypt, this.walletEncryptionPublicKeyBs58);
|
|
270
333
|
if (!encryptedData) {
|
|
271
|
-
throw new Error(`${this.config.
|
|
334
|
+
throw new Error(`${this.config.type} provider: Failed to encrypt payload for ${signingMethod}.`);
|
|
272
335
|
}
|
|
273
336
|
const signTxDeeplinkParams = {
|
|
274
337
|
dapp_encryption_public_key: bs58.encode(this.dappEncryptionKeyPair.publicKey),
|
|
@@ -284,7 +347,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
284
347
|
{
|
|
285
348
|
const typedParams = requestParams;
|
|
286
349
|
if (!typedParams || typeof typedParams.message === 'undefined') {
|
|
287
|
-
throw new Error(
|
|
350
|
+
throw new Error(`${this.config.type} provider: Missing 'message' in params for ${signingMethod}`);
|
|
288
351
|
}
|
|
289
352
|
let messageBs58;
|
|
290
353
|
if (typedParams.message instanceof Uint8Array) {
|
|
@@ -297,7 +360,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
297
360
|
messageBs58 = bs58.encode(Buffer.from(typedParams.message));
|
|
298
361
|
}
|
|
299
362
|
} else {
|
|
300
|
-
throw new Error(
|
|
363
|
+
throw new Error(`${this.config.type} provider: Invalid message format for signMessage. Expected Uint8Array or string.`);
|
|
301
364
|
}
|
|
302
365
|
const dataToEncrypt = {
|
|
303
366
|
message: messageBs58,
|
|
@@ -306,7 +369,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
306
369
|
};
|
|
307
370
|
const encryptedPayloadData = this.encryptPayload(dataToEncrypt, this.walletEncryptionPublicKeyBs58);
|
|
308
371
|
if (!encryptedPayloadData) {
|
|
309
|
-
throw new Error(`${this.config.
|
|
372
|
+
throw new Error(`${this.config.type} provider: Failed to encrypt payload for signMessage.`);
|
|
310
373
|
}
|
|
311
374
|
const signMsgDeeplinkQueryPayload = {
|
|
312
375
|
dapp_encryption_public_key: bs58.encode(this.dappEncryptionKeyPair.publicKey),
|
|
@@ -321,7 +384,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
321
384
|
{
|
|
322
385
|
const typedParams = requestParams;
|
|
323
386
|
if (!typedParams || !Array.isArray(typedParams.transactions) || !typedParams.transactions.every(t => typeof t === 'string')) {
|
|
324
|
-
throw new Error(
|
|
387
|
+
throw new Error(`${this.config.type} provider: Missing or invalid 'transactions' (array of base58 strings) in params for ${signingMethod}`);
|
|
325
388
|
}
|
|
326
389
|
const dataToEncrypt = {
|
|
327
390
|
session: this.sessionToken,
|
|
@@ -329,7 +392,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
329
392
|
};
|
|
330
393
|
const encryptedData = this.encryptPayload(dataToEncrypt, this.walletEncryptionPublicKeyBs58);
|
|
331
394
|
if (!encryptedData) {
|
|
332
|
-
throw new Error(`${this.config.
|
|
395
|
+
throw new Error(`${this.config.type} provider: Failed to encrypt payload for ${signingMethod}.`);
|
|
333
396
|
}
|
|
334
397
|
const signAllTxDeeplinkParams = {
|
|
335
398
|
dapp_encryption_public_key: bs58.encode(this.dappEncryptionKeyPair.publicKey),
|
|
@@ -343,45 +406,21 @@ export class SolanaDeeplinkProvider extends EventEmitter {
|
|
|
343
406
|
}
|
|
344
407
|
default:
|
|
345
408
|
{
|
|
346
|
-
throw new Error(`${this.config.
|
|
409
|
+
throw new Error(`${this.config.type} provider: Unhandled signing method: ${signingMethod}`);
|
|
347
410
|
}
|
|
348
411
|
}
|
|
349
|
-
return
|
|
350
|
-
|
|
351
|
-
const
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
return reject(new Error(`${this.config.walletType} ${signingMethod} Failed: ${errorMessage || 'Unknown error'} (Code: ${errorCode})`));
|
|
362
|
-
}
|
|
363
|
-
const responseNonce = responseUrlParams.get('nonce');
|
|
364
|
-
const responseData = responseUrlParams.get('data');
|
|
365
|
-
if (!responseNonce || !responseData) {
|
|
366
|
-
return reject(new Error(`${this.config.walletType} ${signingMethod}: Invalid response - missing nonce or data.`));
|
|
367
|
-
}
|
|
368
|
-
const decryptedResult = this.decryptPayload(responseData, responseNonce, this.walletEncryptionPublicKeyBs58);
|
|
369
|
-
if (!decryptedResult) {
|
|
370
|
-
return reject(new Error(`${this.config.walletType} ${signingMethod}: Failed to decrypt response or invalid decrypted data.`));
|
|
371
|
-
}
|
|
372
|
-
resolve(decryptedResult);
|
|
373
|
-
} else {
|
|
374
|
-
reject(new Error(`${this.config.walletType} ${signingMethod}: Unexpected redirect URI.`));
|
|
375
|
-
}
|
|
376
|
-
};
|
|
377
|
-
subscription = Linking.addEventListener('url', handleDeepLink);
|
|
378
|
-
Linking.openURL(deeplinkUrl).catch(err => {
|
|
379
|
-
if (subscription) {
|
|
380
|
-
subscription.remove();
|
|
381
|
-
}
|
|
382
|
-
reject(new Error(`Failed to open ${this.config.walletType} for ${signingMethod}: ${err.message}. Is it installed?`));
|
|
383
|
-
});
|
|
384
|
-
});
|
|
412
|
+
return this.openDeeplinkAndWait(deeplinkUrl, responseUrlParams => {
|
|
413
|
+
const responseNonce = responseUrlParams.get('nonce');
|
|
414
|
+
const responseData = responseUrlParams.get('data');
|
|
415
|
+
if (!responseNonce || !responseData) {
|
|
416
|
+
throw new Error(`${this.config.type} provider: ${signingMethod}: Invalid response - missing nonce or data.`);
|
|
417
|
+
}
|
|
418
|
+
const decryptedResult = this.decryptPayload(responseData, responseNonce, this.walletEncryptionPublicKeyBs58);
|
|
419
|
+
if (!decryptedResult) {
|
|
420
|
+
throw new Error(`${this.config.type} provider: ${signingMethod}: Failed to decrypt response or invalid decrypted data.`);
|
|
421
|
+
}
|
|
422
|
+
return decryptedResult;
|
|
423
|
+
}, signingMethod);
|
|
385
424
|
}
|
|
386
425
|
}
|
|
387
|
-
//# sourceMappingURL=
|
|
426
|
+
//# sourceMappingURL=DeeplinkProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Linking","nacl","bs58","Buffer","EventEmitter","SOLANA_SIGNING_METHODS","SOLANA_SIGN_TRANSACTION","SOLANA_SIGN_MESSAGE","SOLANA_SIGN_AND_SEND_TRANSACTION","SOLANA_SIGN_ALL_TRANSACTIONS","isValidSolanaSigningMethod","method","Object","values","includes","DeeplinkProvider","sharedKey","sessionToken","userPublicKey","walletEncryptionPublicKeyBs58","activeSubscription","isOperationPending","constructor","config","currentCluster","cluster","dappEncryptionKeyPair","storage","getSessionStorageKey","type","destroy","cleanupActiveSubscription","removeAllListeners","remove","setActiveSubscription","subscription","getUserPublicKey","isConnected","getCurrentCluster","buildUrl","rpcMethod","params","query","URLSearchParams","toString","baseUrl","openDeeplinkAndWait","deeplinkUrl","processParams","contextLabel","Promise","resolve","reject","handleDeepLink","event","fullUrl","url","startsWith","appScheme","Error","substring","indexOf","errorCode","get","errorMessage","result","error","addEventListener","openURL","catch","err","message","getRpcMethodName","encryptPayload","payload","walletPublicKeyBs58","nonce","randomBytes","box","nonceLength","payloadBytes","from","JSON","stringify","encryptedPayload","after","walletPublicKeyBytes","decode","secretKey","encode","console","warn","decryptPayload","encryptedDataBs58","nonceBs58","walletSenderPublicKeyBs58","formattedEncryptedDataBs58","replace","encryptedDataBytes","nonceBytes","decryptedPayloadBytes","open","walletSenderPublicKeyBytes","parse","restoreSession","session","getItem","setSession","before","e","clearSessionStorage","saveSession","setItem","removeItem","connect","connectDeeplinkParams","app_url","dappUrl","dapp_encryption_public_key","publicKey","redirect_link","responseUrlParams","responsePayload","wallet_encryption_public_key","encryptionKeyFieldName","data","decryptedData","public_key","disconnect","clearSession","emit","payloadToEncrypt","encryptedDisconnectPayload","disconnectDeeplinkParams","fill","request","args","_chainId","signingMethod","requestParams","rpcMethodName","typedParams","transaction","dataToEncrypt","encryptedData","signTxDeeplinkParams","messageBs58","Uint8Array","display","encryptedPayloadData","signMsgDeeplinkQueryPayload","Array","isArray","transactions","every","t","signAllTxDeeplinkParams","responseNonce","responseData","decryptedResult"],"sourceRoot":"../../../src","sources":["providers/DeeplinkProvider.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,9 +9,7 @@ export interface SolanaTransactionData {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class SolanaAdapter extends SolanaBaseAdapter {
|
|
11
11
|
private static supportedNamespace;
|
|
12
|
-
constructor(
|
|
13
|
-
projectId: string;
|
|
14
|
-
});
|
|
12
|
+
constructor();
|
|
15
13
|
getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
|
|
16
14
|
signTransaction<T extends Transaction | VersionedTransaction>(transaction: T, network?: AppKitNetwork): Promise<T>;
|
|
17
15
|
sendTransaction(data: SolanaTransactionData): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAc,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAc,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B;;IASvD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CjE,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,CAAC,CAAC;IAiEP,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsEpE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAOxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,qBAAqB,IAAI,cAAc;CAGxC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { WalletConnector, type AppKitNetwork, type CaipNetworkId, type ChainNamespace, type ConnectOptions, type Namespaces, type
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor(config: SolanaDeeplinkConnectorConfig);
|
|
1
|
+
import { WalletConnector, type AppKitNetwork, type CaipNetworkId, type ChainNamespace, type ConnectOptions, type Namespaces, type ConnectorInitOptions, type ConnectionProperties } from '@reown/appkit-common-react-native';
|
|
2
|
+
import { DeeplinkProvider } from '../providers/DeeplinkProvider';
|
|
3
|
+
import type { DeeplinkConnectorConfig } from '../types';
|
|
4
|
+
export declare abstract class DeeplinkConnector extends WalletConnector {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private currentCaipNetworkId;
|
|
7
|
+
private dappEncryptionKeyPair?;
|
|
8
|
+
private static readonly SUPPORTED_NAMESPACE;
|
|
9
|
+
constructor(config: DeeplinkConnectorConfig);
|
|
11
10
|
protected abstract getBaseUrl(): string;
|
|
12
11
|
protected abstract getStorageKey(): string;
|
|
13
12
|
protected abstract getDappKeypairStorageKey(): string;
|
|
@@ -17,16 +16,15 @@ export declare abstract class SolanaDeeplinkConnector extends WalletConnector {
|
|
|
17
16
|
connect(opts?: ConnectOptions): Promise<Namespaces | undefined>;
|
|
18
17
|
disconnect(): Promise<void>;
|
|
19
18
|
private clearSession;
|
|
20
|
-
getProvider():
|
|
19
|
+
getProvider(): DeeplinkProvider;
|
|
21
20
|
private getStorage;
|
|
22
21
|
getNamespaces(): Namespaces;
|
|
23
22
|
getChainId(namespace: ChainNamespace): CaipNetworkId | undefined;
|
|
24
23
|
getProperties(): ConnectionProperties | undefined;
|
|
25
|
-
getWalletInfo(): WalletInfo | undefined;
|
|
26
24
|
isConnected(): boolean;
|
|
27
25
|
switchNetwork(network: AppKitNetwork): Promise<void>;
|
|
28
26
|
restoreSession(): Promise<boolean>;
|
|
29
27
|
private saveSession;
|
|
30
28
|
private clearSessionStorage;
|
|
31
29
|
}
|
|
32
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=DeeplinkConnector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeeplinkConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/DeeplinkConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAKzB,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAE,gBAAgB,EAA0B,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAEV,uBAAuB,EAGxB,MAAM,UAAU,CAAC;AAQlB,8BAAsB,iBAAkB,SAAQ,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAE3D,MAAM,EAAE,uBAAuB;IAM3C,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;IACvC,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM;IAC1C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,IAAI,MAAM;IACrD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,IAAI,MAAM;IAEvC,IAAI,CAAC,GAAG,EAAE,oBAAoB;YA2B/B,iBAAiB;IAqBhB,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAuD/D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAmB5B,YAAY;IAOjB,WAAW,IAAI,gBAAgB;IAQxC,OAAO,CAAC,UAAU;IAQT,aAAa,IAAI,UAAU;IAQ3B,UAAU,CAAC,SAAS,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS;IAQhE,aAAa,IAAI,oBAAoB,GAAG,SAAS;IAI1D,WAAW,IAAI,OAAO;IAOP,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CpD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YA2DnC,WAAW;YAmBX,mBAAmB;CAOlC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type WalletInfo } from '@reown/appkit-common-react-native';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { DeeplinkConnector } from './DeeplinkConnector';
|
|
3
|
+
import type { PhantomConnectorConfig } from '../types';
|
|
4
|
+
export declare class PhantomConnector extends DeeplinkConnector {
|
|
5
|
+
constructor(config?: PhantomConnectorConfig);
|
|
5
6
|
getWalletInfo(): WalletInfo;
|
|
6
7
|
protected getBaseUrl(): string;
|
|
7
8
|
protected getStorageKey(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhantomConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/PhantomConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PhantomConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/PhantomConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAMvD,qBAAa,gBAAiB,SAAQ,iBAAiB;gBACzC,MAAM,CAAC,EAAE,sBAAsB;IAIlC,aAAa,IAAI,UAAU;IAIpC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C,SAAS,CAAC,yBAAyB,IAAI,MAAM;CAG9C"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type WalletInfo } from '@reown/appkit-common-react-native';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { DeeplinkConnector } from './DeeplinkConnector';
|
|
3
|
+
import type { SolflareConnectorConfig } from '../types';
|
|
4
|
+
export declare class SolflareConnector extends DeeplinkConnector {
|
|
5
|
+
constructor(config?: SolflareConnectorConfig);
|
|
5
6
|
getWalletInfo(): WalletInfo;
|
|
6
7
|
protected getBaseUrl(): string;
|
|
7
8
|
protected getStorageKey(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolflareConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/SolflareConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SolflareConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/SolflareConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAMxD,qBAAa,iBAAkB,SAAQ,iBAAiB;gBAC1C,MAAM,CAAC,EAAE,uBAAuB;IAInC,aAAa,IAAI,UAAU;IAIpC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C,SAAS,CAAC,yBAAyB,IAAI,MAAM;CAG9C"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { SolanaAdapter } from './adapter';
|
|
2
|
-
export {
|
|
3
|
-
export { SolanaDeeplinkConnector } from './connectors/SolanaDeeplinkConnector';
|
|
2
|
+
export type { PhantomConnectorConfig, SolflareConnectorConfig } from './types';
|
|
4
3
|
export { PhantomConnector } from './connectors/PhantomConnector';
|
|
5
4
|
export { SolflareConnector } from './connectors/SolflareConnector';
|
|
6
|
-
export type { SolanaWalletType, SolanaCluster, SolanaDeeplinkProviderConfig, SolanaWalletSession, SolanaConnectResult, SolanaDeeplinkResponse, SolanaRpcMethod, SolanaConnectParams, SolanaDisconnectParams, SolanaSignTransactionParams, SolanaSignAllTransactionsParams, SolanaSignMessageParams, SolanaConnectorConfig, SolanaConnectorSessionData } from './types';
|
|
7
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}
|