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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stackswap-front-api-test-02",
3
- "version": "1.3.3",
3
+ "version": "1.3.5",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "start": "tsc -b tsconfig.build.json --watch --verbose",
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
- const storage = getLocalStorage();
231
- console.log('[isConnected] getLocalStorage():', JSON.stringify(storage, null, 2));
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
  }