@owney/sdk 0.6.6-beta.4 → 0.6.6-beta.6
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/index.cjs +66 -25
- package/dist/index.js +66 -25
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -550,36 +550,52 @@ var isJwtExpired = (token) => {
|
|
|
550
550
|
return false;
|
|
551
551
|
}
|
|
552
552
|
};
|
|
553
|
+
var memorySessions = /* @__PURE__ */ new Map();
|
|
554
|
+
var isFreshSession = (session) => !!session && !!session.token && !isJwtExpired(session.token);
|
|
553
555
|
var readSession = (address, chainId) => {
|
|
556
|
+
if (typeof window === "undefined") return null;
|
|
557
|
+
const key = buildKey(address, chainId);
|
|
554
558
|
const store = storage();
|
|
555
|
-
|
|
556
|
-
const raw = store.getItem(buildKey(address, chainId));
|
|
557
|
-
if (!raw) return null;
|
|
559
|
+
let raw = null;
|
|
558
560
|
try {
|
|
559
|
-
|
|
560
|
-
if (!parsed.token || isJwtExpired(parsed.token)) {
|
|
561
|
-
store.removeItem(buildKey(address, chainId));
|
|
562
|
-
return null;
|
|
563
|
-
}
|
|
564
|
-
return parsed;
|
|
561
|
+
raw = store?.getItem(key) ?? null;
|
|
565
562
|
} catch {
|
|
566
|
-
|
|
563
|
+
raw = null;
|
|
564
|
+
}
|
|
565
|
+
if (raw) {
|
|
566
|
+
try {
|
|
567
|
+
const parsed = JSON.parse(raw);
|
|
568
|
+
if (isFreshSession(parsed)) return parsed;
|
|
569
|
+
} catch {
|
|
570
|
+
}
|
|
571
|
+
memorySessions.delete(key);
|
|
572
|
+
try {
|
|
573
|
+
store?.removeItem(key);
|
|
574
|
+
} catch {
|
|
575
|
+
}
|
|
567
576
|
return null;
|
|
568
577
|
}
|
|
578
|
+
const cached = memorySessions.get(key);
|
|
579
|
+
if (isFreshSession(cached)) return cached;
|
|
580
|
+
if (cached) memorySessions.delete(key);
|
|
581
|
+
return null;
|
|
569
582
|
};
|
|
570
583
|
var writeSession = (address, chainId, session) => {
|
|
584
|
+
if (typeof window === "undefined") return;
|
|
585
|
+
const key = buildKey(address, chainId);
|
|
586
|
+
memorySessions.set(key, session);
|
|
571
587
|
const store = storage();
|
|
572
|
-
if (!store) return;
|
|
573
588
|
try {
|
|
574
|
-
store
|
|
589
|
+
store?.setItem(key, JSON.stringify(session));
|
|
575
590
|
} catch {
|
|
576
591
|
}
|
|
577
592
|
};
|
|
578
593
|
var clearSession = (address, chainId) => {
|
|
594
|
+
const key = buildKey(address, chainId);
|
|
595
|
+
memorySessions.delete(key);
|
|
579
596
|
const store = storage();
|
|
580
|
-
if (!store) return;
|
|
581
597
|
try {
|
|
582
|
-
store
|
|
598
|
+
store?.removeItem(key);
|
|
583
599
|
} catch {
|
|
584
600
|
}
|
|
585
601
|
};
|
|
@@ -625,6 +641,10 @@ var WETH_ADDRESS_BY_CHAIN = {
|
|
|
625
641
|
1: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
|
|
626
642
|
};
|
|
627
643
|
var VIEM_CHAIN = { 8453: import_chains.base, 42161: import_chains.arbitrum, 1: import_chains.mainnet };
|
|
644
|
+
function isAlreadyActiveSessionKeyError(error) {
|
|
645
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
646
|
+
return /already has an active session key/i.test(message);
|
|
647
|
+
}
|
|
628
648
|
var ZyfaiAgent = class {
|
|
629
649
|
id = "zyfai";
|
|
630
650
|
supportedChainIds = [8453, 42161, 1];
|
|
@@ -898,7 +918,12 @@ var ZyfaiAgent = class {
|
|
|
898
918
|
if (wasSessionKeyActivated(address, chainId)) return;
|
|
899
919
|
const internals = this.sdk;
|
|
900
920
|
internals.hasActiveSessionKey = false;
|
|
901
|
-
|
|
921
|
+
try {
|
|
922
|
+
await this.sdk.createSessionKey(address, chainId);
|
|
923
|
+
} catch (error) {
|
|
924
|
+
if (!isAlreadyActiveSessionKeyError(error)) throw error;
|
|
925
|
+
internals.hasActiveSessionKey = true;
|
|
926
|
+
}
|
|
902
927
|
markSessionKeyActivated(address, chainId);
|
|
903
928
|
}
|
|
904
929
|
/** Connect + resolve smart wallet address for read operations. */
|
|
@@ -2702,31 +2727,47 @@ var storage2 = () => {
|
|
|
2702
2727
|
}
|
|
2703
2728
|
};
|
|
2704
2729
|
var buildKey2 = (address, chainId) => `${KEY_PREFIX2}:${address.toLowerCase()}:${chainId}`;
|
|
2730
|
+
var memorySiwxSessions = /* @__PURE__ */ new Map();
|
|
2705
2731
|
var readSiwxSession = (address, chainId) => {
|
|
2732
|
+
if (typeof window === "undefined") return null;
|
|
2733
|
+
const key = buildKey2(address, chainId);
|
|
2706
2734
|
const store = storage2();
|
|
2707
|
-
|
|
2708
|
-
const raw = store.getItem(buildKey2(address, chainId));
|
|
2709
|
-
if (!raw) return null;
|
|
2735
|
+
let raw = null;
|
|
2710
2736
|
try {
|
|
2711
|
-
|
|
2737
|
+
raw = store?.getItem(key) ?? null;
|
|
2712
2738
|
} catch {
|
|
2713
|
-
|
|
2714
|
-
return null;
|
|
2739
|
+
raw = null;
|
|
2715
2740
|
}
|
|
2741
|
+
if (raw) {
|
|
2742
|
+
try {
|
|
2743
|
+
return JSON.parse(raw);
|
|
2744
|
+
} catch {
|
|
2745
|
+
memorySiwxSessions.delete(key);
|
|
2746
|
+
try {
|
|
2747
|
+
store?.removeItem(key);
|
|
2748
|
+
} catch {
|
|
2749
|
+
}
|
|
2750
|
+
return null;
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
return memorySiwxSessions.get(key) ?? null;
|
|
2716
2754
|
};
|
|
2717
2755
|
var writeSiwxSession = (address, chainId, session) => {
|
|
2756
|
+
if (typeof window === "undefined") return;
|
|
2757
|
+
const key = buildKey2(address, chainId);
|
|
2758
|
+
memorySiwxSessions.set(key, session);
|
|
2718
2759
|
const store = storage2();
|
|
2719
|
-
if (!store) return;
|
|
2720
2760
|
try {
|
|
2721
|
-
store
|
|
2761
|
+
store?.setItem(key, JSON.stringify(session));
|
|
2722
2762
|
} catch {
|
|
2723
2763
|
}
|
|
2724
2764
|
};
|
|
2725
2765
|
var clearSiwxSession = (address, chainId) => {
|
|
2766
|
+
const key = buildKey2(address, chainId);
|
|
2767
|
+
memorySiwxSessions.delete(key);
|
|
2726
2768
|
const store = storage2();
|
|
2727
|
-
if (!store) return;
|
|
2728
2769
|
try {
|
|
2729
|
-
store
|
|
2770
|
+
store?.removeItem(key);
|
|
2730
2771
|
} catch {
|
|
2731
2772
|
}
|
|
2732
2773
|
};
|
package/dist/index.js
CHANGED
|
@@ -518,36 +518,52 @@ var isJwtExpired = (token) => {
|
|
|
518
518
|
return false;
|
|
519
519
|
}
|
|
520
520
|
};
|
|
521
|
+
var memorySessions = /* @__PURE__ */ new Map();
|
|
522
|
+
var isFreshSession = (session) => !!session && !!session.token && !isJwtExpired(session.token);
|
|
521
523
|
var readSession = (address, chainId) => {
|
|
524
|
+
if (typeof window === "undefined") return null;
|
|
525
|
+
const key = buildKey(address, chainId);
|
|
522
526
|
const store = storage();
|
|
523
|
-
|
|
524
|
-
const raw = store.getItem(buildKey(address, chainId));
|
|
525
|
-
if (!raw) return null;
|
|
527
|
+
let raw = null;
|
|
526
528
|
try {
|
|
527
|
-
|
|
528
|
-
if (!parsed.token || isJwtExpired(parsed.token)) {
|
|
529
|
-
store.removeItem(buildKey(address, chainId));
|
|
530
|
-
return null;
|
|
531
|
-
}
|
|
532
|
-
return parsed;
|
|
529
|
+
raw = store?.getItem(key) ?? null;
|
|
533
530
|
} catch {
|
|
534
|
-
|
|
531
|
+
raw = null;
|
|
532
|
+
}
|
|
533
|
+
if (raw) {
|
|
534
|
+
try {
|
|
535
|
+
const parsed = JSON.parse(raw);
|
|
536
|
+
if (isFreshSession(parsed)) return parsed;
|
|
537
|
+
} catch {
|
|
538
|
+
}
|
|
539
|
+
memorySessions.delete(key);
|
|
540
|
+
try {
|
|
541
|
+
store?.removeItem(key);
|
|
542
|
+
} catch {
|
|
543
|
+
}
|
|
535
544
|
return null;
|
|
536
545
|
}
|
|
546
|
+
const cached = memorySessions.get(key);
|
|
547
|
+
if (isFreshSession(cached)) return cached;
|
|
548
|
+
if (cached) memorySessions.delete(key);
|
|
549
|
+
return null;
|
|
537
550
|
};
|
|
538
551
|
var writeSession = (address, chainId, session) => {
|
|
552
|
+
if (typeof window === "undefined") return;
|
|
553
|
+
const key = buildKey(address, chainId);
|
|
554
|
+
memorySessions.set(key, session);
|
|
539
555
|
const store = storage();
|
|
540
|
-
if (!store) return;
|
|
541
556
|
try {
|
|
542
|
-
store
|
|
557
|
+
store?.setItem(key, JSON.stringify(session));
|
|
543
558
|
} catch {
|
|
544
559
|
}
|
|
545
560
|
};
|
|
546
561
|
var clearSession = (address, chainId) => {
|
|
562
|
+
const key = buildKey(address, chainId);
|
|
563
|
+
memorySessions.delete(key);
|
|
547
564
|
const store = storage();
|
|
548
|
-
if (!store) return;
|
|
549
565
|
try {
|
|
550
|
-
store
|
|
566
|
+
store?.removeItem(key);
|
|
551
567
|
} catch {
|
|
552
568
|
}
|
|
553
569
|
};
|
|
@@ -593,6 +609,10 @@ var WETH_ADDRESS_BY_CHAIN = {
|
|
|
593
609
|
1: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
|
|
594
610
|
};
|
|
595
611
|
var VIEM_CHAIN = { 8453: base, 42161: arbitrum, 1: mainnet };
|
|
612
|
+
function isAlreadyActiveSessionKeyError(error) {
|
|
613
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
614
|
+
return /already has an active session key/i.test(message);
|
|
615
|
+
}
|
|
596
616
|
var ZyfaiAgent = class {
|
|
597
617
|
id = "zyfai";
|
|
598
618
|
supportedChainIds = [8453, 42161, 1];
|
|
@@ -866,7 +886,12 @@ var ZyfaiAgent = class {
|
|
|
866
886
|
if (wasSessionKeyActivated(address, chainId)) return;
|
|
867
887
|
const internals = this.sdk;
|
|
868
888
|
internals.hasActiveSessionKey = false;
|
|
869
|
-
|
|
889
|
+
try {
|
|
890
|
+
await this.sdk.createSessionKey(address, chainId);
|
|
891
|
+
} catch (error) {
|
|
892
|
+
if (!isAlreadyActiveSessionKeyError(error)) throw error;
|
|
893
|
+
internals.hasActiveSessionKey = true;
|
|
894
|
+
}
|
|
870
895
|
markSessionKeyActivated(address, chainId);
|
|
871
896
|
}
|
|
872
897
|
/** Connect + resolve smart wallet address for read operations. */
|
|
@@ -2674,31 +2699,47 @@ var storage2 = () => {
|
|
|
2674
2699
|
}
|
|
2675
2700
|
};
|
|
2676
2701
|
var buildKey2 = (address, chainId) => `${KEY_PREFIX2}:${address.toLowerCase()}:${chainId}`;
|
|
2702
|
+
var memorySiwxSessions = /* @__PURE__ */ new Map();
|
|
2677
2703
|
var readSiwxSession = (address, chainId) => {
|
|
2704
|
+
if (typeof window === "undefined") return null;
|
|
2705
|
+
const key = buildKey2(address, chainId);
|
|
2678
2706
|
const store = storage2();
|
|
2679
|
-
|
|
2680
|
-
const raw = store.getItem(buildKey2(address, chainId));
|
|
2681
|
-
if (!raw) return null;
|
|
2707
|
+
let raw = null;
|
|
2682
2708
|
try {
|
|
2683
|
-
|
|
2709
|
+
raw = store?.getItem(key) ?? null;
|
|
2684
2710
|
} catch {
|
|
2685
|
-
|
|
2686
|
-
return null;
|
|
2711
|
+
raw = null;
|
|
2687
2712
|
}
|
|
2713
|
+
if (raw) {
|
|
2714
|
+
try {
|
|
2715
|
+
return JSON.parse(raw);
|
|
2716
|
+
} catch {
|
|
2717
|
+
memorySiwxSessions.delete(key);
|
|
2718
|
+
try {
|
|
2719
|
+
store?.removeItem(key);
|
|
2720
|
+
} catch {
|
|
2721
|
+
}
|
|
2722
|
+
return null;
|
|
2723
|
+
}
|
|
2724
|
+
}
|
|
2725
|
+
return memorySiwxSessions.get(key) ?? null;
|
|
2688
2726
|
};
|
|
2689
2727
|
var writeSiwxSession = (address, chainId, session) => {
|
|
2728
|
+
if (typeof window === "undefined") return;
|
|
2729
|
+
const key = buildKey2(address, chainId);
|
|
2730
|
+
memorySiwxSessions.set(key, session);
|
|
2690
2731
|
const store = storage2();
|
|
2691
|
-
if (!store) return;
|
|
2692
2732
|
try {
|
|
2693
|
-
store
|
|
2733
|
+
store?.setItem(key, JSON.stringify(session));
|
|
2694
2734
|
} catch {
|
|
2695
2735
|
}
|
|
2696
2736
|
};
|
|
2697
2737
|
var clearSiwxSession = (address, chainId) => {
|
|
2738
|
+
const key = buildKey2(address, chainId);
|
|
2739
|
+
memorySiwxSessions.delete(key);
|
|
2698
2740
|
const store = storage2();
|
|
2699
|
-
if (!store) return;
|
|
2700
2741
|
try {
|
|
2701
|
-
store
|
|
2742
|
+
store?.removeItem(key);
|
|
2702
2743
|
} catch {
|
|
2703
2744
|
}
|
|
2704
2745
|
};
|