timelock-sdk 0.0.131 → 0.0.132

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/client.cjs CHANGED
@@ -571,7 +571,7 @@ const useMaxPositionSize = (marketAddr, strikeTick, maxBorrowableRange = 100) =>
571
571
  //#region src/hooks/pool/useCurrentTick.ts
572
572
  const useCurrentTick = (poolAddr) => {
573
573
  const { tickSpacing } = usePoolData(poolAddr);
574
- const { data,...rest } = (0, wagmi.useReadContract)({
574
+ const { data, ...rest } = (0, wagmi.useReadContract)({
575
575
  address: poolAddr,
576
576
  abi: require_singleOwnerVault.uniswapV3PoolAbi,
577
577
  functionName: "slot0",
@@ -799,7 +799,7 @@ const useUserOptions = (userAddr, marketAddr, active = false) => {
799
799
  const { graphqlClient } = useTimelockConfig();
800
800
  userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
801
801
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
802
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
802
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
803
803
  queryKey: [
804
804
  "userOptions",
805
805
  userAddr || "--",
@@ -893,7 +893,7 @@ const useExtendOption = (marketAddr) => {
893
893
  const useOptionTimeline = (marketAddr, optionId) => {
894
894
  const { graphqlClient } = useTimelockConfig();
895
895
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
896
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
896
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
897
897
  queryKey: [
898
898
  "optionTimeline",
899
899
  marketAddr || "--",
@@ -1033,66 +1033,6 @@ const usePerpsOperator = () => {
1033
1033
  };
1034
1034
  };
1035
1035
 
1036
- //#endregion
1037
- //#region src/hooks/operators/useUserOperators.ts
1038
- const useUserOperators = (userAddr, marketAddr) => {
1039
- const { graphqlClient } = useTimelockConfig();
1040
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
1041
- queryKey: [
1042
- "userOperators",
1043
- (userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase()) || "--",
1044
- (marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase()) || "--"
1045
- ],
1046
- queryFn: async () => {
1047
- if (!userAddr || !marketAddr) return void 0;
1048
- return (await graphqlClient.GetUserMarketOperators({
1049
- userAddr: userAddr.toLowerCase(),
1050
- marketAddr: marketAddr.toLowerCase()
1051
- })).UserMarketOperator.map((operator) => ({
1052
- ...operator,
1053
- spendingApproval: BigInt(operator.spendingApproval),
1054
- operatorAddr: operator.operator.address.toLowerCase()
1055
- }));
1056
- },
1057
- enabled: !!userAddr && !!marketAddr && !!graphqlClient
1058
- });
1059
- return {
1060
- ...rest,
1061
- data: data || require_optionUtils.EMPTY_ARRAY
1062
- };
1063
- };
1064
-
1065
- //#endregion
1066
- //#region src/hooks/operators/useSetOperatorPerms.ts
1067
- const useSetOperatorPerms = (marketAddr) => {
1068
- const queryClient = (0, __tanstack_react_query.useQueryClient)();
1069
- const client = (0, wagmi.useClient)();
1070
- const { address } = (0, wagmi.useAccount)();
1071
- const { writeContractAsync } = (0, wagmi.useWriteContract)();
1072
- const setOperatorPerms = async ({ operator, canExtend, canExercise, canTransfer, canMint, spendingApproval }) => {
1073
- if (!client || !address) throw new Error("Wallet not connected");
1074
- if (!marketAddr) throw new Error("Market address not available");
1075
- const hash = await writeContractAsync({
1076
- address: marketAddr,
1077
- abi: require_optionsMarket.optionsMarketAbi,
1078
- functionName: "setOperatorPerms",
1079
- args: [
1080
- operator,
1081
- canExtend,
1082
- canExercise,
1083
- canTransfer,
1084
- canMint,
1085
- spendingApproval
1086
- ]
1087
- });
1088
- await (0, viem_actions.waitForTransactionReceipt)(client, { hash });
1089
- queryClient.invalidateQueries({ queryKey: ["userOperators"] });
1090
- queryClient.invalidateQueries({ queryKey: ["readContract"] });
1091
- return hash;
1092
- };
1093
- return (0, __tanstack_react_query.useMutation)({ mutationFn: setOperatorPerms });
1094
- };
1095
-
1096
1036
  //#endregion
1097
1037
  //#region src/hooks/perps/useMintPerp.ts
1098
1038
  const useMintPerp = (marketAddr) => {
@@ -1101,13 +1041,9 @@ const useMintPerp = (marketAddr) => {
1101
1041
  const { address } = (0, wagmi.useAccount)();
1102
1042
  const { operator, address: operatorAddr, signMessage: { mutateAsync: signMessage } } = usePerpsOperator();
1103
1043
  const { askForApproval } = useApproval();
1104
- const { data: operators } = useUserOperators(address, marketAddr);
1105
- const { mutateAsync: setOperatorPerms } = useSetOperatorPerms(marketAddr);
1106
1044
  const { pool, optionAssetIsToken0, payoutAsset } = useMarketData(marketAddr);
1107
1045
  const { tickSpacing } = usePoolData(pool);
1108
1046
  const { refetch: refetchCurrentTick } = useCurrentTick(pool);
1109
- const userPerms = operatorAddr ? operators.find((o) => o.operatorAddr.toLowerCase() === operatorAddr.toLowerCase()) : void 0;
1110
- const hasEnoughPerms = userPerms && userPerms.canMint && userPerms.canExtend && userPerms.canExercise;
1111
1047
  const mintPerp = async (data) => {
1112
1048
  const { optionType, amount, duration, strikeTick } = data;
1113
1049
  if (!client || !address) throw new Error("Wallet not connected");
@@ -1127,16 +1063,7 @@ const useMintPerp = (marketAddr) => {
1127
1063
  duration,
1128
1064
  0
1129
1065
  ]);
1130
- const maxPremium = (premium + protocolFee) * 11n / 10n;
1131
- if (!hasEnoughPerms) await setOperatorPerms({
1132
- operator: operatorAddr,
1133
- canMint: true,
1134
- canExtend: true,
1135
- canExercise: true,
1136
- canTransfer: (userPerms === null || userPerms === void 0 ? void 0 : userPerms.canTransfer) || false,
1137
- spendingApproval: maxPremium
1138
- });
1139
- await askForApproval(payoutAsset, marketAddr, maxPremium);
1066
+ await askForApproval(payoutAsset, marketAddr, (premium + protocolFee) * 11n / 10n);
1140
1067
  await operator.mintPerp({
1141
1068
  marketAddr,
1142
1069
  amount,
@@ -1170,12 +1097,12 @@ const useClosePerp = () => {
1170
1097
 
1171
1098
  //#endregion
1172
1099
  //#region src/hooks/perps/useUserPerps.ts
1173
- const EMPTY_ARRAY = [];
1100
+ const EMPTY_ARRAY$1 = [];
1174
1101
  const useUserPerps = (marketAddr, userAddr, type) => {
1175
1102
  const { operator } = usePerpsOperator();
1176
1103
  userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
1177
1104
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
1178
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
1105
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
1179
1106
  queryKey: [
1180
1107
  "userPerps",
1181
1108
  type,
@@ -1188,7 +1115,7 @@ const useUserPerps = (marketAddr, userAddr, type) => {
1188
1115
  refetchInterval: 1e4
1189
1116
  });
1190
1117
  return {
1191
- data: data || EMPTY_ARRAY,
1118
+ data: data || EMPTY_ARRAY$1,
1192
1119
  ...rest
1193
1120
  };
1194
1121
  };
@@ -1207,7 +1134,7 @@ const useOperatorPerms = (marketAddr, userAddr, operatorAddr) => {
1207
1134
  address: userAddr,
1208
1135
  token: payoutAsset
1209
1136
  });
1210
- const { data,...rest } = (0, wagmi.useReadContract)({
1137
+ const { data, ...rest } = (0, wagmi.useReadContract)({
1211
1138
  abi: require_optionsMarket.optionsMarketAbi,
1212
1139
  address: marketAddr,
1213
1140
  functionName: "operatorPerms",
@@ -1240,6 +1167,66 @@ const useOperatorPerms = (marketAddr, userAddr, operatorAddr) => {
1240
1167
  };
1241
1168
  };
1242
1169
 
1170
+ //#endregion
1171
+ //#region src/hooks/operators/useUserOperators.ts
1172
+ const useUserOperators = (userAddr, marketAddr) => {
1173
+ const { graphqlClient } = useTimelockConfig();
1174
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
1175
+ queryKey: [
1176
+ "userOperators",
1177
+ (userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase()) || "--",
1178
+ (marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase()) || "--"
1179
+ ],
1180
+ queryFn: async () => {
1181
+ if (!userAddr || !marketAddr) return void 0;
1182
+ return (await graphqlClient.GetUserMarketOperators({
1183
+ userAddr: userAddr.toLowerCase(),
1184
+ marketAddr: marketAddr.toLowerCase()
1185
+ })).UserMarketOperator.map((operator) => ({
1186
+ ...operator,
1187
+ spendingApproval: BigInt(operator.spendingApproval),
1188
+ operatorAddr: operator.operator.address.toLowerCase()
1189
+ }));
1190
+ },
1191
+ enabled: !!userAddr && !!marketAddr && !!graphqlClient
1192
+ });
1193
+ return {
1194
+ ...rest,
1195
+ data: data || require_optionUtils.EMPTY_ARRAY
1196
+ };
1197
+ };
1198
+
1199
+ //#endregion
1200
+ //#region src/hooks/operators/useSetOperatorPerms.ts
1201
+ const useSetOperatorPerms = (marketAddr) => {
1202
+ const queryClient = (0, __tanstack_react_query.useQueryClient)();
1203
+ const client = (0, wagmi.useClient)();
1204
+ const { address } = (0, wagmi.useAccount)();
1205
+ const { writeContractAsync } = (0, wagmi.useWriteContract)();
1206
+ const setOperatorPerms = async ({ operator, canExtend, canExercise, canTransfer, canMint, spendingApproval }) => {
1207
+ if (!client || !address) throw new Error("Wallet not connected");
1208
+ if (!marketAddr) throw new Error("Market address not available");
1209
+ const hash = await writeContractAsync({
1210
+ address: marketAddr,
1211
+ abi: require_optionsMarket.optionsMarketAbi,
1212
+ functionName: "setOperatorPerms",
1213
+ args: [
1214
+ operator,
1215
+ canExtend,
1216
+ canExercise,
1217
+ canTransfer,
1218
+ canMint,
1219
+ spendingApproval
1220
+ ]
1221
+ });
1222
+ await (0, viem_actions.waitForTransactionReceipt)(client, { hash });
1223
+ queryClient.invalidateQueries({ queryKey: ["userOperators"] });
1224
+ queryClient.invalidateQueries({ queryKey: ["readContract"] });
1225
+ return hash;
1226
+ };
1227
+ return (0, __tanstack_react_query.useMutation)({ mutationFn: setOperatorPerms });
1228
+ };
1229
+
1243
1230
  //#endregion
1244
1231
  //#region src/hooks/pool/usePriceHistory.ts
1245
1232
  const usePriceHistory = (pool, token, resolution, startTimestamp, endTimestamp) => {
@@ -1343,7 +1330,7 @@ const useBurnLiquidity = (vaultAddr) => {
1343
1330
  //#region src/hooks/vault/useLiquidityBlocks.ts
1344
1331
  const useLiquidityBlocks = (vaultAddr) => {
1345
1332
  const { timelockLens } = useLens();
1346
- const { data: blocks = [],...rest } = (0, wagmi.useReadContract)({
1333
+ const { data: blocks = [], ...rest } = (0, wagmi.useReadContract)({
1347
1334
  address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
1348
1335
  abi: require_optionsMarket.lensAbi,
1349
1336
  functionName: "getAllBlocks",