@orderly.network/hooks 1.4.0 → 1.4.3
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/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/orderly/useAccountInfo.d.ts +1 -1
- package/esm/orderly/useAccountInfo.d.ts.map +1 -1
- package/esm/orderly/useIndexPrice.d.ts +1 -1
- package/esm/orderly/useIndexPrice.d.ts.map +1 -1
- package/esm/orderly/useMarkPricesStream.d.ts +1 -1
- package/esm/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/esm/orderly/useOpenInterest.d.ts +1 -1
- package/esm/orderly/useOpenInterest.d.ts.map +1 -1
- package/esm/orderly/useOrderStream/useOrderStream.d.ts +1 -1
- package/esm/orderly/usePositionStream/usePositionStream.d.ts +1 -1
- package/esm/orderly/useSettleSubscription.d.ts +1 -1
- package/esm/orderly/useSettleSubscription.d.ts.map +1 -1
- package/esm/orderly/useTakeProfitAndStopLoss/index.d.ts +4 -4
- package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts +4 -4
- package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -1
- package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -1
- package/esm/orderly/useWalletSubscription.d.ts +1 -1
- package/esm/orderly/useWalletSubscription.d.ts.map +1 -1
- package/esm/referral/api.d.ts +87 -0
- package/esm/referral/api.d.ts.map +1 -0
- package/esm/referral/api.js +3 -0
- package/esm/referral/api.js.map +1 -0
- package/esm/referral/format.d.ts +2 -0
- package/esm/referral/format.d.ts.map +1 -0
- package/esm/referral/format.js +8 -0
- package/esm/referral/format.js.map +1 -0
- package/esm/referral/index.d.ts +9 -0
- package/esm/referral/index.d.ts.map +1 -0
- package/esm/referral/index.js +10 -0
- package/esm/referral/index.js.map +1 -0
- package/esm/referral/swr.d.ts +7 -0
- package/esm/referral/swr.d.ts.map +1 -0
- package/esm/referral/swr.js +24 -0
- package/esm/referral/swr.js.map +1 -0
- package/esm/referral/useCommission.d.ts +4 -0
- package/esm/referral/useCommission.d.ts.map +1 -0
- package/esm/referral/useCommission.js +59 -0
- package/esm/referral/useCommission.js.map +1 -0
- package/esm/referral/useDaily.d.ts +9 -0
- package/esm/referral/useDaily.d.ts.map +1 -0
- package/esm/referral/useDaily.js +19 -0
- package/esm/referral/useDaily.js.map +1 -0
- package/esm/referral/useDistribution.d.ts +9 -0
- package/esm/referral/useDistribution.d.ts.map +1 -0
- package/esm/referral/useDistribution.js +53 -0
- package/esm/referral/useDistribution.js.map +1 -0
- package/esm/referral/useRefereeHistory.d.ts +9 -0
- package/esm/referral/useRefereeHistory.d.ts.map +1 -0
- package/esm/referral/useRefereeHistory.js +47 -0
- package/esm/referral/useRefereeHistory.js.map +1 -0
- package/esm/referral/useRefereeInfo.d.ts +9 -0
- package/esm/referral/useRefereeInfo.d.ts.map +1 -0
- package/esm/referral/useRefereeInfo.js +47 -0
- package/esm/referral/useRefereeInfo.js.map +1 -0
- package/esm/referral/useRefereeRebateSummary.d.ts +12 -0
- package/esm/referral/useRefereeRebateSummary.d.ts.map +1 -0
- package/esm/referral/useRefereeRebateSummary.js +31 -0
- package/esm/referral/useRefereeRebateSummary.js.map +1 -0
- package/esm/referral/useReferralRebateSummary.d.ts +9 -0
- package/esm/referral/useReferralRebateSummary.d.ts.map +1 -0
- package/esm/referral/useReferralRebateSummary.js +47 -0
- package/esm/referral/useReferralRebateSummary.js.map +1 -0
- package/esm/services/orderCreator/baseCreator.d.ts.map +1 -1
- package/esm/services/orderCreator/baseCreator.js +5 -3
- package/esm/services/orderCreator/baseCreator.js.map +1 -1
- package/esm/usePrivateInfiniteQuery.d.ts +2 -2
- package/esm/usePrivateInfiniteQuery.d.ts.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +2 -2
- package/esm/version.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/orderly/useAccountInfo.d.ts +1 -1
- package/lib/orderly/useAccountInfo.d.ts.map +1 -1
- package/lib/orderly/useIndexPrice.d.ts +1 -1
- package/lib/orderly/useIndexPrice.d.ts.map +1 -1
- package/lib/orderly/useMarkPricesStream.d.ts +1 -1
- package/lib/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/lib/orderly/useOpenInterest.d.ts +1 -1
- package/lib/orderly/useOpenInterest.d.ts.map +1 -1
- package/lib/orderly/useOrderStream/useOrderStream.d.ts +1 -1
- package/lib/orderly/usePositionStream/usePositionStream.d.ts +1 -1
- package/lib/orderly/useSettleSubscription.d.ts +1 -1
- package/lib/orderly/useSettleSubscription.d.ts.map +1 -1
- package/lib/orderly/useTakeProfitAndStopLoss/index.d.ts +4 -4
- package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts +4 -4
- package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -1
- package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -1
- package/lib/orderly/useWalletSubscription.d.ts +1 -1
- package/lib/orderly/useWalletSubscription.d.ts.map +1 -1
- package/lib/referral/api.d.ts +87 -0
- package/lib/referral/api.d.ts.map +1 -0
- package/lib/referral/api.js +6 -0
- package/lib/referral/api.js.map +1 -0
- package/lib/referral/format.d.ts +2 -0
- package/lib/referral/format.d.ts.map +1 -0
- package/lib/referral/format.js +18 -0
- package/lib/referral/format.js.map +1 -0
- package/lib/referral/index.d.ts +9 -0
- package/lib/referral/index.d.ts.map +1 -0
- package/lib/referral/index.js +56 -0
- package/lib/referral/index.js.map +1 -0
- package/lib/referral/swr.d.ts +7 -0
- package/lib/referral/swr.d.ts.map +1 -0
- package/lib/referral/swr.js +34 -0
- package/lib/referral/swr.js.map +1 -0
- package/lib/referral/useCommission.d.ts +4 -0
- package/lib/referral/useCommission.d.ts.map +1 -0
- package/lib/referral/useCommission.js +69 -0
- package/lib/referral/useCommission.js.map +1 -0
- package/lib/referral/useDaily.d.ts +9 -0
- package/lib/referral/useDaily.d.ts.map +1 -0
- package/lib/referral/useDaily.js +29 -0
- package/lib/referral/useDaily.js.map +1 -0
- package/lib/referral/useDistribution.d.ts +9 -0
- package/lib/referral/useDistribution.d.ts.map +1 -0
- package/lib/referral/useDistribution.js +63 -0
- package/lib/referral/useDistribution.js.map +1 -0
- package/lib/referral/useRefereeHistory.d.ts +9 -0
- package/lib/referral/useRefereeHistory.d.ts.map +1 -0
- package/lib/referral/useRefereeHistory.js +57 -0
- package/lib/referral/useRefereeHistory.js.map +1 -0
- package/lib/referral/useRefereeInfo.d.ts +9 -0
- package/lib/referral/useRefereeInfo.d.ts.map +1 -0
- package/lib/referral/useRefereeInfo.js +57 -0
- package/lib/referral/useRefereeInfo.js.map +1 -0
- package/lib/referral/useRefereeRebateSummary.d.ts +12 -0
- package/lib/referral/useRefereeRebateSummary.d.ts.map +1 -0
- package/lib/referral/useRefereeRebateSummary.js +41 -0
- package/lib/referral/useRefereeRebateSummary.js.map +1 -0
- package/lib/referral/useReferralRebateSummary.d.ts +9 -0
- package/lib/referral/useReferralRebateSummary.d.ts.map +1 -0
- package/lib/referral/useReferralRebateSummary.js +57 -0
- package/lib/referral/useReferralRebateSummary.js.map +1 -0
- package/lib/services/orderCreator/baseCreator.d.ts.map +1 -1
- package/lib/services/orderCreator/baseCreator.js +5 -3
- package/lib/services/orderCreator/baseCreator.js.map +1 -1
- package/lib/usePrivateInfiniteQuery.d.ts +2 -2
- package/lib/usePrivateInfiniteQuery.d.ts.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/version.js.map +1 -1
- package/package.json +7 -7
|
@@ -31,7 +31,7 @@ export declare const usePositionStream: (symbol?: string, options?: SWRConfigura
|
|
|
31
31
|
}, {
|
|
32
32
|
readonly loading: false;
|
|
33
33
|
readonly error: any;
|
|
34
|
-
readonly refresh: import("swr/_internal").KeyedMutator<API.PositionInfo>;
|
|
34
|
+
readonly refresh: import("swr/dist/_internal").KeyedMutator<API.PositionInfo>;
|
|
35
35
|
}];
|
|
36
36
|
export declare const pathOr_unsettledPnLPathOr: (obj: any) => number;
|
|
37
37
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const useSettleSubscription: (options?: {
|
|
2
2
|
onMessage?: ((data: any) => void) | undefined;
|
|
3
|
-
} | undefined) => import("swr/subscription").SWRSubscriptionResponse<any, any>;
|
|
3
|
+
} | undefined) => import("swr/dist/subscription").SWRSubscriptionResponse<any, any>;
|
|
4
4
|
//# sourceMappingURL=useSettleSubscription.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSettleSubscription.d.ts","sourceRoot":"","sources":["../../src/orderly/useSettleSubscription.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;wBACb,GAAG,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"useSettleSubscription.d.ts","sourceRoot":"","sources":["../../src/orderly/useSettleSubscription.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;wBACb,GAAG,KAAK,IAAI;mFAuBhC,CAAC"}
|
|
@@ -5,23 +5,23 @@ export declare const useTPSLOrder: (position: Partial<API.PositionTPSLExt> & Pic
|
|
|
5
5
|
* it is usually used when editing order
|
|
6
6
|
*/
|
|
7
7
|
defaultOrder?: API.AlgoOrder;
|
|
8
|
-
}) => [Partial<import("@orderly.network/types").
|
|
8
|
+
}) => [Partial<Omit<import("@orderly.network/types").BaseAlgoOrderEntity<import("@orderly.network/types").AlgoOrderRootType.TP_SL>, "type" | "side" | "order_type" | "trigger_price"> & Partial<Pick<import("@orderly.network/types").BaseAlgoOrderEntity<import("@orderly.network/types").AlgoOrderRootType.TP_SL>, "type" | "side" | "order_type" | "trigger_price">> & {
|
|
9
9
|
tp_pnl: number;
|
|
10
10
|
tp_offset: number;
|
|
11
11
|
tp_offset_percentage: number;
|
|
12
12
|
sl_pnl: number;
|
|
13
13
|
sl_offset: number;
|
|
14
14
|
sl_offset_percentage: number;
|
|
15
|
-
}>,
|
|
15
|
+
}>, {
|
|
16
16
|
setValue: (key: string, value: string | number) => void;
|
|
17
|
-
setValues: (values: Partial<Partial<import("@orderly.network/types").
|
|
17
|
+
setValues: (values: Partial<Partial<Omit<import("@orderly.network/types").BaseAlgoOrderEntity<import("@orderly.network/types").AlgoOrderRootType.TP_SL>, "type" | "side" | "order_type" | "trigger_price"> & Partial<Pick<import("@orderly.network/types").BaseAlgoOrderEntity<import("@orderly.network/types").AlgoOrderRootType.TP_SL>, "type" | "side" | "order_type" | "trigger_price">> & {
|
|
18
18
|
tp_pnl: number;
|
|
19
19
|
tp_offset: number;
|
|
20
20
|
tp_offset_percentage: number;
|
|
21
21
|
sl_pnl: number;
|
|
22
22
|
sl_offset: number;
|
|
23
23
|
sl_offset_percentage: number;
|
|
24
|
-
}
|
|
24
|
+
}>>) => void;
|
|
25
25
|
submit: () => Promise<void>;
|
|
26
26
|
errors: import("./useTPSL").ValidateError | null;
|
|
27
27
|
validate: () => Promise<import("@orderly.network/types").AlgoOrderEntity<import("@orderly.network/types").AlgoOrderRootType.TP_SL | import("@orderly.network/types").AlgoOrderRootType.POSITIONAL_TP_SL>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { API, AlgoOrderEntity } from "@orderly.network/types";
|
|
2
2
|
import { AlgoOrderRootType } from "@orderly.network/types";
|
|
3
|
-
export type ComputedAlgoOrder = Partial<AlgoOrderEntity<AlgoOrderRootType.TP_SL & {
|
|
3
|
+
export type ComputedAlgoOrder = Partial<AlgoOrderEntity<AlgoOrderRootType.TP_SL> & {
|
|
4
4
|
/**
|
|
5
5
|
* Computed take profit
|
|
6
6
|
*/
|
|
@@ -13,7 +13,7 @@ export type ComputedAlgoOrder = Partial<AlgoOrderEntity<AlgoOrderRootType.TP_SL
|
|
|
13
13
|
sl_pnl: number;
|
|
14
14
|
sl_offset: number;
|
|
15
15
|
sl_offset_percentage: number;
|
|
16
|
-
}
|
|
16
|
+
}>;
|
|
17
17
|
export type ValidateError = {
|
|
18
18
|
[P in keyof ComputedAlgoOrder]?: {
|
|
19
19
|
type: string;
|
|
@@ -25,7 +25,7 @@ export type ValidateError = {
|
|
|
25
25
|
*/
|
|
26
26
|
export declare const useTaskProfitAndStopLossInternal: (position: Partial<API.PositionTPSLExt> & Pick<API.PositionTPSLExt, "symbol" | "average_open_price" | "position_qty">, options?: {
|
|
27
27
|
defaultOrder?: API.AlgoOrder;
|
|
28
|
-
}) => [Partial<import("@orderly.network/types").
|
|
28
|
+
}) => [Partial<Omit<import("@orderly.network/types").BaseAlgoOrderEntity<AlgoOrderRootType.TP_SL>, "type" | "side" | "order_type" | "trigger_price"> & Partial<Pick<import("@orderly.network/types").BaseAlgoOrderEntity<AlgoOrderRootType.TP_SL>, "type" | "side" | "order_type" | "trigger_price">> & {
|
|
29
29
|
/**
|
|
30
30
|
* Computed take profit
|
|
31
31
|
*/
|
|
@@ -38,7 +38,7 @@ export declare const useTaskProfitAndStopLossInternal: (position: Partial<API.Po
|
|
|
38
38
|
sl_pnl: number;
|
|
39
39
|
sl_offset: number;
|
|
40
40
|
sl_offset_percentage: number;
|
|
41
|
-
}>,
|
|
41
|
+
}>, {
|
|
42
42
|
/**
|
|
43
43
|
* Update the take profit and stop loss order, this will merge the new data with the old one
|
|
44
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTPSL.d.ts","sourceRoot":"","sources":["../../../src/orderly/useTakeProfitAndStopLoss/useTPSL.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,GAAG,EACH,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,eAAe,
|
|
1
|
+
{"version":3,"file":"useTPSL.d.ts","sourceRoot":"","sources":["../../../src/orderly/useTakeProfitAndStopLoss/useTPSL.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,GAAG,EACH,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG;IACzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CACF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAC,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB;CACF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,aACjC,QAAQ,IAAI,eAAe,CAAC,GACpC,KAAK,IAAI,eAAe,EAAE,QAAQ,GAAG,oBAAoB,GAAG,cAAc,CAAC,YACnE;IACR,YAAY,CAAC,EAAE,IAAI,SAAS,CAAC;CAC9B;IA/BC;;OAEG;YACK,MAAM;eACH,MAAM;0BACK,MAAM;IAE5B;;OAEG;YACK,MAAM;eACH,MAAM;0BACK,MAAM;;IA0B5B;;OAEG;oBACa,MAAM,SAAS,MAAM,GAAG,MAAM,KAAK,IAAI;wBACnC,QAAQ,iBAAiB,CAAC,KAAK,IAAI;IAEvD;;OAEG;YACK,MAAM,QAAQ,IAAI,CAAC;YAMnB,aAAa,GAAG,IAAI;IAC5B;;OAEG;cACO,MAAM,QACd,gBACE,kBAAkB,gBAAgB,GAAG,kBAAkB,KAAK,CAC7D,CACF;EAmSJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/orderly/useTakeProfitAndStopLoss/useTPSL.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport {\n API,\n AlgoOrderEntity,\n OrderSide,\n SDKError,\n} from \"@orderly.network/types\";\nimport { UpdateOrderKey, calculateHelper } from \"./utils\";\nimport { useMutation } from \"../../useMutation\";\nimport { OrderFactory } from \"../../services/orderCreator/factory\";\nimport { AlgoOrderRootType } from \"@orderly.network/types\";\nimport { TPSLPositionOrderCreator } from \"../../services/orderCreator/tpslPositionOrderCreator\";\nimport { findTPSLFromOrder } from \"../usePositionStream/utils\";\nimport { useSymbolsInfo } from \"../useSymbolsInfo\";\nimport { useMarkPrice } from \"../useMarkPrice\";\nimport { omit } from \"ramda\";\n\nexport type ComputedAlgoOrder = Partial<\n AlgoOrderEntity<\n AlgoOrderRootType.TP_SL & {\n /**\n * Computed take profit\n */\n tp_pnl: number;\n tp_offset: number;\n tp_offset_percentage: number;\n\n /**\n * Computed stop loss\n */\n sl_pnl: number;\n sl_offset: number;\n sl_offset_percentage: number;\n }\n >\n>;\n\nexport type ValidateError = {\n [P in keyof ComputedAlgoOrder]?: {\n type: string;\n message: string;\n };\n};\n\n/**\n * @hidden\n */\nexport const useTaskProfitAndStopLossInternal = (\n position: Partial<API.PositionTPSLExt> &\n Pick<API.PositionTPSLExt, \"symbol\" | \"average_open_price\" | \"position_qty\">,\n options?: {\n defaultOrder?: API.AlgoOrder;\n }\n): [\n /**\n * return the computed & formatted order\n */\n ComputedAlgoOrder,\n {\n /**\n * Update the take profit and stop loss order, this will merge the new data with the old one\n */\n setValue: (key: string, value: number | string) => void;\n setValues: (values: Partial<ComputedAlgoOrder>) => void;\n // getOrderEntity: () => AlgoOrderEntity<AlgoOrderRootType.TP_SL|AlgoOrderRootType.POSITIONAL_TP_SL>;\n /**\n * Submit the TP/SL order\n */\n submit: () => Promise<void>;\n // /**\n // * Create the take profit and stop loss order, auto-detect the order type\n // */\n // create: () => Promise<void>;\n // update: (orderId: number) => Promise<any>;\n errors: ValidateError | null;\n /**\n *\n */\n validate: () => Promise<\n AlgoOrderEntity<\n AlgoOrderRootType.POSITIONAL_TP_SL | AlgoOrderRootType.TP_SL\n >\n >;\n }\n] => {\n const [order, setOrder] = useState<\n ComputedAlgoOrder & {\n ignoreValidate?: boolean;\n }\n >({\n algo_order_id: options?.defaultOrder?.algo_order_id,\n symbol: position.symbol as string,\n side: Number(position.position_qty) > 0 ? OrderSide.BUY : OrderSide.SELL,\n quantity:\n options?.defaultOrder?.quantity || Math.abs(position.position_qty),\n algo_type: options?.defaultOrder?.algo_type as AlgoOrderRootType,\n });\n\n const symbolInfo = useSymbolsInfo()[position.symbol!]();\n const { data: markPrice } = useMarkPrice(order.symbol!);\n\n const [doCreateOrder] = useMutation(\"/v1/algo/order\");\n const [doUpdateOrder] = useMutation(\"/v1/algo/order\", \"PUT\");\n const [doDeleteOrder] = useMutation(\"/v1/algo/order\", \"DELETE\");\n\n const [errors, setErrors] = useState<ValidateError | null>(null);\n\n useEffect(() => {\n if (!options?.defaultOrder) return;\n const trigger_prices = findTPSLFromOrder(options.defaultOrder!);\n if (trigger_prices.tp_trigger_price) {\n setOrderValue(\"tp_trigger_price\", trigger_prices.tp_trigger_price, {\n ignoreValidate: true,\n });\n }\n if (trigger_prices.sl_trigger_price) {\n setOrderValue(\"sl_trigger_price\", trigger_prices.sl_trigger_price, {\n ignoreValidate: true,\n });\n }\n }, []);\n\n const _setOrderValue = (\n key: string,\n value: number | string,\n options?: {\n ignoreValidate?: boolean;\n }\n ) => {\n // console.log(\"[updateOrder:]\", key, value, order.quantity);\n\n setOrder((prev) => {\n const side = position.position_qty! > 0 ? OrderSide.BUY : OrderSide.SELL;\n\n if (key === \"sl_pnl\") {\n value = value ? `-${value}` : \"\";\n }\n\n const newValue = calculateHelper(\n key,\n {\n key,\n value,\n entryPrice: position.average_open_price!,\n qty:\n side === OrderSide.BUY\n ? Number(prev.quantity)!\n : -Number(prev.quantity)!,\n orderSide: side,\n },\n {\n symbol: symbolInfo,\n }\n );\n\n return {\n ...prev,\n ...newValue,\n ignoreValidate: options?.ignoreValidate,\n };\n });\n };\n\n const setOrderValue = async (\n key: string,\n value: number | string,\n options?: {\n ignoreValidate?: boolean;\n }\n ) => {\n if (key === \"quantity\") {\n setOrder((prev) => ({ ...prev, quantity: value }));\n\n if (typeof order.sl_trigger_price !== \"undefined\") {\n _setOrderValue(\"sl_trigger_price\", order.sl_trigger_price, {\n ignoreValidate: true,\n });\n }\n\n if (typeof order.tp_trigger_price !== \"undefined\") {\n _setOrderValue(\"tp_trigger_price\", order.tp_trigger_price, {\n ignoreValidate: true,\n });\n }\n\n return;\n }\n\n _setOrderValue(key, value, options);\n };\n\n /**\n * calculate value config\n */\n const valueConfig = {\n symbol: symbolInfo,\n maxQty: Math.abs(position.position_qty),\n markPrice,\n };\n\n // auto validate when order changed\n useEffect(() => {\n requestAnimationFrame(() => {\n if (order.ignoreValidate) return;\n const orderCreator = getOrderCreator();\n orderCreator\n .validate(order as AlgoOrderEntity, valueConfig)\n .then((errors) => {\n setErrors(errors);\n });\n });\n }, [order, valueConfig.markPrice, order.quantity]);\n\n const setValues = (values: Partial<ComputedAlgoOrder>) => {\n const keys = Object.keys(values);\n keys.forEach((key) => {\n setOrderValue(\n key as UpdateOrderKey,\n values[key as keyof ComputedAlgoOrder] as number | string\n );\n });\n };\n\n const validate = (): Promise<\n AlgoOrderEntity<\n AlgoOrderRootType.POSITIONAL_TP_SL | AlgoOrderRootType.TP_SL\n >\n > => {\n const orderCreator = getOrderCreator();\n\n return new Promise((resolve, reject) => {\n return orderCreator\n .validate(\n order as AlgoOrderEntity<AlgoOrderRootType.TP_SL>,\n valueConfig\n )\n .then((errors) => {\n console.log(\"errors::\", errors);\n\n if (errors) {\n setErrors(errors);\n return reject(errors);\n }\n\n resolve(\n orderCreator.create(\n order as AlgoOrderEntity<AlgoOrderRootType.TP_SL>,\n valueConfig\n )\n );\n });\n });\n };\n\n // useEffect(() => {\n // // setError(validate());\n // }, [order]);\n\n const compare = (): boolean => {\n const quantityNum = Number(order.quantity);\n if (isNaN(quantityNum)) return false;\n return quantityNum === Math.abs(Number(position.position_qty));\n };\n\n const getOrderCreator = () => {\n // if the order is existed, and the order type is POSITIONAL_TP_SL, always return POSITIONAL_TP_SL\n // else use qty to determine the order type\n if (options?.defaultOrder?.algo_type === AlgoOrderRootType.TP_SL) {\n return OrderFactory.create(AlgoOrderRootType.TP_SL);\n }\n return OrderFactory.create(\n compare() ? AlgoOrderRootType.POSITIONAL_TP_SL : AlgoOrderRootType.TP_SL\n );\n };\n\n const submit = async () => {\n const defaultOrder = options?.defaultOrder;\n const orderId = defaultOrder?.algo_order_id;\n const algoType = defaultOrder?.algo_type;\n\n // if algo_order_id is not existed, create new order\n if (!orderId) {\n return createOrder();\n }\n\n // if algo_order_id is existed and algoType = POSITION_TP_SL\n if (algoType === AlgoOrderRootType.POSITIONAL_TP_SL) {\n // if order.qty = position.qty, update order\n if (compare()) {\n return updateOrder(orderId!);\n }\n // if order.qty != position.qty, create new tp/sl order\n return createOrder();\n }\n\n // if algo_order_id is existed and algoType = TP_SL, delete order and create new order\n\n return updateOrder(orderId!);\n };\n\n const createOrder = () => {\n const orderCreator = getOrderCreator();\n\n const orderBody = orderCreator.create(\n order as AlgoOrderEntity<AlgoOrderRootType.TP_SL>,\n valueConfig\n );\n\n if (orderBody.child_orders.length === 0) {\n throw new SDKError(\"No child orders\");\n }\n\n // filter the order that is not activated\n orderBody.child_orders = orderBody.child_orders.filter(\n (order: API.AlgoOrderExt) => order.is_activated\n );\n\n return doCreateOrder(orderBody);\n };\n\n const deleteOrder = (orderId: number, symbol: string): Promise<any> => {\n return doDeleteOrder(null, {\n order_id: orderId,\n symbol,\n });\n };\n\n const updateOrder = (orderId: number): Promise<any> => {\n const orderCreator = getOrderCreator() as TPSLPositionOrderCreator;\n\n const [updatedOrderEntity, orderEntity] = orderCreator.crateUpdateOrder(\n // @ts-ignore\n order,\n options?.defaultOrder,\n valueConfig\n );\n\n if (updatedOrderEntity.child_orders.length === 0) {\n return Promise.resolve(\"Not any order needs to update\");\n }\n\n const needDelete =\n orderEntity.child_orders.filter(\n (order) =>\n typeof order.is_activated === \"boolean\" && !order.is_activated\n ).length === orderEntity.child_orders.length;\n\n if (needDelete) {\n return deleteOrder(orderId, order.symbol!);\n }\n\n return doUpdateOrder({\n order_id: orderId,\n ...updatedOrderEntity,\n });\n };\n\n return [\n omit([\"ignoreValidate\"], order) as ComputedAlgoOrder,\n {\n submit,\n\n // create: submit,\n\n // update: updateOrder,/\n setValue: setOrderValue,\n setValues,\n // createPositionTPSL: submit,\n // createTPSL: submit,\n validate,\n errors,\n },\n ];\n};\n"],"names":["useTaskProfitAndStopLossInternal","position","options","order","setOrder","useState","algo_order_id","defaultOrder","symbol","side","Number","position_qty","OrderSide","BUY","SELL","quantity","Math","abs","algo_type","symbolInfo","useSymbolsInfo","data","markPrice","useMarkPrice","doCreateOrder","useMutation","doUpdateOrder","doDeleteOrder","errors","setErrors","useEffect","trigger_prices","findTPSLFromOrder","tp_trigger_price","setOrderValue","ignoreValidate","sl_trigger_price","_setOrderValue","key","value","prev","newValue","calculateHelper","entryPrice","average_open_price","qty","orderSide","valueConfig","maxQty","requestAnimationFrame","orderCreator","getOrderCreator","validate","then","setValues","values","keys","Object","forEach","Promise","resolve","reject","create","compare","quantityNum","isNaN","AlgoOrderRootType","TP_SL","OrderFactory","POSITIONAL_TP_SL","submit","orderId","algoType","createOrder","updateOrder","orderBody","child_orders","length","SDKError","filter","is_activated","deleteOrder","order_id","updatedOrderEntity","orderEntity","crateUpdateOrder","needDelete","omit","setValue"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/orderly/useTakeProfitAndStopLoss/useTPSL.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport {\n API,\n AlgoOrderEntity,\n OrderSide,\n SDKError,\n} from \"@orderly.network/types\";\nimport { UpdateOrderKey, calculateHelper } from \"./utils\";\nimport { useMutation } from \"../../useMutation\";\nimport { OrderFactory } from \"../../services/orderCreator/factory\";\nimport { AlgoOrderRootType } from \"@orderly.network/types\";\nimport { TPSLPositionOrderCreator } from \"../../services/orderCreator/tpslPositionOrderCreator\";\nimport { findTPSLFromOrder } from \"../usePositionStream/utils\";\nimport { useSymbolsInfo } from \"../useSymbolsInfo\";\nimport { useMarkPrice } from \"../useMarkPrice\";\nimport { omit } from \"ramda\";\n\nexport type ComputedAlgoOrder = Partial<\n AlgoOrderEntity<AlgoOrderRootType.TP_SL> & {\n /**\n * Computed take profit\n */\n tp_pnl: number;\n tp_offset: number;\n tp_offset_percentage: number;\n\n /**\n * Computed stop loss\n */\n sl_pnl: number;\n sl_offset: number;\n sl_offset_percentage: number;\n }\n>;\n\nexport type ValidateError = {\n [P in keyof ComputedAlgoOrder]?: {\n type: string;\n message: string;\n };\n};\n\n/**\n * @hidden\n */\nexport const useTaskProfitAndStopLossInternal = (\n position: Partial<API.PositionTPSLExt> &\n Pick<API.PositionTPSLExt, \"symbol\" | \"average_open_price\" | \"position_qty\">,\n options?: {\n defaultOrder?: API.AlgoOrder;\n }\n): [\n /**\n * return the computed & formatted order\n */\n ComputedAlgoOrder,\n {\n /**\n * Update the take profit and stop loss order, this will merge the new data with the old one\n */\n setValue: (key: string, value: number | string) => void;\n setValues: (values: Partial<ComputedAlgoOrder>) => void;\n // getOrderEntity: () => AlgoOrderEntity<AlgoOrderRootType.TP_SL|AlgoOrderRootType.POSITIONAL_TP_SL>;\n /**\n * Submit the TP/SL order\n */\n submit: () => Promise<void>;\n // /**\n // * Create the take profit and stop loss order, auto-detect the order type\n // */\n // create: () => Promise<void>;\n // update: (orderId: number) => Promise<any>;\n errors: ValidateError | null;\n /**\n *\n */\n validate: () => Promise<\n AlgoOrderEntity<\n AlgoOrderRootType.POSITIONAL_TP_SL | AlgoOrderRootType.TP_SL\n >\n >;\n }\n] => {\n const [order, setOrder] = useState<\n ComputedAlgoOrder & {\n ignoreValidate?: boolean;\n }\n >({\n algo_order_id: options?.defaultOrder?.algo_order_id,\n symbol: position.symbol as string,\n side: Number(position.position_qty) > 0 ? OrderSide.BUY : OrderSide.SELL,\n quantity:\n options?.defaultOrder?.quantity || Math.abs(position.position_qty),\n algo_type: options?.defaultOrder?.algo_type as AlgoOrderRootType,\n });\n\n const symbolInfo = useSymbolsInfo()[position.symbol!]();\n const { data: markPrice } = useMarkPrice(order.symbol!);\n\n const [doCreateOrder] = useMutation(\"/v1/algo/order\");\n const [doUpdateOrder] = useMutation(\"/v1/algo/order\", \"PUT\");\n const [doDeleteOrder] = useMutation(\"/v1/algo/order\", \"DELETE\");\n\n const [errors, setErrors] = useState<ValidateError | null>(null);\n\n useEffect(() => {\n if (!options?.defaultOrder) return;\n const trigger_prices = findTPSLFromOrder(options.defaultOrder!);\n if (trigger_prices.tp_trigger_price) {\n setOrderValue(\"tp_trigger_price\", trigger_prices.tp_trigger_price, {\n ignoreValidate: true,\n });\n }\n if (trigger_prices.sl_trigger_price) {\n setOrderValue(\"sl_trigger_price\", trigger_prices.sl_trigger_price, {\n ignoreValidate: true,\n });\n }\n }, []);\n\n const _setOrderValue = (\n key: string,\n value: number | string,\n options?: {\n ignoreValidate?: boolean;\n }\n ) => {\n // console.log(\"[updateOrder:]\", key, value, order.quantity);\n\n setOrder((prev) => {\n const side = position.position_qty! > 0 ? OrderSide.BUY : OrderSide.SELL;\n\n if (key === \"sl_pnl\") {\n value = value ? `-${value}` : \"\";\n }\n\n const newValue = calculateHelper(\n key,\n {\n key,\n value,\n entryPrice: position.average_open_price!,\n qty:\n side === OrderSide.BUY\n ? Number(prev.quantity)!\n : -Number(prev.quantity)!,\n orderSide: side,\n },\n {\n symbol: symbolInfo,\n }\n );\n\n return {\n ...prev,\n ...newValue,\n ignoreValidate: options?.ignoreValidate,\n };\n });\n };\n\n const setOrderValue = async (\n key: string,\n value: number | string,\n options?: {\n ignoreValidate?: boolean;\n }\n ) => {\n if (key === \"quantity\") {\n setOrder((prev) => ({ ...prev, quantity: value }));\n\n if (typeof order.sl_trigger_price !== \"undefined\") {\n _setOrderValue(\"sl_trigger_price\", order.sl_trigger_price, {\n ignoreValidate: true,\n });\n }\n\n if (typeof order.tp_trigger_price !== \"undefined\") {\n _setOrderValue(\"tp_trigger_price\", order.tp_trigger_price, {\n ignoreValidate: true,\n });\n }\n\n return;\n }\n\n _setOrderValue(key, value, options);\n };\n\n /**\n * calculate value config\n */\n const valueConfig = {\n symbol: symbolInfo,\n maxQty: Math.abs(position.position_qty),\n markPrice,\n };\n\n // auto validate when order changed\n useEffect(() => {\n requestAnimationFrame(() => {\n if (order.ignoreValidate) return;\n const orderCreator = getOrderCreator();\n orderCreator\n .validate(order as AlgoOrderEntity, valueConfig)\n .then((errors) => {\n setErrors(errors);\n });\n });\n }, [order, valueConfig.markPrice, order.quantity]);\n\n const setValues = (values: Partial<ComputedAlgoOrder>) => {\n const keys = Object.keys(values);\n keys.forEach((key) => {\n setOrderValue(\n key as UpdateOrderKey,\n values[key as keyof ComputedAlgoOrder] as number | string\n );\n });\n };\n\n const validate = (): Promise<\n AlgoOrderEntity<\n AlgoOrderRootType.POSITIONAL_TP_SL | AlgoOrderRootType.TP_SL\n >\n > => {\n const orderCreator = getOrderCreator();\n\n return new Promise((resolve, reject) => {\n return orderCreator\n .validate(\n order as AlgoOrderEntity<AlgoOrderRootType.TP_SL>,\n valueConfig\n )\n .then((errors) => {\n console.log(\"errors::\", errors);\n\n if (errors) {\n setErrors(errors);\n return reject(errors);\n }\n\n resolve(\n orderCreator.create(\n order as AlgoOrderEntity<AlgoOrderRootType.TP_SL>,\n valueConfig\n )\n );\n });\n });\n };\n\n // useEffect(() => {\n // // setError(validate());\n // }, [order]);\n\n const compare = (): boolean => {\n const quantityNum = Number(order.quantity);\n if (isNaN(quantityNum)) return false;\n return quantityNum === Math.abs(Number(position.position_qty));\n };\n\n const getOrderCreator = () => {\n // if the order is existed, and the order type is POSITIONAL_TP_SL, always return POSITIONAL_TP_SL\n // else use qty to determine the order type\n if (options?.defaultOrder?.algo_type === AlgoOrderRootType.TP_SL) {\n return OrderFactory.create(AlgoOrderRootType.TP_SL);\n }\n return OrderFactory.create(\n compare() ? AlgoOrderRootType.POSITIONAL_TP_SL : AlgoOrderRootType.TP_SL\n );\n };\n\n const submit = async () => {\n const defaultOrder = options?.defaultOrder;\n const orderId = defaultOrder?.algo_order_id;\n const algoType = defaultOrder?.algo_type;\n\n // if algo_order_id is not existed, create new order\n if (!orderId) {\n return createOrder();\n }\n\n // if algo_order_id is existed and algoType = POSITION_TP_SL\n if (algoType === AlgoOrderRootType.POSITIONAL_TP_SL) {\n // if order.qty = position.qty, update order\n if (compare()) {\n return updateOrder(orderId!);\n }\n // if order.qty != position.qty, create new tp/sl order\n return createOrder();\n }\n\n // if algo_order_id is existed and algoType = TP_SL, delete order and create new order\n\n return updateOrder(orderId!);\n };\n\n const createOrder = () => {\n const orderCreator = getOrderCreator();\n\n const orderBody = orderCreator.create(\n order as AlgoOrderEntity<AlgoOrderRootType.TP_SL>,\n valueConfig\n );\n\n if (orderBody.child_orders.length === 0) {\n throw new SDKError(\"No child orders\");\n }\n\n // filter the order that is not activated\n orderBody.child_orders = orderBody.child_orders.filter(\n (order: API.AlgoOrderExt) => order.is_activated\n );\n\n return doCreateOrder(orderBody);\n };\n\n const deleteOrder = (orderId: number, symbol: string): Promise<any> => {\n return doDeleteOrder(null, {\n order_id: orderId,\n symbol,\n });\n };\n\n const updateOrder = (orderId: number): Promise<any> => {\n const orderCreator = getOrderCreator() as TPSLPositionOrderCreator;\n\n const [updatedOrderEntity, orderEntity] = orderCreator.crateUpdateOrder(\n // @ts-ignore\n order,\n options?.defaultOrder,\n valueConfig\n );\n\n if (updatedOrderEntity.child_orders.length === 0) {\n return Promise.resolve(\"Not any order needs to update\");\n }\n\n const needDelete =\n orderEntity.child_orders.filter(\n (order) =>\n typeof order.is_activated === \"boolean\" && !order.is_activated\n ).length === orderEntity.child_orders.length;\n\n if (needDelete) {\n return deleteOrder(orderId, order.symbol!);\n }\n\n return doUpdateOrder({\n order_id: orderId,\n ...updatedOrderEntity,\n });\n };\n\n return [\n omit([\"ignoreValidate\"], order) as ComputedAlgoOrder,\n {\n submit,\n\n // create: submit,\n\n // update: updateOrder,/\n setValue: setOrderValue,\n setValues,\n // createPositionTPSL: submit,\n // createTPSL: submit,\n validate,\n errors,\n },\n ];\n};\n"],"names":["useTaskProfitAndStopLossInternal","position","options","order","setOrder","useState","algo_order_id","defaultOrder","symbol","side","Number","position_qty","OrderSide","BUY","SELL","quantity","Math","abs","algo_type","symbolInfo","useSymbolsInfo","data","markPrice","useMarkPrice","doCreateOrder","useMutation","doUpdateOrder","doDeleteOrder","errors","setErrors","useEffect","trigger_prices","findTPSLFromOrder","tp_trigger_price","setOrderValue","ignoreValidate","sl_trigger_price","_setOrderValue","key","value","prev","newValue","calculateHelper","entryPrice","average_open_price","qty","orderSide","valueConfig","maxQty","requestAnimationFrame","orderCreator","getOrderCreator","validate","then","setValues","values","keys","Object","forEach","Promise","resolve","reject","create","compare","quantityNum","isNaN","AlgoOrderRootType","TP_SL","OrderFactory","POSITIONAL_TP_SL","submit","orderId","algoType","createOrder","updateOrder","orderBody","child_orders","length","SDKError","filter","is_activated","deleteOrder","order_id","updatedOrderEntity","orderEntity","crateUpdateOrder","needDelete","omit","setValue"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const useWalletSubscription: (options?: {
|
|
2
2
|
onMessage?: ((data: any) => void) | undefined;
|
|
3
|
-
} | undefined) => import("swr/subscription").SWRSubscriptionResponse<any, any>;
|
|
3
|
+
} | undefined) => import("swr/dist/subscription").SWRSubscriptionResponse<any, any>;
|
|
4
4
|
//# sourceMappingURL=useWalletSubscription.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletSubscription.d.ts","sourceRoot":"","sources":["../../src/orderly/useWalletSubscription.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;wBACb,GAAG,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"useWalletSubscription.d.ts","sourceRoot":"","sources":["../../src/orderly/useWalletSubscription.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;wBACb,GAAG,KAAK,IAAI;mFAuBhC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export declare namespace RefferalAPI {
|
|
2
|
+
interface ReferralInfo {
|
|
3
|
+
referrer_info: Referrer;
|
|
4
|
+
referee_info: Referee;
|
|
5
|
+
}
|
|
6
|
+
type ReferralCode = {
|
|
7
|
+
"code": string;
|
|
8
|
+
"max_rebate_rate": number;
|
|
9
|
+
"referee_rebate_rate": number;
|
|
10
|
+
"referrer_rebate_rate": number;
|
|
11
|
+
"total_invites": number;
|
|
12
|
+
"total_traded": number;
|
|
13
|
+
};
|
|
14
|
+
type Referrer = {
|
|
15
|
+
"total_invites": number;
|
|
16
|
+
"total_traded": number;
|
|
17
|
+
"total_referee_volume": number;
|
|
18
|
+
"total_referee_fee": number;
|
|
19
|
+
"referral_codes": ReferralCode[];
|
|
20
|
+
"total_referrer_rebate": number;
|
|
21
|
+
"1d_invites": number;
|
|
22
|
+
"7d_invites": number;
|
|
23
|
+
"30d_invites": number;
|
|
24
|
+
"1d_traded": number;
|
|
25
|
+
"7d_traded": number;
|
|
26
|
+
"30d_traded": number;
|
|
27
|
+
"1d_referee_volume": number;
|
|
28
|
+
"7d_referee_volume": number;
|
|
29
|
+
"30d_referee_volume": number;
|
|
30
|
+
"1d_referee_fee": number;
|
|
31
|
+
"7d_referee_fee": number;
|
|
32
|
+
"30d_referee_fee": number;
|
|
33
|
+
"1d_referrer_rebate": number;
|
|
34
|
+
"7d_referrer_rebate": number;
|
|
35
|
+
"30d_referrer_rebate": number;
|
|
36
|
+
};
|
|
37
|
+
type Referee = {
|
|
38
|
+
"referer_code"?: string;
|
|
39
|
+
"referee_rebate_rate"?: number;
|
|
40
|
+
"1d_referee_rebate": number;
|
|
41
|
+
"7d_referee_rebate": number;
|
|
42
|
+
"30d_referee_rebate": number;
|
|
43
|
+
"total_referee_rebate": number;
|
|
44
|
+
};
|
|
45
|
+
type RefereeInfoItem = {
|
|
46
|
+
"account_id": string;
|
|
47
|
+
"code_binding_time": number;
|
|
48
|
+
"fee": number;
|
|
49
|
+
"referral_code": string;
|
|
50
|
+
"referral_rebate": number;
|
|
51
|
+
"register_time": number;
|
|
52
|
+
"trade_status": string;
|
|
53
|
+
"user_address": string;
|
|
54
|
+
"volume": number;
|
|
55
|
+
};
|
|
56
|
+
type UserVolStats = {
|
|
57
|
+
"perp_volume_last_30_days": number;
|
|
58
|
+
"perp_volume_last_7_days": number;
|
|
59
|
+
"perp_volume_ltd": number;
|
|
60
|
+
"perp_volume_ytd": number;
|
|
61
|
+
};
|
|
62
|
+
type Distribution = {
|
|
63
|
+
"amount": number;
|
|
64
|
+
"created_time": number;
|
|
65
|
+
"id": number;
|
|
66
|
+
"status": string;
|
|
67
|
+
"token": string;
|
|
68
|
+
"type": string;
|
|
69
|
+
"updated_time": number;
|
|
70
|
+
};
|
|
71
|
+
type ReferralRebateSummary = {
|
|
72
|
+
"referral_rebate": number;
|
|
73
|
+
"volume": number;
|
|
74
|
+
"fee": number;
|
|
75
|
+
"date": string;
|
|
76
|
+
};
|
|
77
|
+
type RefereeRebateSummary = {
|
|
78
|
+
"referee_rebate": number;
|
|
79
|
+
"fee": number;
|
|
80
|
+
"date": string;
|
|
81
|
+
};
|
|
82
|
+
type DayliVolume = {
|
|
83
|
+
date: string;
|
|
84
|
+
perp_volume: number;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/referral/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/referral/api.ts"],"names":[],"rangeMappings":"","mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/referral/format.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAM3C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "formatDate", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return formatDate;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function formatDate(date) {
|
|
12
|
+
const year = date.getFullYear();
|
|
13
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
14
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
15
|
+
return `${year}-${month}-${day}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/referral/format.ts"],"sourcesContent":["export function formatDate(date: Date): string {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n \n return `${year}-${month}-${day}`;\n }\n "],"names":["formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getDate"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,WAAWC,IAAU;IACjC,MAAMC,OAAOD,KAAKE,WAAW;IAC7B,MAAMC,QAAQC,OAAOJ,KAAKK,QAAQ,KAAK,GAAGC,QAAQ,CAAC,GAAG;IACtD,MAAMC,MAAMH,OAAOJ,KAAKQ,OAAO,IAAIF,QAAQ,CAAC,GAAG;IAE/C,OAAO,CAAC,EAAEL,KAAK,CAAC,EAAEE,MAAM,CAAC,EAAEI,IAAI,CAAC;AAClC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { useCommission } from "./useCommission";
|
|
2
|
+
export { useDaily } from "./useDaily";
|
|
3
|
+
export { useDistribution } from "./useDistribution";
|
|
4
|
+
export { useReferralRebateSummary } from "./useReferralRebateSummary";
|
|
5
|
+
export { useRefereeHistory } from "./useRefereeHistory";
|
|
6
|
+
export { useRefereeInfo } from "./useRefereeInfo";
|
|
7
|
+
export { useRefereeRebateSummary } from "./useRefereeRebateSummary";
|
|
8
|
+
export * from "./api";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/referral/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
useCommission: function() {
|
|
13
|
+
return _useCommission.useCommission;
|
|
14
|
+
},
|
|
15
|
+
useDaily: function() {
|
|
16
|
+
return _useDaily.useDaily;
|
|
17
|
+
},
|
|
18
|
+
useDistribution: function() {
|
|
19
|
+
return _useDistribution.useDistribution;
|
|
20
|
+
},
|
|
21
|
+
useRefereeHistory: function() {
|
|
22
|
+
return _useRefereeHistory.useRefereeHistory;
|
|
23
|
+
},
|
|
24
|
+
useRefereeInfo: function() {
|
|
25
|
+
return _useRefereeInfo.useRefereeInfo;
|
|
26
|
+
},
|
|
27
|
+
useRefereeRebateSummary: function() {
|
|
28
|
+
return _useRefereeRebateSummary.useRefereeRebateSummary;
|
|
29
|
+
},
|
|
30
|
+
useReferralRebateSummary: function() {
|
|
31
|
+
return _useReferralRebateSummary.useReferralRebateSummary;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const _useCommission = require("./useCommission");
|
|
35
|
+
const _useDaily = require("./useDaily");
|
|
36
|
+
const _useDistribution = require("./useDistribution");
|
|
37
|
+
const _useReferralRebateSummary = require("./useReferralRebateSummary");
|
|
38
|
+
const _useRefereeHistory = require("./useRefereeHistory");
|
|
39
|
+
const _useRefereeInfo = require("./useRefereeInfo");
|
|
40
|
+
const _useRefereeRebateSummary = require("./useRefereeRebateSummary");
|
|
41
|
+
_export_star(require("./api"), exports);
|
|
42
|
+
function _export_star(from, to) {
|
|
43
|
+
Object.keys(from).forEach(function(k) {
|
|
44
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
45
|
+
Object.defineProperty(to, k, {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function() {
|
|
48
|
+
return from[k];
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return from;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/referral/index.ts"],"sourcesContent":["export { useCommission } from \"./useCommission\";\nexport { useDaily } from \"./useDaily\";\nexport { useDistribution } from \"./useDistribution\";\nexport { useReferralRebateSummary } from \"./useReferralRebateSummary\";\nexport { useRefereeHistory } from \"./useRefereeHistory\";\nexport { useRefereeInfo } from \"./useRefereeInfo\";\nexport { useRefereeRebateSummary } from \"./useRefereeRebateSummary\";\nexport * from \"./api\";\n"],"names":["useCommission","useDaily","useDistribution","useRefereeHistory","useRefereeInfo","useRefereeRebateSummary","useReferralRebateSummary"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,aAAa;eAAbA,4BAAa;;IACbC,QAAQ;eAARA,kBAAQ;;IACRC,eAAe;eAAfA,gCAAe;;IAEfC,iBAAiB;eAAjBA,oCAAiB;;IACjBC,cAAc;eAAdA,8BAAc;;IACdC,uBAAuB;eAAvBA,gDAAuB;;IAHvBC,wBAAwB;eAAxBA,kDAAwB;;;+BAHH;0BACL;iCACO;0CACS;mCACP;gCACH;yCACS;qBAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swr.d.ts","sourceRoot":"","sources":["../../src/referral/swr.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,SAChB;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,iBACe,MAAM,oBAAoB,GAAG,KAAG,MAAM,GAAG,IAoBpD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "generateKeyFun", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return generateKeyFun;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const generateKeyFun = (args)=>(pageIndex, previousPageData)=>{
|
|
12
|
+
// reached the end
|
|
13
|
+
if (previousPageData && !previousPageData.rows?.length) return null;
|
|
14
|
+
const { path, startDate, endDate, size = 100 } = args;
|
|
15
|
+
const search = new URLSearchParams([
|
|
16
|
+
[
|
|
17
|
+
"size",
|
|
18
|
+
size.toString()
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
"page",
|
|
22
|
+
`${pageIndex + 1}`
|
|
23
|
+
]
|
|
24
|
+
]);
|
|
25
|
+
if (startDate) {
|
|
26
|
+
search.set(`start_date`, startDate);
|
|
27
|
+
}
|
|
28
|
+
if (endDate) {
|
|
29
|
+
search.set(`end_date`, endDate);
|
|
30
|
+
}
|
|
31
|
+
return `${path}?${search.toString()}`;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=swr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/referral/swr.ts"],"sourcesContent":["\nexport const generateKeyFun =\n (args: {\n path: string,\n //** YYYY-MM-dd */\n startDate?: string;\n //** YYYY-MM-dd */\n endDate?: string;\n //** default is 100 */\n size?: number\n }) =>\n (pageIndex: number, previousPageData: any): string | null => {\n // reached the end\n if (previousPageData && !previousPageData.rows?.length) return null;\n\n const { path, startDate, endDate, size = 100 } = args;\n\n const search = new URLSearchParams([\n [\"size\", size.toString()],\n [\"page\", `${pageIndex + 1}`],\n ]);\n\n if (startDate) {\n search.set(`start_date`, startDate);\n }\n\n if (endDate) {\n search.set(`end_date`, endDate);\n }\n\n return `${path}?${search.toString()}`;\n };"],"names":["generateKeyFun","args","pageIndex","previousPageData","rows","length","path","startDate","endDate","size","search","URLSearchParams","toString","set"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BACaA;;;eAAAA;;;AAAN,MAAMA,iBACT,CAACC,OASG,CAACC,WAAmBC;QAChB,kBAAkB;QAClB,IAAIA,oBAAoB,CAACA,iBAAiBC,IAAI,EAAEC,QAAQ,OAAO;QAE/D,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAEC,OAAO,GAAG,EAAE,GAAGR;QAEjD,MAAMS,SAAS,IAAIC,gBAAgB;YAC/B;gBAAC;gBAAQF,KAAKG,QAAQ;aAAG;YACzB;gBAAC;gBAAQ,CAAC,EAAEV,YAAY,EAAE,CAAC;aAAC;SAC/B;QAED,IAAIK,WAAW;YACXG,OAAOG,GAAG,CAAC,CAAC,UAAU,CAAC,EAAEN;QAC7B;QAEA,IAAIC,SAAS;YACTE,OAAOG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEL;QAC3B;QAEA,OAAO,CAAC,EAAEF,KAAK,CAAC,EAAEI,OAAOE,QAAQ,GAAG,CAAC;IACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCommission.d.ts","sourceRoot":"","sources":["../../src/referral/useCommission.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,aAAc;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,UA4CxD,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useCommission", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useCommission;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _react = require("react");
|
|
12
|
+
const _useDistribution = require("./useDistribution");
|
|
13
|
+
const _useRefereeHistory = require("./useRefereeHistory");
|
|
14
|
+
const useCommission = (options)=>{
|
|
15
|
+
const [referee, { refresh: refreshReferee, loadMore: loadMoreReferee }] = (0, _useRefereeHistory.useRefereeHistory)({
|
|
16
|
+
size: options?.size
|
|
17
|
+
});
|
|
18
|
+
const [distribution, { refresh: refreshDistribution, loadMore: loadMoreDistribution, isLoading }] = (0, _useDistribution.useDistribution)({
|
|
19
|
+
size: options?.size
|
|
20
|
+
});
|
|
21
|
+
const commissionData = (0, _react.useMemo)(()=>{
|
|
22
|
+
return distribution?.map((item)=>{
|
|
23
|
+
if ("updated_time" in item) {
|
|
24
|
+
const updateTime = new Date(item.updated_time);
|
|
25
|
+
const index = referee?.findIndex((e)=>{
|
|
26
|
+
if ("date" in e) {
|
|
27
|
+
return compareDate(updateTime, new Date(e.date));
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
});
|
|
31
|
+
if (index !== -1) {
|
|
32
|
+
return {
|
|
33
|
+
...item,
|
|
34
|
+
volume: referee?.[index].volume
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
...item
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}, [
|
|
43
|
+
referee,
|
|
44
|
+
distribution
|
|
45
|
+
]);
|
|
46
|
+
const loadMore = ()=>{
|
|
47
|
+
loadMoreReferee();
|
|
48
|
+
loadMoreDistribution();
|
|
49
|
+
};
|
|
50
|
+
const refresh = ()=>{
|
|
51
|
+
refreshReferee();
|
|
52
|
+
refreshDistribution();
|
|
53
|
+
};
|
|
54
|
+
return [
|
|
55
|
+
commissionData,
|
|
56
|
+
{
|
|
57
|
+
loadMore,
|
|
58
|
+
refresh,
|
|
59
|
+
isLoading
|
|
60
|
+
}
|
|
61
|
+
];
|
|
62
|
+
};
|
|
63
|
+
//** compare two date, yyyy-mm-dd */
|
|
64
|
+
function compareDate(d1, d2) {
|
|
65
|
+
const isEqual = d1 && d2 && d1.getDay() === d2.getDay() && d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();
|
|
66
|
+
return isEqual;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=useCommission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/referral/useCommission.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useDistribution } from \"./useDistribution\";\nimport { useRefereeHistory } from \"./useRefereeHistory\";\n\nexport const useCommission = (options?: { size?: number }) => {\n\n const [referee, { refresh: refreshReferee, loadMore: loadMoreReferee, }] = useRefereeHistory({ size: options?.size });\n\n const [distribution, { refresh: refreshDistribution, loadMore: loadMoreDistribution, isLoading }] = useDistribution({ size: options?.size });\n\n const commissionData = useMemo(() => {\n\n return distribution?.map((item: any) => {\n\n if (\"updated_time\" in item) {\n const updateTime = new Date(item.updated_time);\n\n const index = referee?.findIndex((e: any) => {\n if (\"date\" in e) {\n return compareDate(updateTime, new Date(e.date));\n }\n return false;\n });\n if (index !== -1) {\n return { ...item, volume: referee?.[index].volume };\n }\n }\n return { ...item };\n\n });\n\n }, [referee, distribution]);\n\n const loadMore = () => {\n loadMoreReferee();\n loadMoreDistribution();\n }\n\n const refresh = () => {\n refreshReferee();\n refreshDistribution();\n }\n\n return [commissionData, {\n loadMore,\n refresh,\n isLoading\n }];\n}\n\n//** compare two date, yyyy-mm-dd */\nfunction compareDate(d1?: Date, d2?: Date) {\n const isEqual = d1 && d2 &&\n d1.getDay() === d2.getDay()\n && d1.getMonth() === d2.getMonth()\n && d1.getFullYear() === d2.getFullYear();\n\n\n return isEqual;\n}"],"names":["useCommission","options","referee","refresh","refreshReferee","loadMore","loadMoreReferee","useRefereeHistory","size","distribution","refreshDistribution","loadMoreDistribution","isLoading","useDistribution","commissionData","useMemo","map","item","updateTime","Date","updated_time","index","findIndex","e","compareDate","date","volume","d1","d2","isEqual","getDay","getMonth","getFullYear"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;uBAJW;iCACQ;mCACE;AAE3B,MAAMA,gBAAgB,CAACC;IAE1B,MAAM,CAACC,SAAS,EAAEC,SAASC,cAAc,EAAEC,UAAUC,eAAe,EAAG,CAAC,GAAGC,IAAAA,oCAAiB,EAAC;QAAEC,MAAMP,SAASO;IAAK;IAEnH,MAAM,CAACC,cAAc,EAAEN,SAASO,mBAAmB,EAAEL,UAAUM,oBAAoB,EAAEC,SAAS,EAAE,CAAC,GAAGC,IAAAA,gCAAe,EAAC;QAAEL,MAAMP,SAASO;IAAK;IAE1I,MAAMM,iBAAiBC,IAAAA,cAAO,EAAC;QAE3B,OAAON,cAAcO,IAAI,CAACC;YAEtB,IAAI,kBAAkBA,MAAM;gBACxB,MAAMC,aAAa,IAAIC,KAAKF,KAAKG,YAAY;gBAE7C,MAAMC,QAAQnB,SAASoB,UAAU,CAACC;oBAC9B,IAAI,UAAUA,GAAG;wBACb,OAAOC,YAAYN,YAAY,IAAIC,KAAKI,EAAEE,IAAI;oBAClD;oBACA,OAAO;gBACX;gBACA,IAAIJ,UAAU,CAAC,GAAG;oBACd,OAAO;wBAAE,GAAGJ,IAAI;wBAAES,QAAQxB,SAAS,CAACmB,MAAM,CAACK;oBAAO;gBACtD;YACJ;YACA,OAAO;gBAAE,GAAGT,IAAI;YAAC;QAErB;IAEJ,GAAG;QAACf;QAASO;KAAa;IAE1B,MAAMJ,WAAW;QACbC;QACAK;IACJ;IAEA,MAAMR,UAAU;QACZC;QACAM;IACJ;IAEA,OAAO;QAACI;QAAgB;YACpBT;YACAF;YACAS;QACJ;KAAE;AACN;AAEA,oCAAoC;AACpC,SAASY,YAAYG,EAAS,EAAEC,EAAS;IACrC,MAAMC,UAAUF,MAAMC,MAClBD,GAAGG,MAAM,OAAOF,GAAGE,MAAM,MACtBH,GAAGI,QAAQ,OAAOH,GAAGG,QAAQ,MAC7BJ,GAAGK,WAAW,OAAOJ,GAAGI,WAAW;IAG1C,OAAOH;AACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDaily.d.ts","sourceRoot":"","sources":["../../src/referral/useDaily.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,eAAO,MAAM,QAAQ,aAAc;IAE/B,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,OAAO,CAAC,EAAE,IAAI,CAAA;CACjB;;YAEW,GAAG;CAsBd,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useDaily", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useDaily;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _usePrivateQuery = require("../usePrivateQuery");
|
|
12
|
+
const _format = require("./format");
|
|
13
|
+
const useDaily = (options)=>{
|
|
14
|
+
const path = "/v1/volume/user/daily";
|
|
15
|
+
const endDate = options?.startDate || new Date();
|
|
16
|
+
const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);
|
|
17
|
+
const start_date = (0, _format.formatDate)(startDate);
|
|
18
|
+
const end_date = (0, _format.formatDate)(endDate);
|
|
19
|
+
const url = `${path}?start_date=${start_date}&end_date=${end_date}`;
|
|
20
|
+
const { data: dailyVolume, mutate } = (0, _usePrivateQuery.usePrivateQuery)(url, {
|
|
21
|
+
revalidateOnFocus: true
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
data: dailyVolume,
|
|
25
|
+
mutate
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=useDaily.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/referral/useDaily.ts"],"sourcesContent":["\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { RefferalAPI } from \"./api\";\nimport { formatDate } from \"./format\";\nexport const useDaily = (options?: {\n //** default Date() - 30d */\n startDate?: Date,\n //** default Date() */\n endDate?: Date\n}): {\n data?: RefferalAPI.DayliVolume[],\n mutate: any,\n} => {\n\n const path = \"/v1/volume/user/daily\";\n const endDate = options?.startDate || new Date();\n const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);\n\n const start_date = formatDate(startDate);\n const end_date = formatDate(endDate);\n\n const url = `${path}?start_date=${start_date}&end_date=${end_date}`;\n const {\n data: dailyVolume,\n mutate,\n } = usePrivateQuery<RefferalAPI.DayliVolume[]>(url, {\n revalidateOnFocus: true\n });\n\n return {\n data: dailyVolume,\n mutate,\n }\n}\n\n\n\n"],"names":["useDaily","options","path","endDate","startDate","Date","now","start_date","formatDate","end_date","url","data","dailyVolume","mutate","usePrivateQuery","revalidateOnFocus"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;iCAHmB;wBAEL;AACpB,MAAMA,WAAW,CAACC;IAUrB,MAAMC,OAAO;IACb,MAAMC,UAAUF,SAASG,aAAa,IAAIC;IAC1C,MAAMD,YAAYH,SAASE,WAAW,IAAIE,KAAKA,KAAKC,GAAG,KAAK,WAAW;IAEvE,MAAMC,aAAaC,IAAAA,kBAAU,EAACJ;IAC9B,MAAMK,WAAWD,IAAAA,kBAAU,EAACL;IAE5B,MAAMO,MAAM,CAAC,EAAER,KAAK,YAAY,EAAEK,WAAW,UAAU,EAAEE,SAAS,CAAC;IACnE,MAAM,EACFE,MAAMC,WAAW,EACjBC,MAAM,EACT,GAAGC,IAAAA,gCAAe,EAA4BJ,KAAK;QAChDK,mBAAmB;IACvB;IAEA,OAAO;QACHJ,MAAMC;QACNC;IACJ;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDistribution.d.ts","sourceRoot":"","sources":["../../src/referral/useDistribution.ts"],"names":[],"mappings":"AAKA,KAAK,MAAM,GAAG;IAEV,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,GA+ChD,CAAA"}
|