stackswap-front-api-test-02 1.3.2 → 1.3.4

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.2",
3
+ "version": "1.3.4",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "start": "tsc -b tsconfig.build.json --watch --verbose",
package/src/index.ts CHANGED
@@ -145,15 +145,28 @@ 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
+
148
151
  // STX addresses start with 'SP' (mainnet) or 'ST' (testnet)
149
152
  const stxAddresses = result.addresses.filter(a =>
150
153
  a.address.startsWith('SP') || a.address.startsWith('ST')
151
154
  );
155
+
156
+ console.log('[walletConnect] STX addresses found:', stxAddresses);
157
+ console.log('[walletConnect] isMainnet:', this.config.isMainnet());
158
+
152
159
  const address = this.config.isMainnet()
153
160
  ? stxAddresses.find(a => a.address.startsWith('SP'))?.address
154
161
  : stxAddresses.find(a => a.address.startsWith('ST'))?.address;
155
162
 
163
+ console.log('[walletConnect] Selected address:', address);
164
+
156
165
  if (address) {
166
+ // Save current address to localStorage for isConnected() to use
167
+ if (typeof window !== 'undefined' && window.localStorage) {
168
+ window.localStorage.setItem('currentStxAddress', address);
169
+ }
157
170
  this.senderAdderss = address;
158
171
  this.connected = true;
159
172
  callback(null, this.senderAdderss);
@@ -203,6 +216,10 @@ export class StackswapMainnetAPI implements StackswapAPI{
203
216
  signOut(callback: (err: any, result: any) => void): void {
204
217
  try {
205
218
  disconnect();
219
+ // Clear saved current address
220
+ if (typeof window !== 'undefined' && window.localStorage) {
221
+ window.localStorage.removeItem('currentStxAddress');
222
+ }
206
223
  this.connected = false;
207
224
  this.senderAdderss = '';
208
225
  callback(null, 'success');
@@ -213,21 +230,52 @@ export class StackswapMainnetAPI implements StackswapAPI{
213
230
 
214
231
  isConnected(): boolean {
215
232
  try {
233
+ console.log('[isConnected] isWalletConnected():', isWalletConnected());
216
234
  if (!isWalletConnected()) {
217
235
  return false;
218
236
  }
219
237
 
238
+ // First, check if we have a saved current address from walletConnect()
239
+ let savedAddress: string | null = null;
240
+ if (typeof window !== 'undefined' && window.localStorage) {
241
+ savedAddress = window.localStorage.getItem('currentStxAddress');
242
+ console.log('[isConnected] Saved currentStxAddress:', savedAddress);
243
+ }
244
+
245
+ // Validate saved address matches network (SP for mainnet, ST for testnet)
246
+ if (savedAddress) {
247
+ const isValidForNetwork = this.config.isMainnet()
248
+ ? savedAddress.startsWith('SP')
249
+ : savedAddress.startsWith('ST');
250
+
251
+ if (isValidForNetwork) {
252
+ console.log('[isConnected] Using saved address:', savedAddress);
253
+ this.senderAdderss = savedAddress;
254
+ this.connected = true;
255
+ return true;
256
+ }
257
+ }
258
+
259
+ // Fallback: use getLocalStorage() if no saved address
220
260
  const storage = getLocalStorage();
261
+ console.log('[isConnected] getLocalStorage():', JSON.stringify(storage, null, 2));
262
+
221
263
  if (!storage || !storage.addresses?.stx?.length) {
264
+ console.log('[isConnected] No storage or no STX addresses');
222
265
  return false;
223
266
  }
224
267
 
225
268
  const stxAddresses = storage.addresses.stx;
269
+ console.log('[isConnected] STX addresses:', stxAddresses);
270
+ console.log('[isConnected] isMainnet:', this.config.isMainnet());
271
+
226
272
  // SP = mainnet, ST = testnet
227
273
  const address = this.config.isMainnet()
228
274
  ? stxAddresses.find(a => a.address.startsWith('SP'))?.address
229
275
  : stxAddresses.find(a => a.address.startsWith('ST'))?.address;
230
276
 
277
+ console.log('[isConnected] Selected address:', address);
278
+
231
279
  if (address) {
232
280
  this.senderAdderss = address;
233
281
  this.connected = true;
@@ -235,6 +283,7 @@ export class StackswapMainnetAPI implements StackswapAPI{
235
283
  }
236
284
  return false;
237
285
  } catch (e) {
286
+ console.log('[isConnected] Error:', e);
238
287
  return false;
239
288
  }
240
289
  }