@pear-protocol/hyperliquid-sdk 0.0.60-beta.5 → 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 +14 -16
- 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,6 +67,7 @@ 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 }),
|
|
70
|
+
setIsReady: (value) => set({ isReady: value }),
|
|
69
71
|
setAddress: (address) => {
|
|
70
72
|
if (typeof window !== "undefined") {
|
|
71
73
|
if (address) {
|
|
@@ -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 });
|
|
@@ -7060,8 +7061,8 @@ function useAuth() {
|
|
|
7060
7061
|
setRefreshToken(storedRefreshToken);
|
|
7061
7062
|
setIsAuthenticated(true);
|
|
7062
7063
|
}
|
|
7063
|
-
setIsReady(true);
|
|
7064
7064
|
}
|
|
7065
|
+
setIsReady(true);
|
|
7065
7066
|
}, [address]);
|
|
7066
7067
|
useEffect(() => {
|
|
7067
7068
|
const cleanup = addAuthInterceptors({
|
|
@@ -7069,11 +7070,8 @@ function useAuth() {
|
|
|
7069
7070
|
getAccessToken: () => {
|
|
7070
7071
|
if (typeof window === "undefined")
|
|
7071
7072
|
return null;
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
return null;
|
|
7075
|
-
const accessTokenKey = `${currentAddress}_accessToken`;
|
|
7076
|
-
return localStorage.getItem(accessTokenKey);
|
|
7073
|
+
// Read from Zustand state as single source of truth
|
|
7074
|
+
return useUserData.getState().accessToken;
|
|
7077
7075
|
},
|
|
7078
7076
|
refreshTokens: async () => {
|
|
7079
7077
|
const data = await refreshTokens();
|
|
@@ -7086,7 +7084,7 @@ function useAuth() {
|
|
|
7086
7084
|
return () => {
|
|
7087
7085
|
cleanup();
|
|
7088
7086
|
};
|
|
7089
|
-
}, [apiBaseUrl]);
|
|
7087
|
+
}, [apiBaseUrl, refreshTokens, logout$1]);
|
|
7090
7088
|
async function getEip712(address) {
|
|
7091
7089
|
const { data } = await getEIP712Message(apiBaseUrl, address, clientId);
|
|
7092
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;
|