@0xmonaco/react 0.1.14 → 0.1.16
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/hooks/useAuth/types.d.ts +10 -10
- package/dist/hooks/useAuth/types.d.ts.map +1 -1
- package/dist/hooks/useMarket/types.d.ts +3 -3
- package/dist/hooks/useMarket/types.d.ts.map +1 -1
- package/dist/hooks/useMarket/useMarket.d.ts.map +1 -1
- package/dist/hooks/useMarket/useMarket.js +7 -4
- package/dist/hooks/useMarket/useMarket.js.map +1 -1
- package/dist/hooks/useProfile/types.d.ts +3 -1
- package/dist/hooks/useProfile/types.d.ts.map +1 -1
- package/dist/hooks/useProfile/useProfile.d.ts.map +1 -1
- package/dist/hooks/useProfile/useProfile.js +6 -0
- package/dist/hooks/useProfile/useProfile.js.map +1 -1
- package/dist/hooks/useTrade/types.d.ts +3 -3
- package/dist/hooks/useTrade/types.d.ts.map +1 -1
- package/dist/hooks/useTrade/useTrade.d.ts.map +1 -1
- package/dist/hooks/useTrade/useTrade.js +21 -14
- package/dist/hooks/useTrade/useTrade.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import type { AuthState, ChallengeResponse, TokenRefreshResponse
|
|
1
|
+
import type { AuthState, ChallengeResponse, TokenRefreshResponse } from "@0xmonaco/types";
|
|
2
2
|
import type { AuthenticationStatus } from "../../provider";
|
|
3
3
|
export interface UseAuthState {
|
|
4
4
|
/** Current authentication status */
|
|
5
5
|
authenticationStatus: AuthenticationStatus;
|
|
6
6
|
}
|
|
7
7
|
export interface UseAuthReturn extends UseAuthState {
|
|
8
|
-
/** Complete authentication flow */
|
|
8
|
+
/** Complete authentication flow. Returns AuthState with accessToken and refreshToken. */
|
|
9
9
|
login: () => Promise<AuthState>;
|
|
10
|
-
/** Logout user and clear state */
|
|
10
|
+
/** Logout user and clear state. Revokes the refresh token on the server. */
|
|
11
11
|
logout: () => Promise<void>;
|
|
12
|
-
/** Refresh authentication tokens */
|
|
12
|
+
/** Refresh authentication tokens using the stored refresh token. */
|
|
13
13
|
refreshAuth: () => Promise<AuthState>;
|
|
14
|
-
/** Sign a challenge message */
|
|
14
|
+
/** Sign a challenge message with the connected wallet. */
|
|
15
15
|
signChallenge: (message: string) => Promise<string>;
|
|
16
|
-
/** Create authentication challenge */
|
|
16
|
+
/** Create authentication challenge for the given address. */
|
|
17
17
|
createChallenge: (address: string) => Promise<ChallengeResponse>;
|
|
18
|
-
/** Complete authentication with signature */
|
|
19
|
-
authenticate: () => Promise<
|
|
20
|
-
/** Refresh access token */
|
|
18
|
+
/** Complete authentication with signature. Returns tokens. */
|
|
19
|
+
authenticate: () => Promise<AuthState>;
|
|
20
|
+
/** Refresh access token. Pass the refreshToken from authState. */
|
|
21
21
|
refreshToken: (refreshToken: string) => Promise<TokenRefreshResponse>;
|
|
22
|
-
/** Revoke refresh token */
|
|
22
|
+
/** Revoke refresh token. Pass authState.refreshToken from authState.login() response. */
|
|
23
23
|
revokeToken: (refreshToken: string) => Promise<void>;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,yFAAyF;IACzF,KAAK,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,oEAAoE;IACpE,WAAW,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,0DAA0D;IAC1D,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,6DAA6D;IAC7D,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,8DAA8D;IAC9D,YAAY,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,kEAAkE;IAClE,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtE,yFAAyF;IACzF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Candlestick, Interval, TradingPair } from "@0xmonaco/types";
|
|
1
|
+
import type { Candlestick, GetTradingPairsParams, Interval, PaginatedTradingPairs, TradingPair } from "@0xmonaco/types";
|
|
2
2
|
export interface UseMarketReturn {
|
|
3
|
-
/** Get all available trading pairs */
|
|
4
|
-
|
|
3
|
+
/** Get all available trading pairs with optional filtering and pagination */
|
|
4
|
+
getPaginatedTradingPairs: (params?: GetTradingPairsParams) => Promise<PaginatedTradingPairs>;
|
|
5
5
|
/** Get a specific trading pair by symbol */
|
|
6
6
|
getTradingPairBySymbol: (symbol: string) => Promise<TradingPair | undefined>;
|
|
7
7
|
/** Get candlestick data for a trading pair */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAExH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,wBAAwB,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE7F,4CAA4C;IAC5C,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE7E,8CAA8C;IAC9C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACrH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarket.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/useMarket.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,SAAS,QAAO,
|
|
1
|
+
{"version":3,"file":"useMarket.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/useMarket.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,SAAS,QAAO,eA+C5B,CAAC"}
|
|
@@ -2,10 +2,14 @@ import { useCallback } from "react";
|
|
|
2
2
|
import { useMonacoSDK } from "../useMonaco";
|
|
3
3
|
export const useMarket = () => {
|
|
4
4
|
const { sdk } = useMonacoSDK();
|
|
5
|
-
const
|
|
5
|
+
const getPaginatedTradingPairs = useCallback(async (params) => {
|
|
6
6
|
if (!sdk)
|
|
7
7
|
throw new Error("SDK not available");
|
|
8
|
-
|
|
8
|
+
const response = await sdk.market.getPaginatedTradingPairs(params);
|
|
9
|
+
if (!response.success) {
|
|
10
|
+
throw new Error("Failed to fetch trading pairs");
|
|
11
|
+
}
|
|
12
|
+
return response.data;
|
|
9
13
|
}, [sdk]);
|
|
10
14
|
const getTradingPairBySymbol = useCallback(async (symbol) => {
|
|
11
15
|
if (!sdk)
|
|
@@ -30,8 +34,7 @@ export const useMarket = () => {
|
|
|
30
34
|
return await sdk.market.getCandlesticks(symbol, interval, startTime, endTime);
|
|
31
35
|
}, [sdk]);
|
|
32
36
|
return {
|
|
33
|
-
|
|
34
|
-
getTradingPairs,
|
|
37
|
+
getPaginatedTradingPairs,
|
|
35
38
|
getTradingPairBySymbol,
|
|
36
39
|
getCandlesticks,
|
|
37
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarket.js","sourceRoot":"","sources":["../../../src/hooks/useMarket/useMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAoB,EAAE;IAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAE/B,MAAM,
|
|
1
|
+
{"version":3,"file":"useMarket.js","sourceRoot":"","sources":["../../../src/hooks/useMarket/useMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAoB,EAAE;IAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAE/B,MAAM,wBAAwB,GAAG,WAAW,CAC1C,KAAK,EAAE,MAA8B,EAAkC,EAAE;QACvE,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CACxC,KAAK,EAAE,MAAc,EAAoC,EAAE;QACzD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE/E,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,MAAc,EAAE,QAAkB,EAAE,SAAiB,EAAE,OAAe,EAA0B,EAAE;QACvG,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvD,IAAI,SAAS,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzE,IAAI,OAAO,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrE,IAAI,SAAS,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAEhF,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,OAAO;QACL,wBAAwB;QACxB,sBAAsB;QACtB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { UserProfile } from "@0xmonaco/types";
|
|
1
|
+
import type { GetPaginatedUserMovementsResponse, GetUserMovementsParams, UserProfile } from "@0xmonaco/types";
|
|
2
2
|
export interface UseProfileReturn {
|
|
3
3
|
/** User profile data */
|
|
4
4
|
profile?: UserProfile;
|
|
5
5
|
/** Manually fetch profile */
|
|
6
6
|
fetchProfile: () => Promise<UserProfile>;
|
|
7
|
+
/** Get user's ledger movements (transaction history) with pagination */
|
|
8
|
+
getPaginatedUserMovements: (params?: GetUserMovementsParams) => Promise<GetPaginatedUserMovementsResponse>;
|
|
7
9
|
}
|
|
8
10
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9G,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,wEAAwE;IACxE,yBAAyB,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,iCAAiC,CAAC,CAAC;CAC5G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProfile.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/useProfile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,QAAO,
|
|
1
|
+
{"version":3,"file":"useProfile.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/useProfile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,QAAO,gBAqC7B,CAAC"}
|
|
@@ -18,11 +18,17 @@ export const useProfile = () => {
|
|
|
18
18
|
setProfile(userProfile);
|
|
19
19
|
return userProfile;
|
|
20
20
|
}, [sdk]);
|
|
21
|
+
const getPaginatedUserMovements = useCallback(async (params) => {
|
|
22
|
+
if (!sdk)
|
|
23
|
+
throw new Error("SDK not available");
|
|
24
|
+
return await sdk.profile.getPaginatedUserMovements(params);
|
|
25
|
+
}, [sdk]);
|
|
21
26
|
return {
|
|
22
27
|
// State
|
|
23
28
|
profile,
|
|
24
29
|
// Actions
|
|
25
30
|
fetchProfile,
|
|
31
|
+
getPaginatedUserMovements,
|
|
26
32
|
};
|
|
27
33
|
};
|
|
28
34
|
//# sourceMappingURL=useProfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProfile.js","sourceRoot":"","sources":["../../../src/hooks/useProfile/useProfile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAe,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,oBAAoB,KAAK,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAChE,UAAU,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO;QACL,QAAQ;QACR,OAAO;QAEP,UAAU;QACV,YAAY;
|
|
1
|
+
{"version":3,"file":"useProfile.js","sourceRoot":"","sources":["../../../src/hooks/useProfile/useProfile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAe,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,oBAAoB,KAAK,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAChE,UAAU,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,yBAAyB,GAAG,WAAW,CAC3C,KAAK,EAAE,MAA+B,EAA8C,EAAE;QACpF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,OAAO;QAEP,UAAU;QACV,YAAY;QACZ,yBAAyB;KAC1B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { CreateOrderResponse, CancelOrderResponse, ReplaceOrderResponse, GetPaginatedOrdersResponse, GetPaginatedOrdersParams, GetOrderResponse, OrderSide } from "@0xmonaco/types";
|
|
2
2
|
export interface UseTradeReturn {
|
|
3
3
|
/** Place a limit order */
|
|
4
|
-
placeLimitOrder: (
|
|
4
|
+
placeLimitOrder: (tradingPairId: string, side: OrderSide, quantity: string, price: string, options?: {
|
|
5
5
|
tradingMode?: string;
|
|
6
6
|
}) => Promise<CreateOrderResponse>;
|
|
7
7
|
/** Place a market order */
|
|
8
|
-
placeMarketOrder: (
|
|
8
|
+
placeMarketOrder: (tradingPairId: string, side: OrderSide, quantity: string, options?: {
|
|
9
9
|
tradingMode?: string;
|
|
10
10
|
slippageTolerance?: number;
|
|
11
11
|
}) => Promise<CreateOrderResponse>;
|
|
@@ -14,7 +14,7 @@ export interface UseTradeReturn {
|
|
|
14
14
|
/** Replace an existing order */
|
|
15
15
|
replaceOrder: (orderId: string, newOrder: {
|
|
16
16
|
price?: string;
|
|
17
|
-
quantity
|
|
17
|
+
quantity?: string;
|
|
18
18
|
useMasterBalance?: boolean;
|
|
19
19
|
}) => Promise<ReplaceOrderResponse>;
|
|
20
20
|
/** Get paginated orders */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrade/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,eAAe,EAAE,CACf,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrade/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,eAAe,EAAE,CACf,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAC/B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,2BAA2B;IAC3B,gBAAgB,EAAE,CAChB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3D,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,+BAA+B;IAC/B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/D,gCAAgC;IAChC,YAAY,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KACxE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEnC,2BAA2B;IAC3B,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE/F,+BAA+B;IAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTrade.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrade/useTrade.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,QAAQ,QAAO,
|
|
1
|
+
{"version":3,"file":"useTrade.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrade/useTrade.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,QAAQ,QAAO,cAkH3B,CAAC"}
|
|
@@ -2,11 +2,11 @@ import { useCallback } from "react";
|
|
|
2
2
|
import { useMonacoSDK } from "../useMonaco";
|
|
3
3
|
export const useTrade = () => {
|
|
4
4
|
const { sdk } = useMonacoSDK();
|
|
5
|
-
const placeLimitOrder = useCallback(async (
|
|
5
|
+
const placeLimitOrder = useCallback(async (tradingPairId, side, quantity, price, options) => {
|
|
6
6
|
if (!sdk)
|
|
7
7
|
throw new Error("SDK not available");
|
|
8
|
-
if (!
|
|
9
|
-
throw new Error("
|
|
8
|
+
if (!tradingPairId?.trim())
|
|
9
|
+
throw new Error("Trading pair ID is required and cannot be empty");
|
|
10
10
|
if (!side)
|
|
11
11
|
throw new Error("Order side is required");
|
|
12
12
|
if (!quantity?.trim())
|
|
@@ -17,20 +17,20 @@ export const useTrade = () => {
|
|
|
17
17
|
throw new Error("Quantity must be greater than 0");
|
|
18
18
|
if (Number(price) <= 0)
|
|
19
19
|
throw new Error("Price must be greater than 0");
|
|
20
|
-
return await sdk.trading.placeLimitOrder(
|
|
20
|
+
return await sdk.trading.placeLimitOrder(tradingPairId, side, quantity, price, options);
|
|
21
21
|
}, [sdk]);
|
|
22
|
-
const placeMarketOrder = useCallback(async (
|
|
22
|
+
const placeMarketOrder = useCallback(async (tradingPairId, side, quantity, options) => {
|
|
23
23
|
if (!sdk)
|
|
24
24
|
throw new Error("SDK not available");
|
|
25
|
-
if (!
|
|
26
|
-
throw new Error("
|
|
25
|
+
if (!tradingPairId?.trim())
|
|
26
|
+
throw new Error("Trading pair ID is required and cannot be empty");
|
|
27
27
|
if (!side)
|
|
28
28
|
throw new Error("Order side is required");
|
|
29
29
|
if (!quantity?.trim())
|
|
30
30
|
throw new Error("Quantity is required and cannot be empty");
|
|
31
31
|
if (Number(quantity) <= 0)
|
|
32
32
|
throw new Error("Quantity must be greater than 0");
|
|
33
|
-
return await sdk.trading.placeMarketOrder(
|
|
33
|
+
return await sdk.trading.placeMarketOrder(tradingPairId, side, quantity, options);
|
|
34
34
|
}, [sdk]);
|
|
35
35
|
const cancelOrder = useCallback(async (orderId) => {
|
|
36
36
|
if (!sdk)
|
|
@@ -46,12 +46,19 @@ export const useTrade = () => {
|
|
|
46
46
|
throw new Error("Order ID is required and cannot be empty");
|
|
47
47
|
if (!newOrder)
|
|
48
48
|
throw new Error("New order object is required");
|
|
49
|
-
if
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
// Validate quantity only if provided
|
|
50
|
+
if (newOrder.quantity !== undefined) {
|
|
51
|
+
if (!newOrder.quantity?.trim())
|
|
52
|
+
throw new Error("Quantity cannot be empty");
|
|
53
|
+
if (Number(newOrder.quantity) <= 0)
|
|
54
|
+
throw new Error("Quantity must be greater than 0");
|
|
55
|
+
}
|
|
56
|
+
// Validate price only if provided
|
|
57
|
+
if (newOrder.price !== undefined) {
|
|
58
|
+
if (!newOrder.price?.trim())
|
|
59
|
+
throw new Error("Price cannot be empty");
|
|
60
|
+
if (Number(newOrder.price) <= 0)
|
|
61
|
+
throw new Error("Price must be a valid positive number");
|
|
55
62
|
}
|
|
56
63
|
return await sdk.trading.replaceOrder(orderId, newOrder);
|
|
57
64
|
}, [sdk]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTrade.js","sourceRoot":"","sources":["../../../src/hooks/useTrade/useTrade.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAmB,EAAE;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EACH,
|
|
1
|
+
{"version":3,"file":"useTrade.js","sourceRoot":"","sources":["../../../src/hooks/useTrade/useTrade.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { MonacoSDK, Network, SDKConfig } from "@0xmonaco/core";
|
|
2
|
-
export type { AuthState, ChallengeResponse, TokenRefreshResponse, UserProfile
|
|
2
|
+
export type { AuthState, ChallengeResponse, TokenRefreshResponse, UserProfile } from "@0xmonaco/types";
|
|
3
3
|
export * from "./hooks";
|
|
4
4
|
export * from "./provider";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEvG,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xmonaco/react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@0xmonaco/core": "0.2.
|
|
12
|
+
"@0xmonaco/core": "0.2.8"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@types/react": "^19.1.12",
|