timelock-sdk 0.0.131 → 0.0.133

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.
Files changed (31) hide show
  1. package/dist/abis.cjs +1 -1
  2. package/dist/abis.d.cts +1 -1
  3. package/dist/abis.d.ts +1 -1
  4. package/dist/abis.js +2 -2
  5. package/dist/{client-Cs5UA8KQ.d.cts → client-BuKYj0pW.d.ts} +3117 -1193
  6. package/dist/{client-BzO_GBnM.d.ts → client-QYPs5kB7.d.cts} +3381 -1457
  7. package/dist/client.cjs +75 -105
  8. package/dist/client.cjs.map +1 -1
  9. package/dist/client.d.cts +2 -2
  10. package/dist/client.d.ts +2 -2
  11. package/dist/client.js +78 -108
  12. package/dist/client.js.map +1 -1
  13. package/dist/{optionUtils-CUg_L5bP.js → optionUtils-CQzUsKpO.js} +3 -3
  14. package/dist/{optionUtils-CUg_L5bP.js.map → optionUtils-CQzUsKpO.js.map} +1 -1
  15. package/dist/{optionUtils-BQIg6hnc.cjs → optionUtils-OfLzCR6R.cjs} +3 -3
  16. package/dist/{optionUtils-BQIg6hnc.cjs.map → optionUtils-OfLzCR6R.cjs.map} +1 -1
  17. package/dist/{optionsMarket-Dkwpa2uO.js → optionsMarket-B2IsvbeA.js} +48 -25
  18. package/dist/optionsMarket-B2IsvbeA.js.map +1 -0
  19. package/dist/{optionsMarket-C8-v8IvX.cjs → optionsMarket-C6K82im8.cjs} +48 -25
  20. package/dist/optionsMarket-C6K82im8.cjs.map +1 -0
  21. package/dist/package.cjs +2 -2
  22. package/dist/package.d.cts +2 -2
  23. package/dist/package.d.ts +2 -2
  24. package/dist/package.js +2 -2
  25. package/dist/{singleOwnerVault-BeJChjfJ.js → singleOwnerVault-p81IjmWe.js} +1 -1
  26. package/dist/{singleOwnerVault-BeJChjfJ.js.map → singleOwnerVault-p81IjmWe.js.map} +1 -1
  27. package/dist/{uniswapMathLens-DtacRMPz.d.cts → uniswapMathLens-Be6lFJcD.d.cts} +31 -13
  28. package/dist/{uniswapMathLens-JKcBN1v_.d.ts → uniswapMathLens-DHfzEjej.d.ts} +31 -13
  29. package/package.json +11 -11
  30. package/dist/optionsMarket-C8-v8IvX.cjs.map +0 -1
  31. package/dist/optionsMarket-Dkwpa2uO.js.map +0 -1
package/dist/client.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
3
 
4
- const require_optionUtils = require('./optionUtils-BQIg6hnc.cjs');
5
- const require_optionsMarket = require('./optionsMarket-C8-v8IvX.cjs');
4
+ const require_optionUtils = require('./optionUtils-OfLzCR6R.cjs');
5
+ const require_optionsMarket = require('./optionsMarket-C6K82im8.cjs');
6
6
  const require_singleOwnerVault = require('./singleOwnerVault-gf2zNZVk.cjs');
7
7
  let viem = require("viem");
8
8
  let react = require("react");
