@pear-protocol/hyperliquid-sdk 0.0.60-beta.4 → 0.0.60-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.js +18 -27
- package/dist/store/userDataStore.d.ts +2 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -55,6 +55,7 @@ const useUserData = create((set) => ({
|
|
|
55
55
|
accessToken: null,
|
|
56
56
|
refreshToken: null,
|
|
57
57
|
isAuthenticated: false,
|
|
58
|
+
isReady: false,
|
|
58
59
|
address: null,
|
|
59
60
|
tradeHistories: null,
|
|
60
61
|
rawOpenPositions: null,
|
|
@@ -66,7 +67,8 @@ const useUserData = create((set) => ({
|
|
|
66
67
|
setAccessToken: (token) => set({ accessToken: token }),
|
|
67
68
|
setRefreshToken: (token) => set({ refreshToken: token }),
|
|
68
69
|
setIsAuthenticated: (value) => set({ isAuthenticated: value }),
|
|
69
|
-
|
|
70
|
+
setIsReady: (value) => set({ isReady: value }),
|
|
71
|
+
setAddress: (address) => {
|
|
70
72
|
if (typeof window !== "undefined") {
|
|
71
73
|
if (address) {
|
|
72
74
|
window.localStorage.setItem("address", address);
|
|
@@ -75,8 +77,8 @@ const useUserData = create((set) => ({
|
|
|
75
77
|
window.localStorage.removeItem("address");
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
+
set({ address });
|
|
81
|
+
},
|
|
80
82
|
setTradeHistories: (value) => set({ tradeHistories: value }),
|
|
81
83
|
setRawOpenPositions: (value) => set({ rawOpenPositions: value }),
|
|
82
84
|
setOpenOrders: (value) => set({ openOrders: value }),
|
|
@@ -87,6 +89,7 @@ const useUserData = create((set) => ({
|
|
|
87
89
|
accessToken: null,
|
|
88
90
|
refreshToken: null,
|
|
89
91
|
isAuthenticated: false,
|
|
92
|
+
isReady: false,
|
|
90
93
|
address: null,
|
|
91
94
|
tradeHistories: null,
|
|
92
95
|
rawOpenPositions: null,
|
|
@@ -7032,26 +7035,24 @@ function useAuth() {
|
|
|
7032
7035
|
throw new Error("useAuth must be used within a PearHyperliquidProvider");
|
|
7033
7036
|
}
|
|
7034
7037
|
const { apiBaseUrl, clientId } = context;
|
|
7035
|
-
const [isReady, setIsReady] = useState(false);
|
|
7036
7038
|
const accessToken = useUserData((s) => s.accessToken);
|
|
7037
7039
|
const refreshToken$1 = useUserData((s) => s.refreshToken);
|
|
7040
|
+
const isReady = useUserData((s) => s.isReady);
|
|
7041
|
+
const isAuthenticated = useUserData((s) => s.isAuthenticated);
|
|
7042
|
+
const address = useUserData((s) => s.address);
|
|
7038
7043
|
const setAccessToken = useUserData((s) => s.setAccessToken);
|
|
7039
7044
|
const setRefreshToken = useUserData((s) => s.setRefreshToken);
|
|
7040
|
-
const
|
|
7045
|
+
const setIsReady = useUserData((s) => s.setIsReady);
|
|
7041
7046
|
const setIsAuthenticated = useUserData((s) => s.setIsAuthenticated);
|
|
7042
|
-
const address = useUserData((s) => s.address);
|
|
7043
7047
|
const setAddress = useUserData((s) => s.setAddress);
|
|
7044
7048
|
useEffect(() => {
|
|
7045
7049
|
if (typeof window == "undefined") {
|
|
7046
7050
|
return;
|
|
7047
7051
|
}
|
|
7048
|
-
|
|
7049
|
-
const currentAddress = address;
|
|
7050
|
-
console.log({ currentAddress });
|
|
7051
|
-
if (currentAddress) {
|
|
7052
|
+
if (address) {
|
|
7052
7053
|
// If we already have an address in state, use it to load the session
|
|
7053
|
-
const accessTokenKey = `${
|
|
7054
|
-
const refreshTokenKey = `${
|
|
7054
|
+
const accessTokenKey = `${address}_accessToken`;
|
|
7055
|
+
const refreshTokenKey = `${address}_refreshToken`;
|
|
7055
7056
|
const storedAccessToken = localStorage.getItem(accessTokenKey);
|
|
7056
7057
|
const storedRefreshToken = localStorage.getItem(refreshTokenKey);
|
|
7057
7058
|
console.log({ storedAccessToken, storedRefreshToken });
|
|
@@ -7059,28 +7060,18 @@ function useAuth() {
|
|
|
7059
7060
|
setAccessToken(storedAccessToken);
|
|
7060
7061
|
setRefreshToken(storedRefreshToken);
|
|
7061
7062
|
setIsAuthenticated(true);
|
|
7062
|
-
return;
|
|
7063
7063
|
}
|
|
7064
|
-
setIsReady(true);
|
|
7065
7064
|
}
|
|
7066
|
-
|
|
7067
|
-
|
|
7068
|
-
setRefreshToken,
|
|
7069
|
-
setIsAuthenticated,
|
|
7070
|
-
setAddress,
|
|
7071
|
-
address,
|
|
7072
|
-
]);
|
|
7065
|
+
setIsReady(true);
|
|
7066
|
+
}, [address]);
|
|
7073
7067
|
useEffect(() => {
|
|
7074
7068
|
const cleanup = addAuthInterceptors({
|
|
7075
7069
|
apiBaseUrl,
|
|
7076
7070
|
getAccessToken: () => {
|
|
7077
7071
|
if (typeof window === "undefined")
|
|
7078
7072
|
return null;
|
|
7079
|
-
|
|
7080
|
-
|
|
7081
|
-
return null;
|
|
7082
|
-
const accessTokenKey = `${currentAddress}_accessToken`;
|
|
7083
|
-
return localStorage.getItem(accessTokenKey);
|
|
7073
|
+
// Read from Zustand state as single source of truth
|
|
7074
|
+
return useUserData.getState().accessToken;
|
|
7084
7075
|
},
|
|
7085
7076
|
refreshTokens: async () => {
|
|
7086
7077
|
const data = await refreshTokens();
|
|
@@ -7093,7 +7084,7 @@ function useAuth() {
|
|
|
7093
7084
|
return () => {
|
|
7094
7085
|
cleanup();
|
|
7095
7086
|
};
|
|
7096
|
-
}, [apiBaseUrl]);
|
|
7087
|
+
}, [apiBaseUrl, refreshTokens, logout$1]);
|
|
7097
7088
|
async function getEip712(address) {
|
|
7098
7089
|
const { data } = await getEIP712Message(apiBaseUrl, address, clientId);
|
|
7099
7090
|
return data;
|
|
@@ -3,6 +3,7 @@ interface UserDataState {
|
|
|
3
3
|
accessToken: string | null;
|
|
4
4
|
refreshToken: string | null;
|
|
5
5
|
isAuthenticated: boolean;
|
|
6
|
+
isReady: boolean;
|
|
6
7
|
address: string | null;
|
|
7
8
|
tradeHistories: TradeHistoryDataDto[] | null;
|
|
8
9
|
rawOpenPositions: RawPositionDto[] | null;
|
|
@@ -14,6 +15,7 @@ interface UserDataState {
|
|
|
14
15
|
setAccessToken: (token: string | null) => void;
|
|
15
16
|
setRefreshToken: (token: string | null) => void;
|
|
16
17
|
setIsAuthenticated: (value: boolean) => void;
|
|
18
|
+
setIsReady: (value: boolean) => void;
|
|
17
19
|
setAddress: (address: string | null) => void;
|
|
18
20
|
setTradeHistories: (value: TradeHistoryDataDto[] | null) => void;
|
|
19
21
|
setRawOpenPositions: (value: RawPositionDto[] | null) => void;
|