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/dist/esm/index.js +33 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +1 -1
- package/src/index.ts +49 -0
package/package.json
CHANGED
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
|
}
|