@pear-protocol/symmio-client 0.2.12 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react/index.d.mts +8290 -321
- package/dist/react/index.d.ts +8290 -321
- package/dist/react/index.js +528 -493
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +500 -483
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react/index.js
CHANGED
|
@@ -950,95 +950,124 @@ function invalidateOrders(qc) {
|
|
|
950
950
|
qc.invalidateQueries({ queryKey: ["symm", "triggerOrders"] });
|
|
951
951
|
}
|
|
952
952
|
|
|
953
|
-
// src/react/
|
|
954
|
-
function
|
|
953
|
+
// src/react/mutation-config.ts
|
|
954
|
+
function withSymmMutationConfig(config, internal) {
|
|
955
955
|
const {
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
} =
|
|
961
|
-
|
|
962
|
-
|
|
956
|
+
onSuccess: configOnSuccess,
|
|
957
|
+
onError: configOnError,
|
|
958
|
+
onSettled: configOnSettled,
|
|
959
|
+
...rest
|
|
960
|
+
} = config ?? {};
|
|
961
|
+
return {
|
|
962
|
+
...rest,
|
|
963
|
+
onSuccess: async (...args) => {
|
|
964
|
+
await internal?.onSuccess?.(...args);
|
|
965
|
+
await configOnSuccess?.(...args);
|
|
966
|
+
},
|
|
967
|
+
onError: async (...args) => {
|
|
968
|
+
await internal?.onError?.(...args);
|
|
969
|
+
await configOnError?.(...args);
|
|
970
|
+
},
|
|
971
|
+
onSettled: async (...args) => {
|
|
972
|
+
await internal?.onSettled?.(...args);
|
|
973
|
+
await configOnSettled?.(...args);
|
|
974
|
+
}
|
|
975
|
+
};
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
// src/react/hooks/use-symm-instant-trade.ts
|
|
979
|
+
function useInstantTradeDeps(params) {
|
|
980
|
+
const { symmCoreClient, chainId, address, symmioConfig } = useSymmContext();
|
|
963
981
|
const multiAccount = symmioConfig?.multiAccountAddress ?? getAddress(MULTI_ACCOUNT_ADDRESS, chainId, "MultiAccount");
|
|
964
982
|
const defaultAccountAddress = params.accountAddress ?? address;
|
|
965
983
|
const defaultTarget = params.target ?? DEFAULT_PARTY_B_ADDRESS[chainId];
|
|
966
984
|
const defaultSelectors = params.selectors ?? ALL_TRADING_SELECTORS;
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
);
|
|
998
|
-
if (!accessStates.every(Boolean)) {
|
|
999
|
-
await delegateAccess(walletClient, publicClient, multiAccount, {
|
|
1000
|
-
account: accountAddress,
|
|
1001
|
-
target,
|
|
1002
|
-
selectors: [...selectors],
|
|
1003
|
-
activate: true
|
|
1004
|
-
});
|
|
1005
|
-
await queryClient.invalidateQueries({
|
|
1006
|
-
queryKey: symmKeys.delegation(accountAddress, target, selectors, chainId)
|
|
1007
|
-
});
|
|
1008
|
-
}
|
|
1009
|
-
return {
|
|
1010
|
-
accessToken,
|
|
1011
|
-
accountAddress,
|
|
985
|
+
return {
|
|
986
|
+
chainId,
|
|
987
|
+
defaultAccountAddress,
|
|
988
|
+
defaultSelectors,
|
|
989
|
+
defaultTarget,
|
|
990
|
+
multiAccount,
|
|
991
|
+
publicClient: params.publicClient,
|
|
992
|
+
symmCoreClient,
|
|
993
|
+
walletClient: params.walletClient
|
|
994
|
+
};
|
|
995
|
+
}
|
|
996
|
+
async function ensureInstantTradeReady(deps, queryClient, request) {
|
|
997
|
+
const { chainId, defaultAccountAddress, defaultSelectors, defaultTarget, multiAccount, publicClient, walletClient } = deps;
|
|
998
|
+
if (!publicClient || !walletClient) throw new Error("Clients not available");
|
|
999
|
+
const accountAddress = request?.accountAddress ?? defaultAccountAddress;
|
|
1000
|
+
const target = request?.target ?? defaultTarget;
|
|
1001
|
+
const selectors = request?.selectors ?? defaultSelectors;
|
|
1002
|
+
if (!accountAddress) throw new Error("account address is required");
|
|
1003
|
+
if (!target) throw new Error("delegation target is not configured");
|
|
1004
|
+
if (selectors.length === 0) {
|
|
1005
|
+
throw new Error("at least one delegation selector is required");
|
|
1006
|
+
}
|
|
1007
|
+
const accessToken = useSymmAuthStore.getState().getToken(accountAddress, chainId);
|
|
1008
|
+
if (!accessToken) {
|
|
1009
|
+
throw new Error("auth token is required for instant trading");
|
|
1010
|
+
}
|
|
1011
|
+
const accessStates = await Promise.all(
|
|
1012
|
+
selectors.map(
|
|
1013
|
+
(selector) => hasDelegatedAccess(publicClient, multiAccount, {
|
|
1014
|
+
account: accountAddress,
|
|
1012
1015
|
target,
|
|
1013
|
-
|
|
1014
|
-
}
|
|
1015
|
-
|
|
1016
|
+
selector
|
|
1017
|
+
})
|
|
1018
|
+
)
|
|
1019
|
+
);
|
|
1020
|
+
if (!accessStates.every(Boolean)) {
|
|
1021
|
+
await delegateAccess(walletClient, publicClient, multiAccount, {
|
|
1022
|
+
account: accountAddress,
|
|
1023
|
+
target,
|
|
1024
|
+
selectors: [...selectors],
|
|
1025
|
+
activate: true
|
|
1026
|
+
});
|
|
1027
|
+
await queryClient.invalidateQueries({
|
|
1028
|
+
queryKey: symmKeys.delegation(accountAddress, target, selectors, chainId)
|
|
1029
|
+
});
|
|
1030
|
+
}
|
|
1031
|
+
return {
|
|
1032
|
+
accessToken,
|
|
1033
|
+
accountAddress,
|
|
1034
|
+
target,
|
|
1035
|
+
selectors
|
|
1036
|
+
};
|
|
1037
|
+
}
|
|
1038
|
+
function useSymmInstantTradeEnsureReadyMutation(params, options) {
|
|
1039
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1040
|
+
const deps = useInstantTradeDeps(params);
|
|
1041
|
+
return reactQuery.useMutation({
|
|
1042
|
+
...withSymmMutationConfig(options?.mutation),
|
|
1043
|
+
mutationFn: async (request) => ensureInstantTradeReady(deps, queryClient, request)
|
|
1016
1044
|
});
|
|
1017
|
-
|
|
1045
|
+
}
|
|
1046
|
+
function useSymmInstantTradeExecuteMutation(params, options) {
|
|
1047
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1048
|
+
const deps = useInstantTradeDeps(params);
|
|
1049
|
+
return reactQuery.useMutation({
|
|
1050
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1051
|
+
onSuccess: (_data, variables) => {
|
|
1052
|
+
if (variables.invalidatePositionsOnSuccess !== false) {
|
|
1053
|
+
invalidatePositions(queryClient);
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
}),
|
|
1018
1057
|
mutationFn: async (request) => {
|
|
1019
|
-
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
1020
|
-
const setup = await
|
|
1058
|
+
if (!deps.symmCoreClient) throw new Error("symm-core client not available");
|
|
1059
|
+
const setup = await ensureInstantTradeReady(deps, queryClient, {
|
|
1021
1060
|
accountAddress: request.accountAddress,
|
|
1022
1061
|
target: request.target,
|
|
1023
1062
|
selectors: request.selectors
|
|
1024
1063
|
});
|
|
1025
1064
|
return request.action({
|
|
1026
|
-
symmCoreClient,
|
|
1065
|
+
symmCoreClient: deps.symmCoreClient,
|
|
1027
1066
|
accessToken: setup.accessToken,
|
|
1028
1067
|
accountAddress: setup.accountAddress
|
|
1029
1068
|
});
|
|
1030
|
-
},
|
|
1031
|
-
onSuccess: (_data, variables) => {
|
|
1032
|
-
if (variables.invalidatePositionsOnSuccess !== false) {
|
|
1033
|
-
invalidatePositions(queryClient);
|
|
1034
|
-
}
|
|
1035
1069
|
}
|
|
1036
1070
|
});
|
|
1037
|
-
return {
|
|
1038
|
-
delegation,
|
|
1039
|
-
ensureReady,
|
|
1040
|
-
execute
|
|
1041
|
-
};
|
|
1042
1071
|
}
|
|
1043
1072
|
function prepareAddAccount(multiAccount, account, name) {
|
|
1044
1073
|
const data = viem.encodeFunctionData({
|
|
@@ -1097,56 +1126,65 @@ async function getAccounts(publicClient, multiAccount, user, start = 0, size = 1
|
|
|
1097
1126
|
}
|
|
1098
1127
|
|
|
1099
1128
|
// src/react/hooks/use-symm-accounts.ts
|
|
1100
|
-
|
|
1101
|
-
function useSymmAccounts(params = {}, options) {
|
|
1129
|
+
function useResolvedMultiAccount() {
|
|
1102
1130
|
const { chainId, symmioConfig } = useSymmContext();
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1131
|
+
return symmioConfig?.multiAccountAddress ?? getAddress(MULTI_ACCOUNT_ADDRESS, chainId, "MultiAccount");
|
|
1132
|
+
}
|
|
1133
|
+
function useSymmAccountsQuery(params = {}, options) {
|
|
1134
|
+
const { chainId } = useSymmContext();
|
|
1135
|
+
const multiAccount = useResolvedMultiAccount();
|
|
1136
|
+
const { userAddress, publicClient } = params;
|
|
1106
1137
|
const internalEnabled = !!publicClient && !!userAddress;
|
|
1107
|
-
|
|
1138
|
+
return reactQuery.useQuery({
|
|
1108
1139
|
...options?.query,
|
|
1109
1140
|
queryKey: symmKeys.accounts(userAddress, chainId),
|
|
1110
1141
|
queryFn: () => getAccounts(publicClient, multiAccount, userAddress),
|
|
1111
1142
|
enabled: internalEnabled && (options?.query?.enabled ?? true)
|
|
1112
1143
|
});
|
|
1113
|
-
|
|
1144
|
+
}
|
|
1145
|
+
function useSymmCreateAccountMutation(params = {}, options) {
|
|
1146
|
+
const { chainId } = useSymmContext();
|
|
1147
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1148
|
+
const multiAccount = useResolvedMultiAccount();
|
|
1149
|
+
const { userAddress, publicClient, walletClient } = params;
|
|
1150
|
+
return reactQuery.useMutation({
|
|
1151
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1152
|
+
onSuccess: () => {
|
|
1153
|
+
queryClient.invalidateQueries({ queryKey: symmKeys.accounts(userAddress, chainId) });
|
|
1154
|
+
}
|
|
1155
|
+
}),
|
|
1114
1156
|
mutationFn: async ({ name }) => {
|
|
1115
1157
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
1116
1158
|
return addAccount(walletClient, publicClient, multiAccount, name);
|
|
1117
|
-
},
|
|
1118
|
-
onSuccess: () => {
|
|
1119
|
-
queryClient.invalidateQueries({ queryKey: symmKeys.accounts(userAddress, chainId) });
|
|
1120
1159
|
}
|
|
1121
1160
|
});
|
|
1122
|
-
|
|
1161
|
+
}
|
|
1162
|
+
function useSymmEditAccountNameMutation(params = {}, options) {
|
|
1163
|
+
const { chainId } = useSymmContext();
|
|
1164
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1165
|
+
const multiAccount = useResolvedMultiAccount();
|
|
1166
|
+
const { userAddress, publicClient, walletClient } = params;
|
|
1167
|
+
return reactQuery.useMutation({
|
|
1168
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1169
|
+
onSuccess: () => {
|
|
1170
|
+
queryClient.invalidateQueries({ queryKey: symmKeys.accounts(userAddress, chainId) });
|
|
1171
|
+
}
|
|
1172
|
+
}),
|
|
1123
1173
|
mutationFn: async ({
|
|
1124
1174
|
accountAddress,
|
|
1125
1175
|
name
|
|
1126
1176
|
}) => {
|
|
1127
1177
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
1128
1178
|
return editAccountName(walletClient, publicClient, multiAccount, accountAddress, name);
|
|
1129
|
-
},
|
|
1130
|
-
onSuccess: () => {
|
|
1131
|
-
queryClient.invalidateQueries({ queryKey: symmKeys.accounts(userAddress, chainId) });
|
|
1132
1179
|
}
|
|
1133
1180
|
});
|
|
1134
|
-
return {
|
|
1135
|
-
accounts: accountsQuery.data ?? EMPTY_ACCOUNTS,
|
|
1136
|
-
count: accountsQuery.data?.length ?? 0,
|
|
1137
|
-
isLoading: accountsQuery.isLoading,
|
|
1138
|
-
error: accountsQuery.error,
|
|
1139
|
-
refetch: accountsQuery.refetch,
|
|
1140
|
-
createAccount,
|
|
1141
|
-
editName
|
|
1142
|
-
};
|
|
1143
1181
|
}
|
|
1144
1182
|
function useSymmAccountsApi(params) {
|
|
1145
1183
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
1146
1184
|
const { userAddress } = params;
|
|
1147
1185
|
const chainId = params.chainId ?? ctxChainId;
|
|
1148
1186
|
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
1149
|
-
|
|
1187
|
+
return reactQuery.useQuery({
|
|
1150
1188
|
...params.query,
|
|
1151
1189
|
queryKey: symmKeys.accountsApi(userAddress, chainId),
|
|
1152
1190
|
queryFn: () => symmCoreClient.accounts.list({
|
|
@@ -1155,19 +1193,13 @@ function useSymmAccountsApi(params) {
|
|
|
1155
1193
|
}),
|
|
1156
1194
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
1157
1195
|
});
|
|
1158
|
-
return {
|
|
1159
|
-
accounts: query.data?.data?.accounts ?? [],
|
|
1160
|
-
total: query.data?.data?.total ?? 0,
|
|
1161
|
-
isLoading: query.isLoading,
|
|
1162
|
-
refetch: query.refetch
|
|
1163
|
-
};
|
|
1164
1196
|
}
|
|
1165
1197
|
function useSymmAccountsLength(params) {
|
|
1166
1198
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
1167
1199
|
const { userAddress } = params;
|
|
1168
1200
|
const chainId = params.chainId ?? ctxChainId;
|
|
1169
1201
|
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
1170
|
-
|
|
1202
|
+
return reactQuery.useQuery({
|
|
1171
1203
|
...params.query,
|
|
1172
1204
|
queryKey: symmKeys.accountsLength(userAddress, chainId),
|
|
1173
1205
|
queryFn: () => symmCoreClient.accounts.getLength({
|
|
@@ -1176,19 +1208,13 @@ function useSymmAccountsLength(params) {
|
|
|
1176
1208
|
}),
|
|
1177
1209
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
1178
1210
|
});
|
|
1179
|
-
return {
|
|
1180
|
-
chains: query.data?.data?.chains ?? [],
|
|
1181
|
-
total: query.data?.data?.total ?? 0,
|
|
1182
|
-
isLoading: query.isLoading,
|
|
1183
|
-
refetch: query.refetch
|
|
1184
|
-
};
|
|
1185
1211
|
}
|
|
1186
1212
|
function useSymmAccountsWithPositions(params) {
|
|
1187
1213
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
1188
1214
|
const { userAddress } = params;
|
|
1189
1215
|
const chainId = params.chainId ?? ctxChainId;
|
|
1190
1216
|
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
1191
|
-
|
|
1217
|
+
return reactQuery.useQuery({
|
|
1192
1218
|
...params.query,
|
|
1193
1219
|
queryKey: symmKeys.accountsWithPositions(userAddress, chainId),
|
|
1194
1220
|
queryFn: () => symmCoreClient.accounts.getWithPositions({
|
|
@@ -1197,12 +1223,6 @@ function useSymmAccountsWithPositions(params) {
|
|
|
1197
1223
|
}),
|
|
1198
1224
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
1199
1225
|
});
|
|
1200
|
-
return {
|
|
1201
|
-
accounts: query.data?.data?.accounts ?? [],
|
|
1202
|
-
total: query.data?.data?.total ?? 0,
|
|
1203
|
-
isLoading: query.isLoading,
|
|
1204
|
-
refetch: query.refetch
|
|
1205
|
-
};
|
|
1206
1226
|
}
|
|
1207
1227
|
|
|
1208
1228
|
// src/abis/ERC20.ts
|
|
@@ -1320,14 +1340,22 @@ async function getBalance(publicClient, tokenAddress, account) {
|
|
|
1320
1340
|
}
|
|
1321
1341
|
|
|
1322
1342
|
// src/react/hooks/use-symm-approval.ts
|
|
1323
|
-
function
|
|
1343
|
+
function useResolvedApprovalConfig(params) {
|
|
1324
1344
|
const { chainId, symmioConfig } = useSymmContext();
|
|
1325
|
-
const queryClient = reactQuery.useQueryClient();
|
|
1326
|
-
const { owner, amount, publicClient, walletClient, spender, collateralToken } = params;
|
|
1327
1345
|
const multiAccount = symmioConfig?.multiAccountAddress ?? getAddress(MULTI_ACCOUNT_ADDRESS, chainId, "MultiAccount");
|
|
1328
1346
|
const collateral = symmioConfig?.collateralAddress ?? getAddress(COLLATERAL_ADDRESS, chainId, "Collateral");
|
|
1329
|
-
const resolvedSpender = spender ?? multiAccount;
|
|
1330
|
-
const resolvedToken = collateralToken ?? collateral;
|
|
1347
|
+
const resolvedSpender = params.spender ?? multiAccount;
|
|
1348
|
+
const resolvedToken = params.collateralToken ?? collateral;
|
|
1349
|
+
return {
|
|
1350
|
+
chainId,
|
|
1351
|
+
multiAccount,
|
|
1352
|
+
resolvedSpender,
|
|
1353
|
+
resolvedToken
|
|
1354
|
+
};
|
|
1355
|
+
}
|
|
1356
|
+
function useSymmApprovalQuery(params) {
|
|
1357
|
+
const { owner, amount, publicClient } = params;
|
|
1358
|
+
const { chainId, resolvedSpender, resolvedToken } = useResolvedApprovalConfig(params);
|
|
1331
1359
|
const selectWithAmount = react.useCallback(
|
|
1332
1360
|
(data) => ({
|
|
1333
1361
|
...data,
|
|
@@ -1336,7 +1364,7 @@ function useSymmApproval(params) {
|
|
|
1336
1364
|
[amount]
|
|
1337
1365
|
);
|
|
1338
1366
|
const internalEnabled = !!publicClient && !!owner && !!resolvedSpender && !!resolvedToken;
|
|
1339
|
-
|
|
1367
|
+
return reactQuery.useQuery({
|
|
1340
1368
|
...params.query,
|
|
1341
1369
|
queryKey: symmKeys.approval(owner, resolvedSpender, chainId, resolvedToken),
|
|
1342
1370
|
queryFn: async () => {
|
|
@@ -1349,29 +1377,35 @@ function useSymmApproval(params) {
|
|
|
1349
1377
|
select: selectWithAmount,
|
|
1350
1378
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
1351
1379
|
});
|
|
1352
|
-
|
|
1380
|
+
}
|
|
1381
|
+
function useSymmApproveMutation(params, options) {
|
|
1382
|
+
const { owner, publicClient, walletClient } = params;
|
|
1383
|
+
const { chainId, multiAccount, resolvedSpender, resolvedToken } = useResolvedApprovalConfig(params);
|
|
1384
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1385
|
+
return reactQuery.useMutation({
|
|
1386
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1387
|
+
onSuccess: () => {
|
|
1388
|
+
queryClient.invalidateQueries({
|
|
1389
|
+
queryKey: symmKeys.approval(owner, resolvedSpender, chainId, resolvedToken)
|
|
1390
|
+
});
|
|
1391
|
+
}
|
|
1392
|
+
}),
|
|
1353
1393
|
mutationFn: async (approveAmount) => {
|
|
1354
1394
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
1355
1395
|
return approve(walletClient, publicClient, resolvedToken, multiAccount, approveAmount);
|
|
1356
|
-
},
|
|
1357
|
-
onSuccess: () => {
|
|
1358
|
-
queryClient.invalidateQueries({
|
|
1359
|
-
queryKey: symmKeys.approval(owner, resolvedSpender, chainId, resolvedToken)
|
|
1360
|
-
});
|
|
1361
1396
|
}
|
|
1362
1397
|
});
|
|
1363
|
-
return {
|
|
1364
|
-
approvalState: approvalQuery.data?.state ?? null,
|
|
1365
|
-
allowance: approvalQuery.data?.allowance ?? 0n,
|
|
1366
|
-
balance: approvalQuery.data?.balance ?? 0n,
|
|
1367
|
-
isLoading: approvalQuery.isLoading,
|
|
1368
|
-
approve: approveMutation
|
|
1369
|
-
};
|
|
1370
1398
|
}
|
|
1371
|
-
function useSymmCancelClose() {
|
|
1399
|
+
function useSymmCancelClose(options) {
|
|
1372
1400
|
const { symmCoreClient, chainId, address } = useSymmContext();
|
|
1373
1401
|
const queryClient = reactQuery.useQueryClient();
|
|
1374
|
-
|
|
1402
|
+
return reactQuery.useMutation({
|
|
1403
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1404
|
+
onSuccess: () => {
|
|
1405
|
+
invalidateOrders(queryClient);
|
|
1406
|
+
invalidatePositions(queryClient);
|
|
1407
|
+
}
|
|
1408
|
+
}),
|
|
1375
1409
|
mutationFn: async ({
|
|
1376
1410
|
quoteId,
|
|
1377
1411
|
authToken,
|
|
@@ -1392,18 +1426,19 @@ function useSymmCancelClose() {
|
|
|
1392
1426
|
authToken: resolvedAuthToken,
|
|
1393
1427
|
chainId: resolvedChainId
|
|
1394
1428
|
});
|
|
1395
|
-
},
|
|
1396
|
-
onSuccess: () => {
|
|
1397
|
-
invalidateOrders(queryClient);
|
|
1398
|
-
invalidatePositions(queryClient);
|
|
1399
1429
|
}
|
|
1400
1430
|
});
|
|
1401
|
-
return { cancelClose };
|
|
1402
1431
|
}
|
|
1403
|
-
function useSymmCloseOrder() {
|
|
1432
|
+
function useSymmCloseOrder(options) {
|
|
1404
1433
|
const { symmCoreClient, address, chainId } = useSymmContext();
|
|
1405
1434
|
const queryClient = reactQuery.useQueryClient();
|
|
1406
|
-
|
|
1435
|
+
return reactQuery.useMutation({
|
|
1436
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1437
|
+
onSuccess: () => {
|
|
1438
|
+
invalidateOrders(queryClient);
|
|
1439
|
+
invalidatePositions(queryClient);
|
|
1440
|
+
}
|
|
1441
|
+
}),
|
|
1407
1442
|
mutationFn: async (request) => {
|
|
1408
1443
|
if (!symmCoreClient) {
|
|
1409
1444
|
throw new Error("symm-core client not available");
|
|
@@ -1413,13 +1448,8 @@ function useSymmCloseOrder() {
|
|
|
1413
1448
|
type: request.type,
|
|
1414
1449
|
authToken: request.authToken ?? (address ? useSymmAuthStore.getState().getToken(address, chainId) ?? void 0 : void 0)
|
|
1415
1450
|
});
|
|
1416
|
-
},
|
|
1417
|
-
onSuccess: () => {
|
|
1418
|
-
invalidateOrders(queryClient);
|
|
1419
|
-
invalidatePositions(queryClient);
|
|
1420
1451
|
}
|
|
1421
1452
|
});
|
|
1422
|
-
return { closeOrder };
|
|
1423
1453
|
}
|
|
1424
1454
|
function prepareDeposit(multiAccount, account, params) {
|
|
1425
1455
|
validateAmount(params.amount, "deposit amount");
|
|
@@ -1473,38 +1503,52 @@ async function depositAndAllocate(walletClient, publicClient, multiAccount, para
|
|
|
1473
1503
|
}
|
|
1474
1504
|
|
|
1475
1505
|
// src/react/hooks/use-symm-deposit.ts
|
|
1476
|
-
function
|
|
1506
|
+
function useResolvedDepositParams(params = {}) {
|
|
1477
1507
|
const { chainId, symmioConfig } = useSymmContext();
|
|
1478
|
-
const { publicClient, walletClient } = params;
|
|
1479
|
-
const queryClient = reactQuery.useQueryClient();
|
|
1480
1508
|
const multiAccount = symmioConfig?.multiAccountAddress ?? getAddress(MULTI_ACCOUNT_ADDRESS, chainId, "MultiAccount");
|
|
1481
|
-
|
|
1509
|
+
return {
|
|
1510
|
+
multiAccount,
|
|
1511
|
+
publicClient: params.publicClient,
|
|
1512
|
+
walletClient: params.walletClient
|
|
1513
|
+
};
|
|
1514
|
+
}
|
|
1515
|
+
function useSymmDepositMutation(params = {}, options) {
|
|
1516
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1517
|
+
const { multiAccount, publicClient, walletClient } = useResolvedDepositParams(params);
|
|
1518
|
+
return reactQuery.useMutation({
|
|
1519
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1520
|
+
onSuccess: () => {
|
|
1521
|
+
invalidateBalances(queryClient);
|
|
1522
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "approval"] });
|
|
1523
|
+
}
|
|
1524
|
+
}),
|
|
1482
1525
|
mutationFn: async ({
|
|
1483
1526
|
account,
|
|
1484
1527
|
amount
|
|
1485
1528
|
}) => {
|
|
1486
1529
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
1487
1530
|
return deposit(walletClient, publicClient, multiAccount, { account, amount });
|
|
1488
|
-
},
|
|
1489
|
-
onSuccess: () => {
|
|
1490
|
-
invalidateBalances(queryClient);
|
|
1491
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "approval"] });
|
|
1492
1531
|
}
|
|
1493
1532
|
});
|
|
1494
|
-
|
|
1533
|
+
}
|
|
1534
|
+
function useSymmDepositAndAllocateMutation(params = {}, options) {
|
|
1535
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1536
|
+
const { multiAccount, publicClient, walletClient } = useResolvedDepositParams(params);
|
|
1537
|
+
return reactQuery.useMutation({
|
|
1538
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1539
|
+
onSuccess: () => {
|
|
1540
|
+
invalidateBalances(queryClient);
|
|
1541
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "approval"] });
|
|
1542
|
+
}
|
|
1543
|
+
}),
|
|
1495
1544
|
mutationFn: async ({
|
|
1496
1545
|
account,
|
|
1497
1546
|
amount
|
|
1498
1547
|
}) => {
|
|
1499
1548
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
1500
1549
|
return depositAndAllocate(walletClient, publicClient, multiAccount, { account, amount });
|
|
1501
|
-
},
|
|
1502
|
-
onSuccess: () => {
|
|
1503
|
-
invalidateBalances(queryClient);
|
|
1504
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "approval"] });
|
|
1505
1550
|
}
|
|
1506
1551
|
});
|
|
1507
|
-
return { deposit: depositMutation, depositAndAllocate: depositAndAllocateMutation };
|
|
1508
1552
|
}
|
|
1509
1553
|
function prepareWithdraw(multiAccount, account, params) {
|
|
1510
1554
|
validateAmount(params.amount, "withdraw amount");
|
|
@@ -1533,24 +1577,25 @@ async function withdraw(walletClient, publicClient, multiAccount, params) {
|
|
|
1533
1577
|
}
|
|
1534
1578
|
|
|
1535
1579
|
// src/react/hooks/use-symm-withdraw.ts
|
|
1536
|
-
function useSymmWithdraw(params = {}) {
|
|
1580
|
+
function useSymmWithdraw(params = {}, options) {
|
|
1537
1581
|
const { chainId, symmioConfig } = useSymmContext();
|
|
1538
1582
|
const { publicClient, walletClient } = params;
|
|
1539
1583
|
const queryClient = reactQuery.useQueryClient();
|
|
1540
1584
|
const multiAccount = symmioConfig?.multiAccountAddress ?? getAddress(MULTI_ACCOUNT_ADDRESS, chainId, "MultiAccount");
|
|
1541
|
-
|
|
1585
|
+
return reactQuery.useMutation({
|
|
1586
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
1587
|
+
onSuccess: () => {
|
|
1588
|
+
invalidateBalances(queryClient);
|
|
1589
|
+
}
|
|
1590
|
+
}),
|
|
1542
1591
|
mutationFn: async ({
|
|
1543
1592
|
account,
|
|
1544
1593
|
amount
|
|
1545
1594
|
}) => {
|
|
1546
1595
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
1547
1596
|
return withdraw(walletClient, publicClient, multiAccount, { account, amount });
|
|
1548
|
-
},
|
|
1549
|
-
onSuccess: () => {
|
|
1550
|
-
invalidateBalances(queryClient);
|
|
1551
1597
|
}
|
|
1552
1598
|
});
|
|
1553
|
-
return { withdraw: withdrawMutation };
|
|
1554
1599
|
}
|
|
1555
1600
|
|
|
1556
1601
|
// src/abis/SymmioDiamond.ts
|
|
@@ -24201,10 +24246,8 @@ var MuonClient = class {
|
|
|
24201
24246
|
};
|
|
24202
24247
|
|
|
24203
24248
|
// src/react/hooks/use-symm-collateral.ts
|
|
24204
|
-
function
|
|
24249
|
+
function useResolvedCollateralDeps(params = {}) {
|
|
24205
24250
|
const { chainId, symmioConfig } = useSymmContext();
|
|
24206
|
-
const { publicClient, walletClient } = params;
|
|
24207
|
-
const queryClient = reactQuery.useQueryClient();
|
|
24208
24251
|
const multiAccount = symmioConfig?.multiAccountAddress ?? getAddress(MULTI_ACCOUNT_ADDRESS, chainId, "MultiAccount");
|
|
24209
24252
|
const symmioDiamond = symmioConfig?.symmioDiamondAddress ?? getAddress(SYMMIO_DIAMOND_ADDRESS, chainId, "SymmioDiamond");
|
|
24210
24253
|
const muon = react.useMemo(
|
|
@@ -24214,19 +24257,42 @@ function useSymmCollateral(params = {}) {
|
|
|
24214
24257
|
}),
|
|
24215
24258
|
[symmioConfig?.muonBaseUrls, symmioConfig?.muonAppName]
|
|
24216
24259
|
);
|
|
24217
|
-
|
|
24260
|
+
return {
|
|
24261
|
+
chainId,
|
|
24262
|
+
muon,
|
|
24263
|
+
multiAccount,
|
|
24264
|
+
publicClient: params.publicClient,
|
|
24265
|
+
symmioDiamond,
|
|
24266
|
+
walletClient: params.walletClient
|
|
24267
|
+
};
|
|
24268
|
+
}
|
|
24269
|
+
function useSymmAllocateCollateralMutation(params = {}, options) {
|
|
24270
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24271
|
+
const { multiAccount, publicClient, walletClient } = useResolvedCollateralDeps(params);
|
|
24272
|
+
return reactQuery.useMutation({
|
|
24273
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24274
|
+
onSuccess: () => {
|
|
24275
|
+
invalidateBalances(queryClient);
|
|
24276
|
+
}
|
|
24277
|
+
}),
|
|
24218
24278
|
mutationFn: async ({
|
|
24219
24279
|
subAccount,
|
|
24220
24280
|
amount
|
|
24221
24281
|
}) => {
|
|
24222
24282
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
24223
24283
|
return allocate(walletClient, publicClient, multiAccount, subAccount, { amount });
|
|
24224
|
-
},
|
|
24225
|
-
onSuccess: () => {
|
|
24226
|
-
invalidateBalances(queryClient);
|
|
24227
24284
|
}
|
|
24228
24285
|
});
|
|
24229
|
-
|
|
24286
|
+
}
|
|
24287
|
+
function useSymmDeallocateCollateralMutation(params = {}, options) {
|
|
24288
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24289
|
+
const { chainId, muon, multiAccount, publicClient, symmioDiamond, walletClient } = useResolvedCollateralDeps(params);
|
|
24290
|
+
return reactQuery.useMutation({
|
|
24291
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24292
|
+
onSuccess: () => {
|
|
24293
|
+
invalidateBalances(queryClient);
|
|
24294
|
+
}
|
|
24295
|
+
}),
|
|
24230
24296
|
mutationFn: async ({
|
|
24231
24297
|
subAccount,
|
|
24232
24298
|
amount
|
|
@@ -24241,28 +24307,26 @@ function useSymmCollateral(params = {}) {
|
|
|
24241
24307
|
amount,
|
|
24242
24308
|
upnlSig
|
|
24243
24309
|
});
|
|
24244
|
-
},
|
|
24245
|
-
onSuccess: () => {
|
|
24246
|
-
invalidateBalances(queryClient);
|
|
24247
24310
|
}
|
|
24248
24311
|
});
|
|
24249
|
-
|
|
24312
|
+
}
|
|
24313
|
+
function useSymmInternalTransferCollateralMutation(params = {}, options) {
|
|
24314
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24315
|
+
const { multiAccount, publicClient, walletClient } = useResolvedCollateralDeps(params);
|
|
24316
|
+
return reactQuery.useMutation({
|
|
24317
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24318
|
+
onSuccess: () => {
|
|
24319
|
+
invalidateBalances(queryClient);
|
|
24320
|
+
}
|
|
24321
|
+
}),
|
|
24250
24322
|
mutationFn: async ({
|
|
24251
24323
|
subAccount,
|
|
24252
24324
|
params: transferParams
|
|
24253
24325
|
}) => {
|
|
24254
24326
|
if (!walletClient || !publicClient) throw new Error("Clients not available");
|
|
24255
24327
|
return internalTransfer(walletClient, publicClient, multiAccount, subAccount, transferParams);
|
|
24256
|
-
},
|
|
24257
|
-
onSuccess: () => {
|
|
24258
|
-
invalidateBalances(queryClient);
|
|
24259
24328
|
}
|
|
24260
24329
|
});
|
|
24261
|
-
return {
|
|
24262
|
-
allocate: allocateMutation,
|
|
24263
|
-
deallocate: deallocateMutation,
|
|
24264
|
-
internalTransfer: internalTransferMutation
|
|
24265
|
-
};
|
|
24266
24330
|
}
|
|
24267
24331
|
|
|
24268
24332
|
// src/abis/SignatureStore.ts
|
|
@@ -24354,41 +24418,47 @@ async function hasSignedCurrentVersion(publicClient, signatureStore, user) {
|
|
|
24354
24418
|
}
|
|
24355
24419
|
|
|
24356
24420
|
// src/react/hooks/use-symm-signature.ts
|
|
24357
|
-
function
|
|
24421
|
+
function useResolvedSignatureStore() {
|
|
24358
24422
|
const { chainId, symmioConfig } = useSymmContext();
|
|
24359
|
-
const { userAddress, publicClient, walletClient } = params;
|
|
24360
|
-
const queryClient = reactQuery.useQueryClient();
|
|
24361
24423
|
let signatureStore;
|
|
24362
24424
|
try {
|
|
24363
24425
|
signatureStore = symmioConfig?.signatureStoreAddress ?? getAddress(SIGNATURE_STORE_ADDRESS, chainId, "SignatureStore");
|
|
24364
24426
|
} catch {
|
|
24427
|
+
signatureStore = void 0;
|
|
24365
24428
|
}
|
|
24429
|
+
return { chainId, signatureStore };
|
|
24430
|
+
}
|
|
24431
|
+
function useSymmSignatureQuery(params = {}, options) {
|
|
24432
|
+
const { userAddress, publicClient } = params;
|
|
24433
|
+
const { chainId, signatureStore } = useResolvedSignatureStore();
|
|
24366
24434
|
const internalEnabled = !!publicClient && !!userAddress && !!signatureStore;
|
|
24367
|
-
|
|
24435
|
+
return reactQuery.useQuery({
|
|
24368
24436
|
...options?.query,
|
|
24369
24437
|
queryKey: symmKeys.signature(userAddress, chainId),
|
|
24370
24438
|
queryFn: () => hasSignedCurrentVersion(publicClient, signatureStore, userAddress),
|
|
24371
24439
|
enabled: internalEnabled && (options?.query?.enabled ?? true)
|
|
24372
24440
|
});
|
|
24373
|
-
|
|
24441
|
+
}
|
|
24442
|
+
function useSymmSignTermsMutation(params = {}, options) {
|
|
24443
|
+
const { userAddress, publicClient, walletClient } = params;
|
|
24444
|
+
const { chainId, signatureStore } = useResolvedSignatureStore();
|
|
24445
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24446
|
+
return reactQuery.useMutation({
|
|
24447
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24448
|
+
onSuccess: () => {
|
|
24449
|
+
queryClient.invalidateQueries({
|
|
24450
|
+
queryKey: symmKeys.signature(userAddress, chainId)
|
|
24451
|
+
});
|
|
24452
|
+
}
|
|
24453
|
+
}),
|
|
24374
24454
|
mutationFn: async () => {
|
|
24375
24455
|
if (!walletClient || !publicClient || !signatureStore) {
|
|
24376
24456
|
throw new Error("Clients or SignatureStore not available");
|
|
24377
24457
|
}
|
|
24378
24458
|
const sig = await signTermsMessage(walletClient, publicClient, signatureStore);
|
|
24379
24459
|
await storeSignature(walletClient, publicClient, signatureStore, sig);
|
|
24380
|
-
},
|
|
24381
|
-
onSuccess: () => {
|
|
24382
|
-
queryClient.invalidateQueries({
|
|
24383
|
-
queryKey: symmKeys.signature(userAddress, chainId)
|
|
24384
|
-
});
|
|
24385
24460
|
}
|
|
24386
24461
|
});
|
|
24387
|
-
return {
|
|
24388
|
-
hasSigned: signedQuery.data ?? false,
|
|
24389
|
-
isLoading: signedQuery.isLoading,
|
|
24390
|
-
signTerms
|
|
24391
|
-
};
|
|
24392
24462
|
}
|
|
24393
24463
|
|
|
24394
24464
|
// src/actions/stats.ts
|
|
@@ -24416,25 +24486,6 @@ async function getPartyAStats(publicClient, symmioDiamond, partyA) {
|
|
|
24416
24486
|
nonces: 0
|
|
24417
24487
|
};
|
|
24418
24488
|
}
|
|
24419
|
-
function calculateAvailableForOrder(stats, upnl) {
|
|
24420
|
-
const {
|
|
24421
|
-
allocatedBalance,
|
|
24422
|
-
lockedCVA,
|
|
24423
|
-
lockedLF,
|
|
24424
|
-
lockedPartyAMM,
|
|
24425
|
-
pendingLockedCVA,
|
|
24426
|
-
pendingLockedLF,
|
|
24427
|
-
pendingLockedPartyAMM
|
|
24428
|
-
} = stats;
|
|
24429
|
-
const totalPendingLocked = pendingLockedCVA + pendingLockedLF + pendingLockedPartyAMM;
|
|
24430
|
-
if (upnl >= 0n) {
|
|
24431
|
-
const totalLocked = lockedCVA + lockedLF + lockedPartyAMM;
|
|
24432
|
-
return allocatedBalance + upnl - totalLocked - totalPendingLocked;
|
|
24433
|
-
}
|
|
24434
|
-
const absUpnl = -upnl;
|
|
24435
|
-
const consideringMm = absUpnl > lockedPartyAMM ? absUpnl : lockedPartyAMM;
|
|
24436
|
-
return allocatedBalance - lockedCVA - lockedLF - totalPendingLocked - consideringMm;
|
|
24437
|
-
}
|
|
24438
24489
|
|
|
24439
24490
|
// src/react/hooks/use-symm-available-margin.ts
|
|
24440
24491
|
function useSymmAvailableMargin(params) {
|
|
@@ -24445,32 +24496,25 @@ function useSymmAvailableMargin(params) {
|
|
|
24445
24496
|
const selectWithUpnl = react.useCallback(
|
|
24446
24497
|
(stats) => ({
|
|
24447
24498
|
...stats,
|
|
24448
|
-
upnl: resolvedUpnl
|
|
24449
|
-
availableForOrder: calculateAvailableForOrder(stats, resolvedUpnl)
|
|
24499
|
+
upnl: resolvedUpnl
|
|
24450
24500
|
}),
|
|
24451
24501
|
[resolvedUpnl]
|
|
24452
24502
|
);
|
|
24453
24503
|
const internalEnabled = !!publicClient && !!accountAddress;
|
|
24454
|
-
|
|
24504
|
+
return reactQuery.useQuery({
|
|
24455
24505
|
...params.query,
|
|
24456
24506
|
queryKey: symmKeys.availableMargin(accountAddress, chainId),
|
|
24457
24507
|
queryFn: () => getPartyAStats(publicClient, symmioDiamond, accountAddress),
|
|
24458
24508
|
select: selectWithUpnl,
|
|
24459
24509
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24460
24510
|
});
|
|
24461
|
-
return {
|
|
24462
|
-
availableForOrder: query.data?.availableForOrder ?? null,
|
|
24463
|
-
stats: query.data ?? null,
|
|
24464
|
-
isLoading: query.isLoading,
|
|
24465
|
-
refetch: query.refetch
|
|
24466
|
-
};
|
|
24467
24511
|
}
|
|
24468
24512
|
function useSymmAccountSummary(params) {
|
|
24469
24513
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24470
24514
|
const { userAddress } = params;
|
|
24471
24515
|
const chainId = params.chainId ?? ctxChainId;
|
|
24472
24516
|
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24473
|
-
|
|
24517
|
+
return reactQuery.useQuery({
|
|
24474
24518
|
...params.query,
|
|
24475
24519
|
queryKey: symmKeys.accountSummary(userAddress, chainId),
|
|
24476
24520
|
queryFn: () => symmCoreClient.accounts.getSummary({
|
|
@@ -24479,19 +24523,13 @@ function useSymmAccountSummary(params) {
|
|
|
24479
24523
|
}),
|
|
24480
24524
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24481
24525
|
});
|
|
24482
|
-
return {
|
|
24483
|
-
accounts: query.data?.data?.accounts ?? [],
|
|
24484
|
-
total: query.data?.data?.total ?? 0,
|
|
24485
|
-
isLoading: query.isLoading,
|
|
24486
|
-
refetch: query.refetch
|
|
24487
|
-
};
|
|
24488
24526
|
}
|
|
24489
24527
|
function useSymmAccountData(params) {
|
|
24490
24528
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24491
24529
|
const { address, upnl } = params;
|
|
24492
24530
|
const chainId = params.chainId ?? ctxChainId;
|
|
24493
24531
|
const internalEnabled = !!symmCoreClient && !!address;
|
|
24494
|
-
|
|
24532
|
+
return reactQuery.useQuery({
|
|
24495
24533
|
...params.query,
|
|
24496
24534
|
queryKey: symmKeys.accountData(address, chainId, upnl),
|
|
24497
24535
|
queryFn: () => symmCoreClient.accounts.getData({
|
|
@@ -24501,18 +24539,13 @@ function useSymmAccountData(params) {
|
|
|
24501
24539
|
}),
|
|
24502
24540
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24503
24541
|
});
|
|
24504
|
-
return {
|
|
24505
|
-
accountData: query.data?.data ?? null,
|
|
24506
|
-
isLoading: query.isLoading,
|
|
24507
|
-
refetch: query.refetch
|
|
24508
|
-
};
|
|
24509
24542
|
}
|
|
24510
24543
|
function useSymmBalances(params) {
|
|
24511
24544
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24512
24545
|
const { userAddress, multiAccountAddress } = params;
|
|
24513
24546
|
const chainId = params.chainId ?? ctxChainId;
|
|
24514
24547
|
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24515
|
-
|
|
24548
|
+
return reactQuery.useQuery({
|
|
24516
24549
|
...params.query,
|
|
24517
24550
|
queryKey: symmKeys.balances(userAddress, chainId),
|
|
24518
24551
|
queryFn: () => symmCoreClient.accounts.getBalanceInfo({
|
|
@@ -24522,64 +24555,134 @@ function useSymmBalances(params) {
|
|
|
24522
24555
|
}),
|
|
24523
24556
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24524
24557
|
});
|
|
24525
|
-
return {
|
|
24526
|
-
balanceInfo: query.data ?? null,
|
|
24527
|
-
isLoading: query.isLoading,
|
|
24528
|
-
refetch: query.refetch
|
|
24529
|
-
};
|
|
24530
24558
|
}
|
|
24531
|
-
function
|
|
24559
|
+
function useResolveTradeAuthToken() {
|
|
24560
|
+
const context = useSymmContext();
|
|
24561
|
+
const { address, chainId } = context;
|
|
24562
|
+
const { refreshAuth } = useSymmAuth({ address, chainId });
|
|
24563
|
+
const refreshAuthFromContext = context.refreshAuth;
|
|
24564
|
+
return react.useCallback(
|
|
24565
|
+
async (providedAuthToken, accountAddress) => {
|
|
24566
|
+
if (providedAuthToken) {
|
|
24567
|
+
return providedAuthToken;
|
|
24568
|
+
}
|
|
24569
|
+
const resolvedAccountAddress = accountAddress ?? address;
|
|
24570
|
+
if (!resolvedAccountAddress) {
|
|
24571
|
+
return null;
|
|
24572
|
+
}
|
|
24573
|
+
const inMemoryToken = useSymmAuthStore.getState().getToken(resolvedAccountAddress, chainId);
|
|
24574
|
+
if (inMemoryToken) {
|
|
24575
|
+
return inMemoryToken;
|
|
24576
|
+
}
|
|
24577
|
+
if (refreshAuthFromContext) {
|
|
24578
|
+
return refreshAuthFromContext(resolvedAccountAddress);
|
|
24579
|
+
}
|
|
24580
|
+
return refreshAuth(resolvedAccountAddress);
|
|
24581
|
+
},
|
|
24582
|
+
[address, chainId, refreshAuth, refreshAuthFromContext]
|
|
24583
|
+
);
|
|
24584
|
+
}
|
|
24585
|
+
function useSymmOpenBasketMutation(options) {
|
|
24532
24586
|
const { symmCoreClient } = useSymmContext();
|
|
24533
24587
|
const queryClient = reactQuery.useQueryClient();
|
|
24534
|
-
|
|
24588
|
+
return reactQuery.useMutation({
|
|
24589
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24590
|
+
onSuccess: () => {
|
|
24591
|
+
invalidatePositions(queryClient);
|
|
24592
|
+
}
|
|
24593
|
+
}),
|
|
24535
24594
|
mutationFn: async (request) => {
|
|
24536
24595
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24537
24596
|
return symmCoreClient.positions.openBasket(request);
|
|
24538
|
-
},
|
|
24539
|
-
onSuccess: () => {
|
|
24540
|
-
invalidatePositions(queryClient);
|
|
24541
24597
|
}
|
|
24542
24598
|
});
|
|
24543
|
-
|
|
24599
|
+
}
|
|
24600
|
+
function useSymmClosePositionMutation(options) {
|
|
24601
|
+
const { symmCoreClient } = useSymmContext();
|
|
24602
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24603
|
+
const resolveAuthToken = useResolveTradeAuthToken();
|
|
24604
|
+
return reactQuery.useMutation({
|
|
24605
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24606
|
+
onSuccess: () => {
|
|
24607
|
+
invalidatePositions(queryClient);
|
|
24608
|
+
}
|
|
24609
|
+
}),
|
|
24544
24610
|
mutationFn: async (request) => {
|
|
24545
24611
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24546
|
-
|
|
24547
|
-
|
|
24548
|
-
|
|
24549
|
-
|
|
24612
|
+
const typedRequest = request;
|
|
24613
|
+
const authToken = await resolveAuthToken(
|
|
24614
|
+
typedRequest.authToken,
|
|
24615
|
+
typedRequest.accountAddress
|
|
24616
|
+
);
|
|
24617
|
+
if (!authToken) {
|
|
24618
|
+
throw new Error("auth token is required to close a position");
|
|
24619
|
+
}
|
|
24620
|
+
return symmCoreClient.positions.close({
|
|
24621
|
+
...request,
|
|
24622
|
+
authToken
|
|
24623
|
+
});
|
|
24550
24624
|
}
|
|
24551
24625
|
});
|
|
24552
|
-
|
|
24626
|
+
}
|
|
24627
|
+
function useSymmCloseAllPositionsMutation(options) {
|
|
24628
|
+
const { symmCoreClient } = useSymmContext();
|
|
24629
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24630
|
+
return reactQuery.useMutation({
|
|
24631
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24632
|
+
onSuccess: () => {
|
|
24633
|
+
invalidatePositions(queryClient);
|
|
24634
|
+
}
|
|
24635
|
+
}),
|
|
24553
24636
|
mutationFn: async (request) => {
|
|
24554
24637
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24555
24638
|
return symmCoreClient.positions.closeAll(request);
|
|
24556
|
-
},
|
|
24557
|
-
onSuccess: () => {
|
|
24558
|
-
invalidatePositions(queryClient);
|
|
24559
24639
|
}
|
|
24560
24640
|
});
|
|
24561
|
-
|
|
24641
|
+
}
|
|
24642
|
+
function useSymmCancelOpenMutation(options) {
|
|
24643
|
+
const { symmCoreClient } = useSymmContext();
|
|
24644
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24645
|
+
return reactQuery.useMutation({
|
|
24646
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24647
|
+
onSuccess: () => {
|
|
24648
|
+
invalidatePositions(queryClient);
|
|
24649
|
+
}
|
|
24650
|
+
}),
|
|
24562
24651
|
mutationFn: async (request) => {
|
|
24563
24652
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24564
24653
|
return symmCoreClient.positions.cancelOpen(request);
|
|
24565
|
-
},
|
|
24566
|
-
onSuccess: () => {
|
|
24567
|
-
invalidatePositions(queryClient);
|
|
24568
24654
|
}
|
|
24569
24655
|
});
|
|
24570
|
-
|
|
24656
|
+
}
|
|
24657
|
+
function useSymmUpdatePositionMutation(options) {
|
|
24658
|
+
const { symmCoreClient } = useSymmContext();
|
|
24659
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24660
|
+
const resolveAuthToken = useResolveTradeAuthToken();
|
|
24661
|
+
return reactQuery.useMutation({
|
|
24662
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24663
|
+
onSuccess: () => {
|
|
24664
|
+
invalidatePositions(queryClient);
|
|
24665
|
+
}
|
|
24666
|
+
}),
|
|
24571
24667
|
mutationFn: async ({
|
|
24572
24668
|
positionId,
|
|
24573
24669
|
request
|
|
24574
24670
|
}) => {
|
|
24575
24671
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24576
|
-
|
|
24577
|
-
|
|
24578
|
-
|
|
24579
|
-
|
|
24672
|
+
const typedRequest = request;
|
|
24673
|
+
const authToken = await resolveAuthToken(
|
|
24674
|
+
typedRequest.authToken,
|
|
24675
|
+
typedRequest.accountAddress
|
|
24676
|
+
);
|
|
24677
|
+
if (!authToken) {
|
|
24678
|
+
throw new Error("auth token is required to update a position");
|
|
24679
|
+
}
|
|
24680
|
+
return symmCoreClient.positions.update(positionId, {
|
|
24681
|
+
...request,
|
|
24682
|
+
authToken
|
|
24683
|
+
});
|
|
24580
24684
|
}
|
|
24581
24685
|
});
|
|
24582
|
-
return { openBasket, closePosition, closeAll, cancelOpen, updatePosition };
|
|
24583
24686
|
}
|
|
24584
24687
|
function useSymmPositions(params) {
|
|
24585
24688
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -24587,14 +24690,7 @@ function useSymmPositions(params) {
|
|
|
24587
24690
|
const resolvedAddress = accountAddress ? void 0 : address;
|
|
24588
24691
|
const chainId = params.chainId ?? ctxChainId;
|
|
24589
24692
|
const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
|
|
24590
|
-
|
|
24591
|
-
symmCoreClient,
|
|
24592
|
-
accountAddress,
|
|
24593
|
-
resolvedAddress,
|
|
24594
|
-
chainId,
|
|
24595
|
-
internalEnabled
|
|
24596
|
-
});
|
|
24597
|
-
const query = reactQuery.useQuery({
|
|
24693
|
+
return reactQuery.useQuery({
|
|
24598
24694
|
...params.query,
|
|
24599
24695
|
queryKey: symmKeys.positions({
|
|
24600
24696
|
accountAddress,
|
|
@@ -24608,12 +24704,6 @@ function useSymmPositions(params) {
|
|
|
24608
24704
|
}),
|
|
24609
24705
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24610
24706
|
});
|
|
24611
|
-
console.log("positions query", { query });
|
|
24612
|
-
return {
|
|
24613
|
-
positions: query.data?.data?.positions ?? [],
|
|
24614
|
-
isLoading: query.isLoading,
|
|
24615
|
-
refetch: query.refetch
|
|
24616
|
-
};
|
|
24617
24707
|
}
|
|
24618
24708
|
function useSymmOpenOrders(params) {
|
|
24619
24709
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -24621,7 +24711,7 @@ function useSymmOpenOrders(params) {
|
|
|
24621
24711
|
const resolvedAddress = accountAddress ? void 0 : address;
|
|
24622
24712
|
const chainId = params.chainId ?? ctxChainId;
|
|
24623
24713
|
const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
|
|
24624
|
-
|
|
24714
|
+
return reactQuery.useQuery({
|
|
24625
24715
|
...params.query,
|
|
24626
24716
|
queryKey: symmKeys.openOrders({
|
|
24627
24717
|
accountAddress,
|
|
@@ -24634,11 +24724,6 @@ function useSymmOpenOrders(params) {
|
|
|
24634
24724
|
}),
|
|
24635
24725
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24636
24726
|
});
|
|
24637
|
-
return {
|
|
24638
|
-
orders: query.data?.data?.orders ?? [],
|
|
24639
|
-
isLoading: query.isLoading,
|
|
24640
|
-
refetch: query.refetch
|
|
24641
|
-
};
|
|
24642
24727
|
}
|
|
24643
24728
|
function useSymmTradeHistory(params) {
|
|
24644
24729
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -24646,7 +24731,7 @@ function useSymmTradeHistory(params) {
|
|
|
24646
24731
|
const resolvedAddress = accountAddress ? void 0 : address;
|
|
24647
24732
|
const chainId = params.chainId ?? ctxChainId;
|
|
24648
24733
|
const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
|
|
24649
|
-
|
|
24734
|
+
return reactQuery.useQuery({
|
|
24650
24735
|
...params.query,
|
|
24651
24736
|
queryKey: symmKeys.tradeHistory({
|
|
24652
24737
|
accountAddress,
|
|
@@ -24663,36 +24748,38 @@ function useSymmTradeHistory(params) {
|
|
|
24663
24748
|
},
|
|
24664
24749
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24665
24750
|
});
|
|
24666
|
-
return {
|
|
24667
|
-
trades: query.data ?? null,
|
|
24668
|
-
isLoading: query.isLoading,
|
|
24669
|
-
refetch: query.refetch
|
|
24670
|
-
};
|
|
24671
24751
|
}
|
|
24672
|
-
function
|
|
24752
|
+
function useSymmSetTpslMutation(options) {
|
|
24673
24753
|
const { symmCoreClient } = useSymmContext();
|
|
24674
24754
|
const queryClient = reactQuery.useQueryClient();
|
|
24675
|
-
|
|
24755
|
+
return reactQuery.useMutation({
|
|
24756
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24757
|
+
onSuccess: () => {
|
|
24758
|
+
invalidateOrders(queryClient);
|
|
24759
|
+
invalidatePositions(queryClient);
|
|
24760
|
+
}
|
|
24761
|
+
}),
|
|
24676
24762
|
mutationFn: async (request) => {
|
|
24677
24763
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24678
24764
|
return symmCoreClient.orders.setTpsl(request);
|
|
24679
|
-
},
|
|
24680
|
-
onSuccess: () => {
|
|
24681
|
-
invalidateOrders(queryClient);
|
|
24682
|
-
invalidatePositions(queryClient);
|
|
24683
24765
|
}
|
|
24684
24766
|
});
|
|
24685
|
-
|
|
24767
|
+
}
|
|
24768
|
+
function useSymmCancelTpslMutation(options) {
|
|
24769
|
+
const { symmCoreClient } = useSymmContext();
|
|
24770
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24771
|
+
return reactQuery.useMutation({
|
|
24772
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24773
|
+
onSuccess: () => {
|
|
24774
|
+
invalidateOrders(queryClient);
|
|
24775
|
+
invalidatePositions(queryClient);
|
|
24776
|
+
}
|
|
24777
|
+
}),
|
|
24686
24778
|
mutationFn: async (request) => {
|
|
24687
24779
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24688
24780
|
return symmCoreClient.orders.cancelTpsl(request);
|
|
24689
|
-
},
|
|
24690
|
-
onSuccess: () => {
|
|
24691
|
-
invalidateOrders(queryClient);
|
|
24692
|
-
invalidatePositions(queryClient);
|
|
24693
24781
|
}
|
|
24694
24782
|
});
|
|
24695
|
-
return { setTpsl, cancelTpsl };
|
|
24696
24783
|
}
|
|
24697
24784
|
function useSymmTpslOrders(params) {
|
|
24698
24785
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -24707,7 +24794,7 @@ function useSymmTpslOrders(params) {
|
|
|
24707
24794
|
status,
|
|
24708
24795
|
chainId
|
|
24709
24796
|
};
|
|
24710
|
-
|
|
24797
|
+
return reactQuery.useQuery({
|
|
24711
24798
|
...params.query,
|
|
24712
24799
|
queryKey: symmKeys.tpslOrdersList({
|
|
24713
24800
|
accountAddress,
|
|
@@ -24720,90 +24807,94 @@ function useSymmTpslOrders(params) {
|
|
|
24720
24807
|
queryFn: () => symmCoreClient.orders.getTpslOrders(request),
|
|
24721
24808
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24722
24809
|
});
|
|
24723
|
-
return {
|
|
24724
|
-
tpslOrders: query.data?.data?.tpslOrders ?? [],
|
|
24725
|
-
total: query.data?.data?.total ?? 0,
|
|
24726
|
-
isLoading: query.isLoading,
|
|
24727
|
-
refetch: query.refetch
|
|
24728
|
-
};
|
|
24729
24810
|
}
|
|
24730
|
-
function
|
|
24811
|
+
function useResolvedTwapParams(params) {
|
|
24731
24812
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24732
|
-
const queryClient = reactQuery.useQueryClient();
|
|
24733
24813
|
const { accountAddress, address } = params;
|
|
24734
24814
|
const resolvedAddress = accountAddress ? void 0 : address;
|
|
24735
24815
|
const chainId = params.chainId ?? ctxChainId;
|
|
24816
|
+
return { symmCoreClient, accountAddress, resolvedAddress, chainId, query: params.query };
|
|
24817
|
+
}
|
|
24818
|
+
function useSymmTwapOrdersQuery(params) {
|
|
24819
|
+
const { symmCoreClient, accountAddress, resolvedAddress, chainId, query } = useResolvedTwapParams(params);
|
|
24736
24820
|
const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
|
|
24737
|
-
|
|
24738
|
-
...
|
|
24821
|
+
return reactQuery.useQuery({
|
|
24822
|
+
...query,
|
|
24739
24823
|
queryKey: symmKeys.twapOrders(accountAddress ?? resolvedAddress, chainId),
|
|
24740
24824
|
queryFn: () => symmCoreClient.orders.getTwapOrders({
|
|
24741
24825
|
address: accountAddress ?? resolvedAddress,
|
|
24742
24826
|
chainId
|
|
24743
24827
|
}),
|
|
24744
|
-
enabled: internalEnabled && (
|
|
24828
|
+
enabled: internalEnabled && (query?.enabled ?? true)
|
|
24745
24829
|
});
|
|
24746
|
-
|
|
24830
|
+
}
|
|
24831
|
+
function useSymmCancelTwapOrderMutation(options) {
|
|
24832
|
+
const { symmCoreClient } = useSymmContext();
|
|
24833
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24834
|
+
return reactQuery.useMutation({
|
|
24835
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24836
|
+
onSuccess: () => {
|
|
24837
|
+
invalidateOrders(queryClient);
|
|
24838
|
+
}
|
|
24839
|
+
}),
|
|
24747
24840
|
mutationFn: async (orderId) => {
|
|
24748
24841
|
if (!symmCoreClient) throw new Error("symm-core client not available");
|
|
24749
24842
|
return symmCoreClient.orders.cancelTwapOrder(orderId);
|
|
24750
|
-
},
|
|
24751
|
-
onSuccess: () => {
|
|
24752
|
-
invalidateOrders(queryClient);
|
|
24753
24843
|
}
|
|
24754
24844
|
});
|
|
24755
|
-
return {
|
|
24756
|
-
twapOrders: query.data?.data?.orders ?? [],
|
|
24757
|
-
isLoading: query.isLoading,
|
|
24758
|
-
cancelTwap
|
|
24759
|
-
};
|
|
24760
24845
|
}
|
|
24761
|
-
function
|
|
24846
|
+
function useSymmTriggerConfigQuery(params) {
|
|
24762
24847
|
const { symmCoreClient } = useSymmContext();
|
|
24763
|
-
const queryClient = reactQuery.useQueryClient();
|
|
24764
24848
|
const { orderId } = params;
|
|
24765
24849
|
const internalEnabled = !!symmCoreClient && !!orderId;
|
|
24766
|
-
|
|
24850
|
+
return reactQuery.useQuery({
|
|
24767
24851
|
...params.query,
|
|
24768
24852
|
queryKey: symmKeys.triggerConfig(orderId),
|
|
24769
24853
|
queryFn: () => symmCoreClient.orders.getTriggerConfig(orderId),
|
|
24770
24854
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24771
24855
|
});
|
|
24772
|
-
|
|
24856
|
+
}
|
|
24857
|
+
function useSymmSetTriggerConfigMutation(params, options) {
|
|
24858
|
+
const { symmCoreClient } = useSymmContext();
|
|
24859
|
+
const { orderId } = params;
|
|
24860
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24861
|
+
return reactQuery.useMutation({
|
|
24862
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24863
|
+
onSuccess: () => {
|
|
24864
|
+
queryClient.invalidateQueries({
|
|
24865
|
+
queryKey: symmKeys.triggerConfig(orderId)
|
|
24866
|
+
});
|
|
24867
|
+
invalidateOrders(queryClient);
|
|
24868
|
+
}
|
|
24869
|
+
}),
|
|
24773
24870
|
mutationFn: async (request) => {
|
|
24774
24871
|
if (!symmCoreClient || !orderId) {
|
|
24775
24872
|
throw new Error("symm-core client or orderId not available");
|
|
24776
24873
|
}
|
|
24777
24874
|
return symmCoreClient.orders.setTriggerConfig(orderId, request);
|
|
24778
|
-
},
|
|
24779
|
-
onSuccess: () => {
|
|
24780
|
-
queryClient.invalidateQueries({
|
|
24781
|
-
queryKey: symmKeys.triggerConfig(orderId)
|
|
24782
|
-
});
|
|
24783
|
-
invalidateOrders(queryClient);
|
|
24784
24875
|
}
|
|
24785
24876
|
});
|
|
24786
|
-
|
|
24877
|
+
}
|
|
24878
|
+
function useSymmClearTriggerConfigMutation(params, options) {
|
|
24879
|
+
const { symmCoreClient } = useSymmContext();
|
|
24880
|
+
const { orderId } = params;
|
|
24881
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24882
|
+
return reactQuery.useMutation({
|
|
24883
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
24884
|
+
onSuccess: () => {
|
|
24885
|
+
queryClient.invalidateQueries({
|
|
24886
|
+
queryKey: symmKeys.triggerConfig(orderId)
|
|
24887
|
+
});
|
|
24888
|
+
invalidateOrders(queryClient);
|
|
24889
|
+
}
|
|
24890
|
+
}),
|
|
24787
24891
|
mutationFn: async () => {
|
|
24788
24892
|
if (!symmCoreClient || !orderId) {
|
|
24789
24893
|
throw new Error("symm-core client or orderId not available");
|
|
24790
24894
|
}
|
|
24791
24895
|
return symmCoreClient.orders.clearTriggerConfig(orderId);
|
|
24792
|
-
},
|
|
24793
|
-
onSuccess: () => {
|
|
24794
|
-
queryClient.invalidateQueries({
|
|
24795
|
-
queryKey: symmKeys.triggerConfig(orderId)
|
|
24796
|
-
});
|
|
24797
|
-
invalidateOrders(queryClient);
|
|
24798
24896
|
}
|
|
24799
24897
|
});
|
|
24800
|
-
return {
|
|
24801
|
-
triggerConfig: query.data?.data?.triggerConfig ?? null,
|
|
24802
|
-
isLoading: query.isLoading,
|
|
24803
|
-
refetch: query.refetch,
|
|
24804
|
-
setTriggerConfig,
|
|
24805
|
-
clearTriggerConfig
|
|
24806
|
-
};
|
|
24807
24898
|
}
|
|
24808
24899
|
function useSymmTriggerOrders(params) {
|
|
24809
24900
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -24818,7 +24909,7 @@ function useSymmTriggerOrders(params) {
|
|
|
24818
24909
|
limit,
|
|
24819
24910
|
offset
|
|
24820
24911
|
};
|
|
24821
|
-
|
|
24912
|
+
return reactQuery.useQuery({
|
|
24822
24913
|
...params.query,
|
|
24823
24914
|
queryKey: symmKeys.triggerOrders({
|
|
24824
24915
|
accountAddress,
|
|
@@ -24831,21 +24922,13 @@ function useSymmTriggerOrders(params) {
|
|
|
24831
24922
|
queryFn: () => symmCoreClient.orders.listTriggerOrders(request),
|
|
24832
24923
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24833
24924
|
});
|
|
24834
|
-
return {
|
|
24835
|
-
orders: query.data?.data?.orders ?? [],
|
|
24836
|
-
total: query.data?.data?.total ?? 0,
|
|
24837
|
-
limit: query.data?.data?.limit ?? limit ?? 0,
|
|
24838
|
-
offset: query.data?.data?.offset ?? offset ?? 0,
|
|
24839
|
-
isLoading: query.isLoading,
|
|
24840
|
-
refetch: query.refetch
|
|
24841
|
-
};
|
|
24842
24925
|
}
|
|
24843
24926
|
function useSymmMarkets(params) {
|
|
24844
24927
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24845
24928
|
const chainId = params?.chainId ?? ctxChainId;
|
|
24846
24929
|
const searchText = params?.searchText;
|
|
24847
24930
|
const internalEnabled = !!symmCoreClient;
|
|
24848
|
-
|
|
24931
|
+
return reactQuery.useQuery({
|
|
24849
24932
|
...params?.query,
|
|
24850
24933
|
queryKey: symmKeys.markets(chainId, searchText),
|
|
24851
24934
|
queryFn: () => {
|
|
@@ -24857,54 +24940,37 @@ function useSymmMarkets(params) {
|
|
|
24857
24940
|
},
|
|
24858
24941
|
enabled: internalEnabled && (params?.query?.enabled ?? true)
|
|
24859
24942
|
});
|
|
24860
|
-
return {
|
|
24861
|
-
markets: query.data?.markets ?? [],
|
|
24862
|
-
isLoading: query.isLoading,
|
|
24863
|
-
refetch: query.refetch
|
|
24864
|
-
};
|
|
24865
24943
|
}
|
|
24866
24944
|
function useSymmHedgerMarketById(params) {
|
|
24867
24945
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24868
24946
|
const { id } = params;
|
|
24869
24947
|
const chainId = params.chainId ?? ctxChainId;
|
|
24870
24948
|
const internalEnabled = !!symmCoreClient && id != null;
|
|
24871
|
-
|
|
24949
|
+
return reactQuery.useQuery({
|
|
24872
24950
|
...params.query,
|
|
24873
24951
|
queryKey: symmKeys.hedgerMarketById(id, chainId),
|
|
24874
24952
|
queryFn: () => symmCoreClient.markets.getById(id, chainId),
|
|
24875
24953
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24876
24954
|
});
|
|
24877
|
-
return {
|
|
24878
|
-
market: query.data?.data?.markets?.[0] ?? null,
|
|
24879
|
-
markets: query.data?.data?.markets ?? [],
|
|
24880
|
-
isLoading: query.isLoading,
|
|
24881
|
-
refetch: query.refetch
|
|
24882
|
-
};
|
|
24883
24955
|
}
|
|
24884
24956
|
function useSymmHedgerMarketBySymbol(params) {
|
|
24885
24957
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24886
24958
|
const { symbol } = params;
|
|
24887
24959
|
const chainId = params.chainId ?? ctxChainId;
|
|
24888
24960
|
const internalEnabled = !!symmCoreClient && !!symbol;
|
|
24889
|
-
|
|
24961
|
+
return reactQuery.useQuery({
|
|
24890
24962
|
...params.query,
|
|
24891
24963
|
queryKey: symmKeys.hedgerMarketBySymbol(symbol, chainId),
|
|
24892
24964
|
queryFn: () => symmCoreClient.markets.getBySymbol(symbol, chainId),
|
|
24893
24965
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24894
24966
|
});
|
|
24895
|
-
return {
|
|
24896
|
-
market: query.data?.data?.markets?.[0] ?? null,
|
|
24897
|
-
markets: query.data?.data?.markets ?? [],
|
|
24898
|
-
isLoading: query.isLoading,
|
|
24899
|
-
refetch: query.refetch
|
|
24900
|
-
};
|
|
24901
24967
|
}
|
|
24902
24968
|
function useSymmLockedParams(params) {
|
|
24903
24969
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24904
24970
|
const { marketName, leverage } = params;
|
|
24905
24971
|
const chainId = params.chainId ?? ctxChainId;
|
|
24906
24972
|
const internalEnabled = !!symmCoreClient && !!marketName && leverage != null;
|
|
24907
|
-
|
|
24973
|
+
return reactQuery.useQuery({
|
|
24908
24974
|
...params.query,
|
|
24909
24975
|
queryKey: symmKeys.lockedParams(marketName, leverage, chainId),
|
|
24910
24976
|
queryFn: () => symmCoreClient.markets.getLockedParams({
|
|
@@ -24914,16 +24980,7 @@ function useSymmLockedParams(params) {
|
|
|
24914
24980
|
}),
|
|
24915
24981
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
24916
24982
|
});
|
|
24917
|
-
return {
|
|
24918
|
-
lockedParams: query.data?.data ?? null,
|
|
24919
|
-
isLoading: query.isLoading,
|
|
24920
|
-
refetch: query.refetch
|
|
24921
|
-
};
|
|
24922
24983
|
}
|
|
24923
|
-
var EMPTY_MARKETS = [];
|
|
24924
|
-
var EMPTY_SYMBOLS = [];
|
|
24925
|
-
var EMPTY_MAP_BY_ID = /* @__PURE__ */ new Map();
|
|
24926
|
-
var EMPTY_MAP_BY_SYMBOL = /* @__PURE__ */ new Map();
|
|
24927
24984
|
function useSymmHedgerMarkets(params) {
|
|
24928
24985
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24929
24986
|
const chainId = params?.chainId ?? ctxChainId;
|
|
@@ -24936,43 +24993,23 @@ function useSymmHedgerMarkets(params) {
|
|
|
24936
24993
|
searchText: searchText || void 0
|
|
24937
24994
|
};
|
|
24938
24995
|
const internalEnabled = !!symmCoreClient;
|
|
24939
|
-
|
|
24996
|
+
return reactQuery.useQuery({
|
|
24940
24997
|
...params?.query,
|
|
24941
24998
|
queryKey: symmKeys.hedgerMarkets(request),
|
|
24942
24999
|
queryFn: () => symmCoreClient.markets.listSymmHedger(request),
|
|
24943
25000
|
enabled: internalEnabled && consumerEnabled
|
|
24944
25001
|
});
|
|
24945
|
-
const data = query.data ?? null;
|
|
24946
|
-
return {
|
|
24947
|
-
data,
|
|
24948
|
-
markets: data?.markets ?? EMPTY_MARKETS,
|
|
24949
|
-
rawMarkets: data?.rawMarkets ?? EMPTY_MARKETS,
|
|
24950
|
-
filteredMarkets: data?.filteredMarkets ?? EMPTY_MARKETS,
|
|
24951
|
-
allSymbols: data?.allSymbols ?? EMPTY_SYMBOLS,
|
|
24952
|
-
filteredSymbols: data?.filteredSymbols ?? EMPTY_SYMBOLS,
|
|
24953
|
-
marketsById: data?.marketsById ?? EMPTY_MAP_BY_ID,
|
|
24954
|
-
marketsBySymbol: data?.marketsBySymbol ?? EMPTY_MAP_BY_SYMBOL,
|
|
24955
|
-
category: data?.category ?? params?.category ?? "all",
|
|
24956
|
-
resolvedSearchText: data?.searchText ?? searchText ?? "",
|
|
24957
|
-
isLoading: query.isLoading,
|
|
24958
|
-
isFetching: query.isFetching,
|
|
24959
|
-
refetch: query.refetch
|
|
24960
|
-
};
|
|
24961
25002
|
}
|
|
24962
25003
|
function useSymmFunding(params) {
|
|
24963
25004
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24964
25005
|
const chainId = params?.chainId ?? ctxChainId;
|
|
24965
25006
|
const internalEnabled = !!symmCoreClient;
|
|
24966
|
-
|
|
25007
|
+
return reactQuery.useQuery({
|
|
24967
25008
|
...params?.query,
|
|
24968
25009
|
queryKey: symmKeys.fundingRates(chainId),
|
|
24969
25010
|
queryFn: () => symmCoreClient.funding.getRates({ chainId }),
|
|
24970
25011
|
enabled: internalEnabled && (params?.query?.enabled ?? true)
|
|
24971
25012
|
});
|
|
24972
|
-
return {
|
|
24973
|
-
rates: query.data?.data?.rates ?? [],
|
|
24974
|
-
isLoading: query.isLoading
|
|
24975
|
-
};
|
|
24976
25013
|
}
|
|
24977
25014
|
function useSymmFundingHistory(params) {
|
|
24978
25015
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -24995,17 +25032,12 @@ function useSymmFundingHistory(params) {
|
|
|
24995
25032
|
weightMode,
|
|
24996
25033
|
includeContributions
|
|
24997
25034
|
};
|
|
24998
|
-
|
|
25035
|
+
return reactQuery.useQuery({
|
|
24999
25036
|
...params.query,
|
|
25000
25037
|
queryKey: symmKeys.fundingHistory(request),
|
|
25001
25038
|
queryFn: () => symmCoreClient.funding.getHistory(request),
|
|
25002
25039
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
25003
25040
|
});
|
|
25004
|
-
return {
|
|
25005
|
-
history: query.data?.data ?? null,
|
|
25006
|
-
isLoading: query.isLoading,
|
|
25007
|
-
refetch: query.refetch
|
|
25008
|
-
};
|
|
25009
25041
|
}
|
|
25010
25042
|
function useSymmFundingPayments(params) {
|
|
25011
25043
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -25019,7 +25051,7 @@ function useSymmFundingPayments(params) {
|
|
|
25019
25051
|
limit,
|
|
25020
25052
|
offset
|
|
25021
25053
|
};
|
|
25022
|
-
|
|
25054
|
+
return reactQuery.useQuery({
|
|
25023
25055
|
...params.query,
|
|
25024
25056
|
queryKey: symmKeys.fundingPayments({
|
|
25025
25057
|
address,
|
|
@@ -25031,12 +25063,6 @@ function useSymmFundingPayments(params) {
|
|
|
25031
25063
|
queryFn: () => symmCoreClient.funding.getPayments(request),
|
|
25032
25064
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
25033
25065
|
});
|
|
25034
|
-
return {
|
|
25035
|
-
payments: query.data?.data?.payments ?? [],
|
|
25036
|
-
total: query.data?.data?.total ?? 0,
|
|
25037
|
-
isLoading: query.isLoading,
|
|
25038
|
-
refetch: query.refetch
|
|
25039
|
-
};
|
|
25040
25066
|
}
|
|
25041
25067
|
function useSymmPortfolio(params) {
|
|
25042
25068
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
@@ -25044,7 +25070,7 @@ function useSymmPortfolio(params) {
|
|
|
25044
25070
|
const resolvedAddress = accountAddress ? void 0 : address;
|
|
25045
25071
|
const chainId = params.chainId ?? ctxChainId;
|
|
25046
25072
|
const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
|
|
25047
|
-
|
|
25073
|
+
return reactQuery.useQuery({
|
|
25048
25074
|
...params.query,
|
|
25049
25075
|
queryKey: symmKeys.portfolio({
|
|
25050
25076
|
accountAddress,
|
|
@@ -25061,70 +25087,76 @@ function useSymmPortfolio(params) {
|
|
|
25061
25087
|
},
|
|
25062
25088
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
25063
25089
|
});
|
|
25064
|
-
return {
|
|
25065
|
-
metrics: query.data ?? null,
|
|
25066
|
-
isLoading: query.isLoading,
|
|
25067
|
-
refetch: query.refetch
|
|
25068
|
-
};
|
|
25069
25090
|
}
|
|
25070
|
-
function
|
|
25091
|
+
function useResolvedNotificationsParams(params) {
|
|
25071
25092
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25072
|
-
const queryClient = reactQuery.useQueryClient();
|
|
25073
|
-
const { userAddress } = params;
|
|
25074
25093
|
const chainId = params.chainId ?? ctxChainId;
|
|
25094
|
+
return {
|
|
25095
|
+
symmCoreClient,
|
|
25096
|
+
chainId,
|
|
25097
|
+
userAddress: params.userAddress,
|
|
25098
|
+
query: params.query
|
|
25099
|
+
};
|
|
25100
|
+
}
|
|
25101
|
+
function useSymmNotificationsQuery(params) {
|
|
25102
|
+
const { symmCoreClient, chainId, userAddress, query } = useResolvedNotificationsParams(params);
|
|
25075
25103
|
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
25076
|
-
|
|
25077
|
-
...
|
|
25104
|
+
return reactQuery.useQuery({
|
|
25105
|
+
...query,
|
|
25078
25106
|
queryKey: symmKeys.notifications(userAddress, chainId),
|
|
25079
25107
|
queryFn: () => symmCoreClient.notifications.list({
|
|
25080
25108
|
userAddress,
|
|
25081
25109
|
chainId
|
|
25082
25110
|
}),
|
|
25083
|
-
enabled: internalEnabled && (
|
|
25111
|
+
enabled: internalEnabled && (query?.enabled ?? true)
|
|
25084
25112
|
});
|
|
25085
|
-
|
|
25086
|
-
|
|
25113
|
+
}
|
|
25114
|
+
function useSymmUnreadCountQuery(params) {
|
|
25115
|
+
const { symmCoreClient, chainId, userAddress, query } = useResolvedNotificationsParams(params);
|
|
25116
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
25117
|
+
return reactQuery.useQuery({
|
|
25118
|
+
...query,
|
|
25087
25119
|
queryKey: symmKeys.unreadCount(userAddress, chainId),
|
|
25088
25120
|
queryFn: () => symmCoreClient.notifications.getUnreadCount({
|
|
25089
25121
|
userAddress,
|
|
25090
25122
|
chainId
|
|
25091
25123
|
}),
|
|
25092
|
-
enabled: internalEnabled && (
|
|
25124
|
+
enabled: internalEnabled && (query?.enabled ?? true)
|
|
25093
25125
|
});
|
|
25094
|
-
|
|
25126
|
+
}
|
|
25127
|
+
function useSymmMarkReadNotificationMutation(params, options) {
|
|
25128
|
+
const { symmCoreClient, chainId, userAddress } = useResolvedNotificationsParams(params);
|
|
25129
|
+
const queryClient = reactQuery.useQueryClient();
|
|
25130
|
+
return reactQuery.useMutation({
|
|
25131
|
+
...withSymmMutationConfig(options?.mutation, {
|
|
25132
|
+
onSuccess: () => {
|
|
25133
|
+
queryClient.invalidateQueries({
|
|
25134
|
+
queryKey: symmKeys.notifications(userAddress, chainId)
|
|
25135
|
+
});
|
|
25136
|
+
queryClient.invalidateQueries({
|
|
25137
|
+
queryKey: symmKeys.unreadCount(userAddress, chainId)
|
|
25138
|
+
});
|
|
25139
|
+
}
|
|
25140
|
+
}),
|
|
25095
25141
|
mutationFn: async ({ id, timestamp }) => {
|
|
25096
|
-
if (!symmCoreClient || !userAddress)
|
|
25142
|
+
if (!symmCoreClient || !userAddress) {
|
|
25097
25143
|
throw new Error("symm-core client not available");
|
|
25144
|
+
}
|
|
25098
25145
|
return symmCoreClient.notifications.markRead({
|
|
25099
25146
|
id,
|
|
25100
25147
|
timestamp,
|
|
25101
25148
|
userAddress,
|
|
25102
25149
|
chainId
|
|
25103
25150
|
});
|
|
25104
|
-
},
|
|
25105
|
-
onSuccess: () => {
|
|
25106
|
-
queryClient.invalidateQueries({
|
|
25107
|
-
queryKey: symmKeys.notifications(userAddress, chainId)
|
|
25108
|
-
});
|
|
25109
|
-
queryClient.invalidateQueries({
|
|
25110
|
-
queryKey: symmKeys.unreadCount(userAddress, chainId)
|
|
25111
|
-
});
|
|
25112
25151
|
}
|
|
25113
25152
|
});
|
|
25114
|
-
return {
|
|
25115
|
-
notifications: notificationsQuery.data?.data?.notifications ?? [],
|
|
25116
|
-
unreadCount: unreadQuery.data?.data?.unreadCount ?? 0,
|
|
25117
|
-
isLoading: notificationsQuery.isLoading,
|
|
25118
|
-
markRead,
|
|
25119
|
-
refetch: notificationsQuery.refetch
|
|
25120
|
-
};
|
|
25121
25153
|
}
|
|
25122
25154
|
function useSymmPendingIds(params) {
|
|
25123
25155
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25124
25156
|
const { accountAddress } = params;
|
|
25125
25157
|
const chainId = params.chainId ?? ctxChainId;
|
|
25126
25158
|
const internalEnabled = !!symmCoreClient && !!accountAddress;
|
|
25127
|
-
|
|
25159
|
+
return reactQuery.useQuery({
|
|
25128
25160
|
...params.query,
|
|
25129
25161
|
queryKey: symmKeys.pendingIds(accountAddress, chainId),
|
|
25130
25162
|
queryFn: () => symmCoreClient.positions.getPendingIds({
|
|
@@ -25133,11 +25165,6 @@ function useSymmPendingIds(params) {
|
|
|
25133
25165
|
}),
|
|
25134
25166
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
25135
25167
|
});
|
|
25136
|
-
return {
|
|
25137
|
-
pendingIds: query.data?.data?.pendingIds ?? [],
|
|
25138
|
-
isLoading: query.isLoading,
|
|
25139
|
-
refetch: query.refetch
|
|
25140
|
-
};
|
|
25141
25168
|
}
|
|
25142
25169
|
function useSymmPendingInstantOpens(params) {
|
|
25143
25170
|
const {
|
|
@@ -25147,7 +25174,7 @@ function useSymmPendingInstantOpens(params) {
|
|
|
25147
25174
|
const { accountAddress, authToken: providedAuthToken } = params;
|
|
25148
25175
|
const chainId = params.chainId ?? ctxChainId;
|
|
25149
25176
|
const internalEnabled = !!symmCoreClient && !!accountAddress;
|
|
25150
|
-
|
|
25177
|
+
return reactQuery.useQuery({
|
|
25151
25178
|
...params.query,
|
|
25152
25179
|
queryKey: symmKeys.pendingInstantOpens(accountAddress, chainId),
|
|
25153
25180
|
queryFn: async () => {
|
|
@@ -25163,28 +25190,17 @@ function useSymmPendingInstantOpens(params) {
|
|
|
25163
25190
|
},
|
|
25164
25191
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
25165
25192
|
});
|
|
25166
|
-
return {
|
|
25167
|
-
pendingOpens: query.data?.data?.pendingOpens ?? [],
|
|
25168
|
-
total: query.data?.data?.total ?? 0,
|
|
25169
|
-
isLoading: query.isLoading,
|
|
25170
|
-
refetch: query.refetch
|
|
25171
|
-
};
|
|
25172
25193
|
}
|
|
25173
25194
|
function useSymmTwapOrder(params) {
|
|
25174
25195
|
const { symmCoreClient } = useSymmContext();
|
|
25175
25196
|
const { orderId } = params;
|
|
25176
25197
|
const internalEnabled = !!symmCoreClient && !!orderId;
|
|
25177
|
-
|
|
25198
|
+
return reactQuery.useQuery({
|
|
25178
25199
|
...params.query,
|
|
25179
25200
|
queryKey: symmKeys.twapOrder(orderId),
|
|
25180
25201
|
queryFn: () => symmCoreClient.orders.getTwapOrder(orderId),
|
|
25181
25202
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
25182
25203
|
});
|
|
25183
|
-
return {
|
|
25184
|
-
order: query.data?.data ?? null,
|
|
25185
|
-
isLoading: query.isLoading,
|
|
25186
|
-
refetch: query.refetch
|
|
25187
|
-
};
|
|
25188
25204
|
}
|
|
25189
25205
|
var useSymmWsStore = zustand.create((set) => ({
|
|
25190
25206
|
isConnected: false,
|
|
@@ -25977,6 +25993,7 @@ function useSymmTokenSelectionMetadata(selection, options = {}) {
|
|
|
25977
25993
|
const weightedRatio24h = computeWeightedRatio24h(metricInput) ?? 0;
|
|
25978
25994
|
const sumNetFunding = computeNetFundingSum(metricInput);
|
|
25979
25995
|
return {
|
|
25996
|
+
query,
|
|
25980
25997
|
isLoading,
|
|
25981
25998
|
isPriceDataReady,
|
|
25982
25999
|
isUnsupported,
|
|
@@ -26388,50 +26405,68 @@ exports.symmKeys = symmKeys;
|
|
|
26388
26405
|
exports.useBinanceMarkPriceStore = useBinanceMarkPriceStore;
|
|
26389
26406
|
exports.useSymmAccountData = useSymmAccountData;
|
|
26390
26407
|
exports.useSymmAccountSummary = useSymmAccountSummary;
|
|
26391
|
-
exports.useSymmAccounts = useSymmAccounts;
|
|
26392
26408
|
exports.useSymmAccountsApi = useSymmAccountsApi;
|
|
26393
26409
|
exports.useSymmAccountsLength = useSymmAccountsLength;
|
|
26410
|
+
exports.useSymmAccountsQuery = useSymmAccountsQuery;
|
|
26394
26411
|
exports.useSymmAccountsWithPositions = useSymmAccountsWithPositions;
|
|
26395
|
-
exports.
|
|
26412
|
+
exports.useSymmAllocateCollateralMutation = useSymmAllocateCollateralMutation;
|
|
26413
|
+
exports.useSymmApprovalQuery = useSymmApprovalQuery;
|
|
26414
|
+
exports.useSymmApproveMutation = useSymmApproveMutation;
|
|
26396
26415
|
exports.useSymmAuth = useSymmAuth;
|
|
26397
26416
|
exports.useSymmAuthStore = useSymmAuthStore;
|
|
26398
26417
|
exports.useSymmAvailableMargin = useSymmAvailableMargin;
|
|
26399
26418
|
exports.useSymmBalances = useSymmBalances;
|
|
26400
26419
|
exports.useSymmCancelClose = useSymmCancelClose;
|
|
26420
|
+
exports.useSymmCancelOpenMutation = useSymmCancelOpenMutation;
|
|
26421
|
+
exports.useSymmCancelTpslMutation = useSymmCancelTpslMutation;
|
|
26422
|
+
exports.useSymmCancelTwapOrderMutation = useSymmCancelTwapOrderMutation;
|
|
26401
26423
|
exports.useSymmChartCandles = useSymmChartCandles;
|
|
26402
26424
|
exports.useSymmChartSelection = useSymmChartSelection;
|
|
26425
|
+
exports.useSymmClearTriggerConfigMutation = useSymmClearTriggerConfigMutation;
|
|
26426
|
+
exports.useSymmCloseAllPositionsMutation = useSymmCloseAllPositionsMutation;
|
|
26403
26427
|
exports.useSymmCloseOrder = useSymmCloseOrder;
|
|
26404
|
-
exports.
|
|
26428
|
+
exports.useSymmClosePositionMutation = useSymmClosePositionMutation;
|
|
26405
26429
|
exports.useSymmContext = useSymmContext;
|
|
26406
26430
|
exports.useSymmCoreClient = useSymmCoreClient;
|
|
26431
|
+
exports.useSymmCreateAccountMutation = useSymmCreateAccountMutation;
|
|
26432
|
+
exports.useSymmDeallocateCollateralMutation = useSymmDeallocateCollateralMutation;
|
|
26407
26433
|
exports.useSymmDelegation = useSymmDelegation;
|
|
26408
|
-
exports.
|
|
26434
|
+
exports.useSymmDepositAndAllocateMutation = useSymmDepositAndAllocateMutation;
|
|
26435
|
+
exports.useSymmDepositMutation = useSymmDepositMutation;
|
|
26436
|
+
exports.useSymmEditAccountNameMutation = useSymmEditAccountNameMutation;
|
|
26409
26437
|
exports.useSymmFunding = useSymmFunding;
|
|
26410
26438
|
exports.useSymmFundingHistory = useSymmFundingHistory;
|
|
26411
26439
|
exports.useSymmFundingPayments = useSymmFundingPayments;
|
|
26412
26440
|
exports.useSymmHedgerMarketById = useSymmHedgerMarketById;
|
|
26413
26441
|
exports.useSymmHedgerMarketBySymbol = useSymmHedgerMarketBySymbol;
|
|
26414
26442
|
exports.useSymmHedgerMarkets = useSymmHedgerMarkets;
|
|
26415
|
-
exports.
|
|
26443
|
+
exports.useSymmInstantTradeEnsureReadyMutation = useSymmInstantTradeEnsureReadyMutation;
|
|
26444
|
+
exports.useSymmInstantTradeExecuteMutation = useSymmInstantTradeExecuteMutation;
|
|
26445
|
+
exports.useSymmInternalTransferCollateralMutation = useSymmInternalTransferCollateralMutation;
|
|
26416
26446
|
exports.useSymmLockedParams = useSymmLockedParams;
|
|
26447
|
+
exports.useSymmMarkReadNotificationMutation = useSymmMarkReadNotificationMutation;
|
|
26417
26448
|
exports.useSymmMarkets = useSymmMarkets;
|
|
26418
|
-
exports.
|
|
26449
|
+
exports.useSymmNotificationsQuery = useSymmNotificationsQuery;
|
|
26450
|
+
exports.useSymmOpenBasketMutation = useSymmOpenBasketMutation;
|
|
26419
26451
|
exports.useSymmOpenOrders = useSymmOpenOrders;
|
|
26420
26452
|
exports.useSymmPendingIds = useSymmPendingIds;
|
|
26421
26453
|
exports.useSymmPendingInstantOpens = useSymmPendingInstantOpens;
|
|
26422
26454
|
exports.useSymmPerformanceOverlays = useSymmPerformanceOverlays;
|
|
26423
26455
|
exports.useSymmPortfolio = useSymmPortfolio;
|
|
26424
26456
|
exports.useSymmPositions = useSymmPositions;
|
|
26425
|
-
exports.
|
|
26457
|
+
exports.useSymmSetTpslMutation = useSymmSetTpslMutation;
|
|
26458
|
+
exports.useSymmSetTriggerConfigMutation = useSymmSetTriggerConfigMutation;
|
|
26459
|
+
exports.useSymmSignTermsMutation = useSymmSignTermsMutation;
|
|
26460
|
+
exports.useSymmSignatureQuery = useSymmSignatureQuery;
|
|
26426
26461
|
exports.useSymmTokenSelectionMetadata = useSymmTokenSelectionMetadata;
|
|
26427
|
-
exports.useSymmTpsl = useSymmTpsl;
|
|
26428
26462
|
exports.useSymmTpslOrders = useSymmTpslOrders;
|
|
26429
|
-
exports.useSymmTrade = useSymmTrade;
|
|
26430
26463
|
exports.useSymmTradeHistory = useSymmTradeHistory;
|
|
26431
|
-
exports.
|
|
26464
|
+
exports.useSymmTriggerConfigQuery = useSymmTriggerConfigQuery;
|
|
26432
26465
|
exports.useSymmTriggerOrders = useSymmTriggerOrders;
|
|
26433
|
-
exports.useSymmTwap = useSymmTwap;
|
|
26434
26466
|
exports.useSymmTwapOrder = useSymmTwapOrder;
|
|
26467
|
+
exports.useSymmTwapOrdersQuery = useSymmTwapOrdersQuery;
|
|
26468
|
+
exports.useSymmUnreadCountQuery = useSymmUnreadCountQuery;
|
|
26469
|
+
exports.useSymmUpdatePositionMutation = useSymmUpdatePositionMutation;
|
|
26435
26470
|
exports.useSymmWithdraw = useSymmWithdraw;
|
|
26436
26471
|
exports.useSymmWs = useSymmWs;
|
|
26437
26472
|
exports.useSymmWsStore = useSymmWsStore;
|