@@ -528,42 +528,25 @@ const useExerciseOption = (marketAddr) => {
528
528
 
529
529
  //#endregion
530
530
  //#region src/hooks/options/useMaxPositionSize.ts
531
- const useMaxPositionSize = (marketAddr, strikeTick, maxBorrowableRange = 100) => {
531
+ const useMaxPositionSize = (marketAddr, maxBorrowableRange = 100) => {
532
532
  const { timelockLens } = useLens();
533
533
  const { optionAssetDecimals } = useMarketData(marketAddr);
534
- const { data: data0, refetch: refetch0 } = (0, wagmi.useReadContract)({
534
+ const { data, ...rest } = (0, wagmi.useReadContract)({
535
535
  address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
536
536
  abi: require_optionsMarket.lensAbi,
537
- functionName: "getMaxPositionSizeAtCurrentTick",
537
+ functionName: "getMaxATMSizes",
538
538
  args: [marketAddr, maxBorrowableRange],
539
539
  query: { enabled: !!marketAddr && !!timelockLens },
540
540
  gas: 100000000n
541
541
  });
542
- const { data: data1, refetch: refetch1 } = (0, wagmi.useReadContract)({
543
- address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
544
- abi: require_optionsMarket.lensAbi,
545
- functionName: "getMaxPositionSize",
546
- args: [
547
- marketAddr,
548
- strikeTick,
549
- maxBorrowableRange
550
- ],
551
- query: { enabled: !!marketAddr && !!timelockLens && strikeTick !== void 0 },
552
- gas: 100000000n
553
- });
554
- const data = strikeTick !== void 0 ? data1 : data0;
555
542
  const { maxCallSize, maxPutSize } = (0, react.useMemo)(() => data && optionAssetDecimals ? {
556
543
  maxCallSize: require_optionUtils.wrapAmount(data[0], optionAssetDecimals),
557
544
  maxPutSize: require_optionUtils.wrapAmount(data[1], optionAssetDecimals)
558
545
  } : {}, [data, optionAssetDecimals]);
559
- const refetch = () => {
560
- refetch0();
561
- refetch1();
562
- };
563
546
  return {
564
547
  maxCallSize,
565
548
  maxPutSize,
566
- refetch
549
+ ...rest
567
550
  };
568
551
  };
569
552
 
@@ -571,7 +554,7 @@ const useMaxPositionSize = (marketAddr, strikeTick, maxBorrowableRange = 100) =>
571
554
  //#region src/hooks/pool/useCurrentTick.ts
572
555
  const useCurrentTick = (poolAddr) => {
573
556
  const { tickSpacing } = usePoolData(poolAddr);
574
- const { data,...rest } = (0, wagmi.useReadContract)({
557
+ const { data, ...rest } = (0, wagmi.useReadContract)({
575
558
  address: poolAddr,
576
559
  abi: require_singleOwnerVault.uniswapV3PoolAbi,
577
560
  functionName: "slot0",
@@ -799,7 +782,7 @@ const useUserOptions = (userAddr, marketAddr, active = false) => {
799
782
  const { graphqlClient } = useTimelockConfig();
800
783
  userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
801
784
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
802
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
785
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
803
786
  queryKey: [
804
787
  "userOptions",
805
788
  userAddr || "--",
@@ -893,7 +876,7 @@ const useExtendOption = (marketAddr) => {
893
876
  const useOptionTimeline = (marketAddr, optionId) => {
894
877
  const { graphqlClient } = useTimelockConfig();
895
878
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
896
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
879
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
897
880
  queryKey: [
898
881
  "optionTimeline",
899
882
  marketAddr || "--",
@@ -1033,66 +1016,6 @@ const usePerpsOperator = () => {
1033
1016
  };
1034
1017
  };
1035
1018
 
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
1019
  //#endregion
1097
1020
  //#region src/hooks/perps/useMintPerp.ts
1098
1021
  const useMintPerp = (marketAddr) => {
@@ -1101,13 +1024,9 @@ const useMintPerp = (marketAddr) => {
1101
1024
  const { address } = (0, wagmi.useAccount)();
1102
1025
  const { operator, address: operatorAddr, signMessage: { mutateAsync: signMessage } } = usePerpsOperator();
1103
1026
  const { askForApproval } = useApproval();
1104
- const { data: operators } = useUserOperators(address, marketAddr);
1105
- const { mutateAsync: setOperatorPerms } = useSetOperatorPerms(marketAddr);
1106
1027
  const { pool, optionAssetIsToken0, payoutAsset } = useMarketData(marketAddr);
1107
1028
  const { tickSpacing } = usePoolData(pool);
1108
1029
  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
1030
  const mintPerp = async (data) => {
1112
1031
  const { optionType, amount, duration, strikeTick } = data;
1113
1032
  if (!client || !address) throw new Error("Wallet not connected");
@@ -1127,16 +1046,7 @@ const useMintPerp = (marketAddr) => {
1127
1046
  duration,
1128
1047
  0
1129
1048
  ]);
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);
1049
+ await askForApproval(payoutAsset, marketAddr, (premium + protocolFee) * 11n / 10n);
1140
1050
  await operator.mintPerp({
1141
1051
  marketAddr,
1142
1052
  amount,
@@ -1170,12 +1080,12 @@ const useClosePerp = () => {
1170
1080
 
1171
1081
  //#endregion
1172
1082
  //#region src/hooks/perps/useUserPerps.ts
1173
- const EMPTY_ARRAY = [];
1083
+ const EMPTY_ARRAY$1 = [];
1174
1084
  const useUserPerps = (marketAddr, userAddr, type) => {
1175
1085
  const { operator } = usePerpsOperator();
1176
1086
  userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
1177
1087
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
1178
- const { data,...rest } = (0, __tanstack_react_query.useQuery)({
1088
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
1179
1089
  queryKey: [
1180
1090
  "userPerps",
1181
1091
  type,
@@ -1188,7 +1098,7 @@ const useUserPerps = (marketAddr, userAddr, type) => {
1188
1098
  refetchInterval: 1e4
1189
1099
  });
1190
1100
  return {
1191
- data: data || EMPTY_ARRAY,
1101
+ data: data || EMPTY_ARRAY$1,
1192
1102
  ...rest
1193
1103
  };
1194
1104
  };
@@ -1207,7 +1117,7 @@ const useOperatorPerms = (marketAddr, userAddr, operatorAddr) => {
1207
1117
  address: userAddr,
1208
1118
  token: payoutAsset
1209
1119
  });
1210
- const { data,...rest } = (0, wagmi.useReadContract)({
1120
+ const { data, ...rest } = (0, wagmi.useReadContract)({
1211
1121
  abi: require_optionsMarket.optionsMarketAbi,
1212
1122
  address: marketAddr,
1213
1123
  functionName: "operatorPerms",
@@ -1240,6 +1150,66 @@ const useOperatorPerms = (marketAddr, userAddr, operatorAddr) => {
1240
1150
  };
1241
1151
  };
1242
1152
 
1153
+ //#endregion
1154
+ //#region src/hooks/operators/useUserOperators.ts
1155
+ const useUserOperators = (userAddr, marketAddr) => {
1156
+ const { graphqlClient } = useTimelockConfig();
1157
+ const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
1158
+ queryKey: [
1159
+ "userOperators",
1160
+ (userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase()) || "--",
1161
+ (marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase()) || "--"
1162
+ ],
1163
+ queryFn: async () => {
1164
+ if (!userAddr || !marketAddr) return void 0;
1165
+ return (await graphqlClient.GetUserMarketOperators({
1166
+ userAddr: userAddr.toLowerCase(),
1167
+ marketAddr: marketAddr.toLowerCase()
1168
+ })).UserMarketOperator.map((operator) => ({
1169
+ ...operator,
1170
+ spendingApproval: BigInt(operator.spendingApproval),
1171
+ operatorAddr: operator.operator.address.toLowerCase()
1172
+ }));
1173
+ },
1174
+ enabled: !!userAddr && !!marketAddr && !!graphqlClient
1175
+ });
1176
+ return {
1177
+ ...rest,
1178
+ data: data || require_optionUtils.EMPTY_ARRAY
1179
+ };
1180
+ };
1181
+
1182
+ //#endregion
1183
+ //#region src/hooks/operators/useSetOperatorPerms.ts
1184
+ const useSetOperatorPerms = (marketAddr) => {
1185
+ const queryClient = (0, __tanstack_react_query.useQueryClient)();
1186
+ const client = (0, wagmi.useClient)();
1187
+ const { address } = (0, wagmi.useAccount)();
1188
+ const { writeContractAsync } = (0, wagmi.useWriteContract)();
1189
+ const setOperatorPerms = async ({ operator, canExtend, canExercise, canTransfer, canMint, spendingApproval }) => {
1190
+ if (!client || !address) throw new Error("Wallet not connected");
1191
+ if (!marketAddr) throw new Error("Market address not available");
1192
+ const hash = await writeContractAsync({
1193
+ address: marketAddr,
1194
+ abi: require_optionsMarket.optionsMarketAbi,
1195
+ functionName: "setOperatorPerms",
1196
+ args: [
1197
+ operator,
1198
+ canExtend,
1199
+ canExercise,
1200
+ canTransfer,
1201
+ canMint,
1202
+ spendingApproval
1203
+ ]
1204
+ });
1205
+ await (0, viem_actions.waitForTransactionReceipt)(client, { hash });
1206
+ queryClient.invalidateQueries({ queryKey: ["userOperators"] });
1207
+ queryClient.invalidateQueries({ queryKey: ["readContract"] });
1208
+ return hash;
1209
+ };
1210
+ return (0, __tanstack_react_query.useMutation)({ mutationFn: setOperatorPerms });
1211
+ };
1212
+
1243
1213
  //#endregion
1244
1214
  //#region src/hooks/pool/usePriceHistory.ts
1245
1215
  const usePriceHistory = (pool, token, resolution, startTimestamp, endTimestamp) => {
@@ -1343,7 +1313,7 @@ const useBurnLiquidity = (vaultAddr) => {
1343
1313
  //#region src/hooks/vault/useLiquidityBlocks.ts
1344
1314
  const useLiquidityBlocks = (vaultAddr) => {
1345
1315
  const { timelockLens } = useLens();
1346
- const { data: blocks = [],...rest } = (0, wagmi.useReadContract)({
1316
+ const { data: blocks = [], ...rest } = (0, wagmi.useReadContract)({
1347
1317
  address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
1348
1318
  abi: require_optionsMarket.lensAbi,
1349
1319
  functionName: "getAllBlocks",