stackswap-front-api-test-02 1.3.3 → 1.3.5
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/dist/esm/index.js +20 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +20 -11
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +2 -2
- package/package.json +1 -1
- package/src/index.ts +28 -17
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -145,24 +145,20 @@ export class StackswapMainnetAPI implements StackswapAPI{
|
|
|
145
145
|
walletConnect(callback: (err: any, result: any) => void): void {
|
|
146
146
|
connect()
|
|
147
147
|
.then((result) => {
|
|
148
|
-
// DEBUG: Log connect() result to understand address selection
|
|
149
|
-
console.log('[walletConnect] connect() raw result:', JSON.stringify(result, null, 2));
|
|
150
|
-
|
|
151
148
|
// STX addresses start with 'SP' (mainnet) or 'ST' (testnet)
|
|
152
149
|
const stxAddresses = result.addresses.filter(a =>
|
|
153
150
|
a.address.startsWith('SP') || a.address.startsWith('ST')
|
|
154
151
|
);
|
|
155
152
|
|
|
156
|
-
console.log('[walletConnect] STX addresses found:', stxAddresses);
|
|
157
|
-
console.log('[walletConnect] isMainnet:', this.config.isMainnet());
|
|
158
|
-
|
|
159
153
|
const address = this.config.isMainnet()
|
|
160
154
|
? stxAddresses.find(a => a.address.startsWith('SP'))?.address
|
|
161
155
|
: stxAddresses.find(a => a.address.startsWith('ST'))?.address;
|
|
162
156
|
|
|
163
|
-
console.log('[walletConnect] Selected address:', address);
|
|
164
|
-
|
|
165
157
|
if (address) {
|
|
158
|
+
// Save current address to localStorage for isConnected() to use
|
|
159
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
160
|
+
window.localStorage.setItem('currentStxAddress', address);
|
|
161
|
+
}
|
|
166
162
|
this.senderAdderss = address;
|
|
167
163
|
this.connected = true;
|
|
168
164
|
callback(null, this.senderAdderss);
|
|
@@ -212,6 +208,10 @@ export class StackswapMainnetAPI implements StackswapAPI{
|
|
|
212
208
|
signOut(callback: (err: any, result: any) => void): void {
|
|
213
209
|
try {
|
|
214
210
|
disconnect();
|
|
211
|
+
// Clear saved current address
|
|
212
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
213
|
+
window.localStorage.removeItem('currentStxAddress');
|
|
214
|
+
}
|
|
215
215
|
this.connected = false;
|
|
216
216
|
this.senderAdderss = '';
|
|
217
217
|
callback(null, 'success');
|
|
@@ -222,30 +222,42 @@ export class StackswapMainnetAPI implements StackswapAPI{
|
|
|
222
222
|
|
|
223
223
|
isConnected(): boolean {
|
|
224
224
|
try {
|
|
225
|
-
console.log('[isConnected] isWalletConnected():', isWalletConnected());
|
|
226
225
|
if (!isWalletConnected()) {
|
|
227
226
|
return false;
|
|
228
227
|
}
|
|
229
228
|
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
// First, check if we have a saved current address from walletConnect()
|
|
230
|
+
let savedAddress: string | null = null;
|
|
231
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
232
|
+
savedAddress = window.localStorage.getItem('currentStxAddress');
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Validate saved address matches network (SP for mainnet, ST for testnet)
|
|
236
|
+
if (savedAddress) {
|
|
237
|
+
const isValidForNetwork = this.config.isMainnet()
|
|
238
|
+
? savedAddress.startsWith('SP')
|
|
239
|
+
: savedAddress.startsWith('ST');
|
|
232
240
|
|
|
241
|
+
if (isValidForNetwork) {
|
|
242
|
+
this.senderAdderss = savedAddress;
|
|
243
|
+
this.connected = true;
|
|
244
|
+
return true;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Fallback: use getLocalStorage() if no saved address
|
|
249
|
+
const storage = getLocalStorage();
|
|
233
250
|
if (!storage || !storage.addresses?.stx?.length) {
|
|
234
|
-
console.log('[isConnected] No storage or no STX addresses');
|
|
235
251
|
return false;
|
|
236
252
|
}
|
|
237
253
|
|
|
238
254
|
const stxAddresses = storage.addresses.stx;
|
|
239
|
-
console.log('[isConnected] STX addresses:', stxAddresses);
|
|
240
|
-
console.log('[isConnected] isMainnet:', this.config.isMainnet());
|
|
241
255
|
|
|
242
256
|
// SP = mainnet, ST = testnet
|
|
243
257
|
const address = this.config.isMainnet()
|
|
244
258
|
? stxAddresses.find(a => a.address.startsWith('SP'))?.address
|
|
245
259
|
: stxAddresses.find(a => a.address.startsWith('ST'))?.address;
|
|
246
260
|
|
|
247
|
-
console.log('[isConnected] Selected address:', address);
|
|
248
|
-
|
|
249
261
|
if (address) {
|
|
250
262
|
this.senderAdderss = address;
|
|
251
263
|
this.connected = true;
|
|
@@ -253,7 +265,6 @@ export class StackswapMainnetAPI implements StackswapAPI{
|
|
|
253
265
|
}
|
|
254
266
|
return false;
|
|
255
267
|
} catch (e) {
|
|
256
|
-
console.log('[isConnected] Error:', e);
|
|
257
268
|
return false;
|
|
258
269
|
}
|
|
259
270
|
}
|