@orderly.network/hooks 1.4.0-alpha.1 → 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.d.ts.map +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.d.ts.map +1 -1
- package/lib/version.js +2 -2
- package/lib/version.js.map +1 -1
- package/package.json +7 -7
package/esm/index.d.ts
CHANGED
|
@@ -34,4 +34,5 @@ export { cleanStringStyle } from "./utils/orderEntryHelper";
|
|
|
34
34
|
export { checkNotional } from "./utils/createOrder";
|
|
35
35
|
export * as utils from "./utils";
|
|
36
36
|
export type { WalletAdapter } from "@orderly.network/core";
|
|
37
|
+
export * from "./referral";
|
|
37
38
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,MAAM,EAAE,EACb,KAAK,gBAAgB,EACrB,SAAS,EACT,YAAY,EACZ,kBAAkB,EACnB,MAAM,KAAK,CAAC;AAEb,OAAO,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,KAAK,gBAAgB,EACrB,kBAAkB,GACnB,CAAC;AAEF,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EACV,kBAAkB,EAClB,WAAW,GACZ,MAAM,8BAA8B,CAAC;AAEtC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,MAAM,EAAE,EACb,KAAK,gBAAgB,EACrB,SAAS,EACT,YAAY,EACZ,kBAAkB,EACnB,MAAM,KAAK,CAAC;AAEb,OAAO,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,KAAK,gBAAgB,EACrB,kBAAkB,GACnB,CAAC;AAEF,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EACV,kBAAkB,EAClB,WAAW,GACZ,MAAM,8BAA8B,CAAC;AAEtC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,cAAc,YAAY,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -32,5 +32,6 @@ export * from "./orderly/orderlyHooks";
|
|
|
32
32
|
export { cleanStringStyle } from "./utils/orderEntryHelper";
|
|
33
33
|
export { checkNotional } from "./utils/createOrder";
|
|
34
34
|
export * as utils from "./utils";
|
|
35
|
+
export * from "./referral";
|
|
35
36
|
|
|
36
37
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// import \"./utils/dev\";\n\nexport { default as version } from \"./version\";\n\nexport { useQuery } from \"./useQuery\";\nexport { useLazyQuery } from \"./useLazyQuery\";\nexport { useMutation } from \"./useMutation\";\nexport { usePrivateQuery } from \"./usePrivateQuery\";\nexport { usePrivateInfiniteQuery } from \"./usePrivateInfiniteQuery\";\nexport { useBoolean } from \"./useBoolean\";\n\nexport { useAccount } from \"./useAccount\";\nexport { useAccountInstance } from \"./useAccountInstance\";\n\nexport { usePreLoadData } from \"./usePreloadData\";\n\nexport { useEventEmitter } from \"./useEventEmitter\";\n\nexport { useSessionStorage } from \"./useSessionStorage\";\nexport { useLocalStorage } from \"./useLocalStorage\";\n\nexport { parseJSON } from \"./utils/json\";\n\nexport { default as useConstant } from \"use-constant\";\nexport { useWS } from \"./useWS\";\nexport { useConfig } from \"./useConfig\";\n\nexport * from \"./orderlyContext\";\nexport * from \"./statusProvider\";\nexport { useWsStatus, WsNetworkStatus } from \"./useWsStatus\";\nexport type { ConfigProviderProps } from \"./configProvider\";\nexport { OrderlyConfigProvider } from \"./configProvider\";\n\nexport {\n WalletConnectorContext,\n useWalletConnector,\n} from \"./walletConnectorContext\";\n\nexport * from \"./orderly/orderlyHooks\";\n\nimport useSWR, {\n type SWRConfiguration,\n SWRConfig,\n useSWRConfig,\n unstable_serialize,\n} from \"swr\";\n\nexport {\n useSWR,\n SWRConfig,\n useSWRConfig,\n type SWRConfiguration,\n unstable_serialize,\n};\n\nexport * from \"use-debounce\";\n\nexport { useMediaQuery } from \"./useMediaQuery\";\n\nexport { usePoster } from \"./usePoster\";\nexport { DefaultLayoutConfig } from \"./services/painter/layout.config\";\nexport type {\n PosterLayoutConfig,\n DrawOptions,\n} from \"./services/painter/basePaint\";\n\nexport * from \"./orderly/orderlyHooks\";\n\nexport { cleanStringStyle } from \"./utils/orderEntryHelper\";\nexport { checkNotional } from \"./utils/createOrder\";\n\nexport * as utils from \"./utils\";\n\nexport type { WalletAdapter } from \"@orderly.network/core\";\n"],"names":["default","version","useQuery","useLazyQuery","useMutation","usePrivateQuery","usePrivateInfiniteQuery","useBoolean","useAccount","useAccountInstance","usePreLoadData","useEventEmitter","useSessionStorage","useLocalStorage","parseJSON","useConstant","useWS","useConfig","useWsStatus","WsNetworkStatus","OrderlyConfigProvider","WalletConnectorContext","useWalletConnector","useSWR","SWRConfig","useSWRConfig","unstable_serialize","useMediaQuery","usePoster","DefaultLayoutConfig","cleanStringStyle","checkNotional","utils"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// import \"./utils/dev\";\n\nexport { default as version } from \"./version\";\n\nexport { useQuery } from \"./useQuery\";\nexport { useLazyQuery } from \"./useLazyQuery\";\nexport { useMutation } from \"./useMutation\";\nexport { usePrivateQuery } from \"./usePrivateQuery\";\nexport { usePrivateInfiniteQuery } from \"./usePrivateInfiniteQuery\";\nexport { useBoolean } from \"./useBoolean\";\n\nexport { useAccount } from \"./useAccount\";\nexport { useAccountInstance } from \"./useAccountInstance\";\n\nexport { usePreLoadData } from \"./usePreloadData\";\n\nexport { useEventEmitter } from \"./useEventEmitter\";\n\nexport { useSessionStorage } from \"./useSessionStorage\";\nexport { useLocalStorage } from \"./useLocalStorage\";\n\nexport { parseJSON } from \"./utils/json\";\n\nexport { default as useConstant } from \"use-constant\";\nexport { useWS } from \"./useWS\";\nexport { useConfig } from \"./useConfig\";\n\nexport * from \"./orderlyContext\";\nexport * from \"./statusProvider\";\nexport { useWsStatus, WsNetworkStatus } from \"./useWsStatus\";\nexport type { ConfigProviderProps } from \"./configProvider\";\nexport { OrderlyConfigProvider } from \"./configProvider\";\n\nexport {\n WalletConnectorContext,\n useWalletConnector,\n} from \"./walletConnectorContext\";\n\nexport * from \"./orderly/orderlyHooks\";\n\nimport useSWR, {\n type SWRConfiguration,\n SWRConfig,\n useSWRConfig,\n unstable_serialize,\n} from \"swr\";\n\nexport {\n useSWR,\n SWRConfig,\n useSWRConfig,\n type SWRConfiguration,\n unstable_serialize,\n};\n\nexport * from \"use-debounce\";\n\nexport { useMediaQuery } from \"./useMediaQuery\";\n\nexport { usePoster } from \"./usePoster\";\nexport { DefaultLayoutConfig } from \"./services/painter/layout.config\";\nexport type {\n PosterLayoutConfig,\n DrawOptions,\n} from \"./services/painter/basePaint\";\n\nexport * from \"./orderly/orderlyHooks\";\n\nexport { cleanStringStyle } from \"./utils/orderEntryHelper\";\nexport { checkNotional } from \"./utils/createOrder\";\n\nexport * as utils from \"./utils\";\n\nexport type { WalletAdapter } from \"@orderly.network/core\";\n\n\nexport * from \"./referral\";"],"names":["default","version","useQuery","useLazyQuery","useMutation","usePrivateQuery","usePrivateInfiniteQuery","useBoolean","useAccount","useAccountInstance","usePreLoadData","useEventEmitter","useSessionStorage","useLocalStorage","parseJSON","useConstant","useWS","useConfig","useWsStatus","WsNetworkStatus","OrderlyConfigProvider","WalletConnectorContext","useWalletConnector","useSWR","SWRConfig","useSWRConfig","unstable_serialize","useMediaQuery","usePoster","DefaultLayoutConfig","cleanStringStyle","checkNotional","utils"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,wBAAwB;AAExB,SAASA,WAAWC,OAAO,QAAQ,YAAY;AAE/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,uBAAuB,QAAQ,4BAA4B;AACpE,SAASC,UAAU,QAAQ,eAAe;AAE1C,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,kBAAkB,QAAQ,uBAAuB;AAE1D,SAASC,cAAc,QAAQ,mBAAmB;AAElD,SAASC,eAAe,QAAQ,oBAAoB;AAEpD,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,eAAe,QAAQ,oBAAoB;AAEpD,SAASC,SAAS,QAAQ,eAAe;AAEzC,SAASd,WAAWe,WAAW,QAAQ,eAAe;AACtD,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,SAAS,QAAQ,cAAc;AAExC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,SAASC,WAAW,EAAEC,eAAe,QAAQ,gBAAgB;AAE7D,SAASC,qBAAqB,QAAQ,mBAAmB;AAEzD,SACEC,sBAAsB,EACtBC,kBAAkB,QACb,2BAA2B;AAElC,cAAc,yBAAyB;AAEvC,OAAOC,UAELC,SAAS,EACTC,YAAY,EACZC,kBAAkB,QACb,MAAM;AAEb,SACEH,MAAM,EACNC,SAAS,EACTC,YAAY,EAEZC,kBAAkB,GAClB;AAEF,cAAc,eAAe;AAE7B,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,mBAAmB,QAAQ,mCAAmC;AAMvE,cAAc,yBAAyB;AAEvC,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,OAAO,KAAKC,KAAK,MAAM,UAAU;AAKjC,cAAc,aAAa"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { API } from "@orderly.network/types";
|
|
2
|
-
export declare const useAccountInfo: () => import("swr/_internal").SWRResponse<API.AccountInfo, any, any>;
|
|
2
|
+
export declare const useAccountInfo: () => import("swr/dist/_internal").SWRResponse<API.AccountInfo, any, any>;
|
|
3
3
|
//# sourceMappingURL=useAccountInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAccountInfo.d.ts","sourceRoot":"","sources":["../../src/orderly/useAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAG7C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"useAccountInfo.d.ts","sourceRoot":"","sources":["../../src/orderly/useAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAG7C,eAAO,MAAM,cAAc,2EAE1B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const useIndexPrice: (symbol: string) => import("swr/subscription").SWRSubscriptionResponse<any, any>;
|
|
1
|
+
export declare const useIndexPrice: (symbol: string) => import("swr/dist/subscription").SWRSubscriptionResponse<any, any>;
|
|
2
2
|
//# sourceMappingURL=useIndexPrice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIndexPrice.d.ts","sourceRoot":"","sources":["../../src/orderly/useIndexPrice.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,WAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"useIndexPrice.d.ts","sourceRoot":"","sources":["../../src/orderly/useIndexPrice.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,WAAY,MAAM,sEAe3C,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const useMarkPricesStream: () => import("swr/subscription").SWRSubscriptionResponse<Record<string, number>, any>;
|
|
1
|
+
export declare const useMarkPricesStream: () => import("swr/dist/subscription").SWRSubscriptionResponse<Record<string, number>, any>;
|
|
2
2
|
//# sourceMappingURL=useMarkPricesStream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkPricesStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkPricesStream.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useMarkPricesStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkPricesStream.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,4FAkC/B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const useOpenInterest: (symbol: string) => import("swr/subscription").SWRSubscriptionResponse<any, any>;
|
|
1
|
+
export declare const useOpenInterest: (symbol: string) => import("swr/dist/subscription").SWRSubscriptionResponse<any, any>;
|
|
2
2
|
//# sourceMappingURL=useOpenInterest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenInterest.d.ts","sourceRoot":"","sources":["../../src/orderly/useOpenInterest.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,WAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"useOpenInterest.d.ts","sourceRoot":"","sources":["../../src/orderly/useOpenInterest.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,WAAY,MAAM,sEAa7C,CAAC"}
|
|
@@ -27,7 +27,7 @@ export declare const useOrderStream: (params: {
|
|
|
27
27
|
}) => readonly [any[] | null, {
|
|
28
28
|
readonly total: number;
|
|
29
29
|
readonly isLoading: boolean;
|
|
30
|
-
readonly refresh: import("swr/_internal").
|
|
30
|
+
readonly refresh: <MutationData = any[]>(data?: any[] | import("swr/dist/_internal").MutatorCallback<any[]> | Promise<any[] | undefined> | undefined, opts?: boolean | import("swr/dist/infinite").SWRInfiniteMutatorOptions<any[], MutationData> | undefined) => Promise<any[] | MutationData | undefined>;
|
|
31
31
|
readonly loadMore: () => void;
|
|
32
32
|
readonly cancelAllOrders: () => Promise<[any, any]>;
|
|
33
33
|
readonly cancelAllTPSLOrders: () => Promise<any[]>;
|
|
@@ -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":["useEffect","useState","OrderSide","SDKError","calculateHelper","useMutation","OrderFactory","AlgoOrderRootType","findTPSLFromOrder","useSymbolsInfo","useMarkPrice","omit","useTaskProfitAndStopLossInternal","position","options","order","setOrder","algo_order_id","defaultOrder","symbol","side","Number","position_qty","BUY","SELL","quantity","Math","abs","algo_type","symbolInfo","data","markPrice","doCreateOrder","doUpdateOrder","doDeleteOrder","errors","setErrors","trigger_prices","tp_trigger_price","setOrderValue","ignoreValidate","sl_trigger_price","_setOrderValue","key","value","prev","newValue","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","TP_SL","POSITIONAL_TP_SL","submit","orderId","algoType","createOrder","updateOrder","orderBody","child_orders","length","filter","is_activated","deleteOrder","order_id","updatedOrderEntity","orderEntity","crateUpdateOrder","needDelete","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":["useEffect","useState","OrderSide","SDKError","calculateHelper","useMutation","OrderFactory","AlgoOrderRootType","findTPSLFromOrder","useSymbolsInfo","useMarkPrice","omit","useTaskProfitAndStopLossInternal","position","options","order","setOrder","algo_order_id","defaultOrder","symbol","side","Number","position_qty","BUY","SELL","quantity","Math","abs","algo_type","symbolInfo","data","markPrice","doCreateOrder","doUpdateOrder","doDeleteOrder","errors","setErrors","trigger_prices","tp_trigger_price","setOrderValue","ignoreValidate","sl_trigger_price","_setOrderValue","key","value","prev","newValue","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","TP_SL","POSITIONAL_TP_SL","submit","orderId","algoType","createOrder","updateOrder","orderBody","child_orders","length","filter","is_activated","deleteOrder","order_id","updatedOrderEntity","orderEntity","crateUpdateOrder","needDelete","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"],"sourcesContent":["export declare namespace RefferalAPI {\n\n export interface ReferralInfo {\n referrer_info: Referrer,\n referee_info: Referee,\n }\n\n export type ReferralCode = {\n \"code\": string,\n \"max_rebate_rate\": number,\n \"referee_rebate_rate\": number,\n \"referrer_rebate_rate\": number,\n \"total_invites\": number,\n \"total_traded\": number\n };\n\n export type Referrer = {\n \"total_invites\": number,\n \"total_traded\": number,\n \"total_referee_volume\": number,\n \"total_referee_fee\": number,\n \"referral_codes\": ReferralCode[],\n \"total_referrer_rebate\": number,\n \"1d_invites\": number,\n \"7d_invites\": number,\n \"30d_invites\": number,\n \"1d_traded\": number,\n \"7d_traded\": number,\n \"30d_traded\": number,\n \"1d_referee_volume\": number,\n \"7d_referee_volume\": number,\n \"30d_referee_volume\": number,\n \"1d_referee_fee\": number,\n \"7d_referee_fee\": number,\n \"30d_referee_fee\": number,\n \"1d_referrer_rebate\": number,\n \"7d_referrer_rebate\": number,\n \"30d_referrer_rebate\": number\n };\n\n export type Referee = {\n \"referer_code\"?: string,\n \"referee_rebate_rate\"?: number,\n \"1d_referee_rebate\": number,\n \"7d_referee_rebate\": number,\n \"30d_referee_rebate\": number,\n \"total_referee_rebate\": number\n };\n\n export type RefereeInfoItem = {\n \"account_id\": string,\n \"code_binding_time\": number,\n \"fee\": number,\n \"referral_code\": string,\n \"referral_rebate\": number,\n \"register_time\": number,\n \"trade_status\": string,\n \"user_address\": string,\n \"volume\": number\n };\n\n //** use volume statistics */\n export type UserVolStats = {\n \"perp_volume_last_30_days\": number,\n \"perp_volume_last_7_days\": number,\n \"perp_volume_ltd\": number,\n \"perp_volume_ytd\": number\n };\n\n export type Distribution = {\n \"amount\": number,\n \"created_time\": number,\n \"id\": number,\n \"status\": string,\n \"token\": string,\n \"type\": string,\n \"updated_time\": number,\n };\n\n export type ReferralRebateSummary = {\n \"referral_rebate\": number,\n \"volume\": number,\n \"fee\": number,\n \"date\": string,\n };\n\n export type RefereeRebateSummary = {\n \"referee_rebate\": number,\n \"fee\": number,\n \"date\": string,\n };\n\n export type DayliVolume = {\n date: string,\n perp_volume: number\n };\n}"],"names":[],"rangeMappings":"","mappings":"AAAA,WAgGC"}
|
|
@@ -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 @@
|
|
|
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":"AAAA,OAAO,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,10 @@
|
|
|
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
|
+
|
|
10
|
+
//# 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","useReferralRebateSummary","useRefereeHistory","useRefereeInfo","useRefereeRebateSummary"],"rangeMappings":";;;;;;;","mappings":"AAAA,SAASA,aAAa,QAAQ,kBAAkB;AAChD,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,wBAAwB,QAAQ,6BAA6B;AACtE,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,uBAAuB,QAAQ,4BAA4B;AACpE,cAAc,QAAQ"}
|
|
@@ -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,24 @@
|
|
|
1
|
+
export const generateKeyFun = (args)=>(pageIndex, previousPageData)=>{
|
|
2
|
+
// reached the end
|
|
3
|
+
if (previousPageData && !previousPageData.rows?.length) return null;
|
|
4
|
+
const { path, startDate, endDate, size = 100 } = args;
|
|
5
|
+
const search = new URLSearchParams([
|
|
6
|
+
[
|
|
7
|
+
"size",
|
|
8
|
+
size.toString()
|
|
9
|
+
],
|
|
10
|
+
[
|
|
11
|
+
"page",
|
|
12
|
+
`${pageIndex + 1}`
|
|
13
|
+
]
|
|
14
|
+
]);
|
|
15
|
+
if (startDate) {
|
|
16
|
+
search.set(`start_date`, startDate);
|
|
17
|
+
}
|
|
18
|
+
if (endDate) {
|
|
19
|
+
search.set(`end_date`, endDate);
|
|
20
|
+
}
|
|
21
|
+
return `${path}?${search.toString()}`;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//# 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":"AACA,OAAO,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,EAAE"}
|
|
@@ -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,59 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useDistribution } from "./useDistribution";
|
|
3
|
+
import { useRefereeHistory } from "./useRefereeHistory";
|
|
4
|
+
export const useCommission = (options)=>{
|
|
5
|
+
const [referee, { refresh: refreshReferee, loadMore: loadMoreReferee }] = useRefereeHistory({
|
|
6
|
+
size: options?.size
|
|
7
|
+
});
|
|
8
|
+
const [distribution, { refresh: refreshDistribution, loadMore: loadMoreDistribution, isLoading }] = useDistribution({
|
|
9
|
+
size: options?.size
|
|
10
|
+
});
|
|
11
|
+
const commissionData = useMemo(()=>{
|
|
12
|
+
return distribution?.map((item)=>{
|
|
13
|
+
if ("updated_time" in item) {
|
|
14
|
+
const updateTime = new Date(item.updated_time);
|
|
15
|
+
const index = referee?.findIndex((e)=>{
|
|
16
|
+
if ("date" in e) {
|
|
17
|
+
return compareDate(updateTime, new Date(e.date));
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
});
|
|
21
|
+
if (index !== -1) {
|
|
22
|
+
return {
|
|
23
|
+
...item,
|
|
24
|
+
volume: referee?.[index].volume
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
...item
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}, [
|
|
33
|
+
referee,
|
|
34
|
+
distribution
|
|
35
|
+
]);
|
|
36
|
+
const loadMore = ()=>{
|
|
37
|
+
loadMoreReferee();
|
|
38
|
+
loadMoreDistribution();
|
|
39
|
+
};
|
|
40
|
+
const refresh = ()=>{
|
|
41
|
+
refreshReferee();
|
|
42
|
+
refreshDistribution();
|
|
43
|
+
};
|
|
44
|
+
return [
|
|
45
|
+
commissionData,
|
|
46
|
+
{
|
|
47
|
+
loadMore,
|
|
48
|
+
refresh,
|
|
49
|
+
isLoading
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
};
|
|
53
|
+
//** compare two date, yyyy-mm-dd */
|
|
54
|
+
function compareDate(d1, d2) {
|
|
55
|
+
const isEqual = d1 && d2 && d1.getDay() === d2.getDay() && d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();
|
|
56
|
+
return isEqual;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# 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":["useMemo","useDistribution","useRefereeHistory","useCommission","options","referee","refresh","refreshReferee","loadMore","loadMoreReferee","size","distribution","refreshDistribution","loadMoreDistribution","isLoading","commissionData","map","item","updateTime","Date","updated_time","index","findIndex","e","compareDate","date","volume","d1","d2","isEqual","getDay","getMonth","getFullYear"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,iBAAiB,QAAQ,sBAAsB;AAExD,OAAO,MAAMC,gBAAgB,CAACC;IAE1B,MAAM,CAACC,SAAS,EAAEC,SAASC,cAAc,EAAEC,UAAUC,eAAe,EAAG,CAAC,GAAGP,kBAAkB;QAAEQ,MAAMN,SAASM;IAAK;IAEnH,MAAM,CAACC,cAAc,EAAEL,SAASM,mBAAmB,EAAEJ,UAAUK,oBAAoB,EAAEC,SAAS,EAAE,CAAC,GAAGb,gBAAgB;QAAES,MAAMN,SAASM;IAAK;IAE1I,MAAMK,iBAAiBf,QAAQ;QAE3B,OAAOW,cAAcK,IAAI,CAACC;YAEtB,IAAI,kBAAkBA,MAAM;gBACxB,MAAMC,aAAa,IAAIC,KAAKF,KAAKG,YAAY;gBAE7C,MAAMC,QAAQhB,SAASiB,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,QAAQrB,SAAS,CAACgB,MAAM,CAACK;oBAAO;gBACtD;YACJ;YACA,OAAO;gBAAE,GAAGT,IAAI;YAAC;QAErB;IAEJ,GAAG;QAACZ;QAASM;KAAa;IAE1B,MAAMH,WAAW;QACbC;QACAI;IACJ;IAEA,MAAMP,UAAU;QACZC;QACAK;IACJ;IAEA,OAAO;QAACG;QAAgB;YACpBP;YACAF;YACAQ;QACJ;KAAE;AACN,EAAC;AAED,oCAAoC;AACpC,SAASU,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"}
|