timelock-sdk 0.0.178 → 0.0.179

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.d.cts CHANGED
@@ -1,3 +1,3 @@
1
1
  import "./optionsMarket-c4hgszY_.cjs";
2
- import { A as useCurrentPrice, Bt as useMarketVolume, C as useLiquidityBlocks, Ct as useMintOption, D as usePriceAtSqrtPriceX96, E as usePriceHistory, Gt as useTimelockConfig, Ht as useMarketData, M as UniswapPoolData, N as usePoolData, O as usePriceAtTick, S as LiquidityBlockData, St as useClosedUserOptions, T as useMarketPriceHistory, Ut as TimelockProvider, Vt as useMarketState, Wt as useCurrentMarket, _ as useTokenData, _t as useOptionPremium, a as OptionPricingParams, at as useActiveUserPerps, b as batchGetAmountsFromLiquidity, bt as OptionData, c as usePricingParams, ct as usePerpsOperator, d as usePauseMarketTrading, dt as ExerciseOptionEvent, f as usePauseGlobalTrading, ft as ExtendEvent, g as TokenData, gt as useExtendOption, h as useTokenBalance, ht as useOptionTimeline, i as useOptionPricingParams, it as useOperatorPerms, j as PoolKey, k as useCurrentTick, l as useUpdateMarketFees, lt as useClosePerp, m as useApproval, mt as OptionEvent, n as useUpdateMarketPricing, nt as useSetOperatorPerms, o as PricingParams, ot as useClosedUserPerps, p as useGuardianGlobalState, pt as MintOptionEvent, r as useStaticPricingParams, rt as useUserOperators, s as StaticPricingParams, st as useUserPerps, t as useLens, u as useFeeRates, ut as useMintPerp, v as useVaultTVL, vt as useOptionPnl, w as useBurnLiquidity, wt as useMaxPositionSize, x as useMintLiquidity, xt as useActiveUserOptions, y as useVaultData, yt as useExerciseOption } from "./client-BClT812n.cjs";
2
+ import { A as useCurrentPrice, Bt as useMarketState, C as useLiquidityBlocks, Ct as useMintOption, D as usePriceAtSqrtPriceX96, E as usePriceHistory, Ht as TimelockProvider, M as UniswapPoolData, N as usePoolData, O as usePriceAtTick, S as LiquidityBlockData, St as useClosedUserOptions, T as useMarketPriceHistory, Ut as useCurrentMarket, Vt as useMarketData, Wt as useTimelockConfig, _ as useTokenData, _t as useOptionPremium, a as OptionPricingParams, at as useActiveUserPerps, b as batchGetAmountsFromLiquidity, bt as OptionData, c as usePricingParams, ct as usePerpsOperator, d as usePauseMarketTrading, dt as ExerciseOptionEvent, f as usePauseGlobalTrading, ft as ExtendEvent, g as TokenData, gt as useExtendOption, h as useTokenBalance, ht as useOptionTimeline, i as useOptionPricingParams, it as useOperatorPerms, j as PoolKey, k as useCurrentTick, l as useUpdateMarketFees, lt as useClosePerp, m as useApproval, mt as OptionEvent, n as useUpdateMarketPricing, nt as useSetOperatorPerms, o as PricingParams, ot as useClosedUserPerps, p as useGuardianGlobalState, pt as MintOptionEvent, r as useStaticPricingParams, rt as useUserOperators, s as StaticPricingParams, st as useUserPerps, t as useLens, u as useFeeRates, ut as useMintPerp, v as useVaultTVL, vt as useOptionPnl, w as useBurnLiquidity, wt as useMaxPositionSize, x as useMintLiquidity, xt as useActiveUserOptions, y as useVaultData, yt as useExerciseOption, zt as useMarketVolume } from "./client-8sps6WQZ.cjs";
3
3
  export { ExerciseOptionEvent, ExtendEvent, LiquidityBlockData, MintOptionEvent, OptionData, OptionEvent, OptionPricingParams, PoolKey, PricingParams, StaticPricingParams, TimelockProvider, TokenData, UniswapPoolData, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useFeeRates, useGuardianGlobalState, useLens, useLiquidityBlocks, useMarketData, useMarketPriceHistory, useMarketState, useMarketVolume, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionPricingParams, useOptionTimeline, usePauseGlobalTrading, usePauseMarketTrading, usePerpsOperator, usePoolData, usePriceAtSqrtPriceX96, usePriceAtTick, usePriceHistory, usePricingParams, useSetOperatorPerms, useStaticPricingParams, useTimelockConfig, useTokenBalance, useTokenData, useUpdateMarketFees, useUpdateMarketPricing, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
package/dist/client.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import "./optionsMarket-2HZ-p_dl.js";
2
- import { A as useCurrentPrice, Bt as useMarketVolume, C as useLiquidityBlocks, Ct as useMintOption, D as usePriceAtSqrtPriceX96, E as usePriceHistory, Gt as useTimelockConfig, Ht as useMarketData, M as UniswapPoolData, N as usePoolData, O as usePriceAtTick, S as LiquidityBlockData, St as useClosedUserOptions, T as useMarketPriceHistory, Ut as TimelockProvider, Vt as useMarketState, Wt as useCurrentMarket, _ as useTokenData, _t as useOptionPremium, a as OptionPricingParams, at as useActiveUserPerps, b as batchGetAmountsFromLiquidity, bt as OptionData, c as usePricingParams, ct as usePerpsOperator, d as usePauseMarketTrading, dt as ExerciseOptionEvent, f as usePauseGlobalTrading, ft as ExtendEvent, g as TokenData, gt as useExtendOption, h as useTokenBalance, ht as useOptionTimeline, i as useOptionPricingParams, it as useOperatorPerms, j as PoolKey, k as useCurrentTick, l as useUpdateMarketFees, lt as useClosePerp, m as useApproval, mt as OptionEvent, n as useUpdateMarketPricing, nt as useSetOperatorPerms, o as PricingParams, ot as useClosedUserPerps, p as useGuardianGlobalState, pt as MintOptionEvent, r as useStaticPricingParams, rt as useUserOperators, s as StaticPricingParams, st as useUserPerps, t as useLens, u as useFeeRates, ut as useMintPerp, v as useVaultTVL, vt as useOptionPnl, w as useBurnLiquidity, wt as useMaxPositionSize, x as useMintLiquidity, xt as useActiveUserOptions, y as useVaultData, yt as useExerciseOption } from "./client-DNpVpttQ.js";
2
+ import { A as useCurrentPrice, Bt as useMarketState, C as useLiquidityBlocks, Ct as useMintOption, D as usePriceAtSqrtPriceX96, E as usePriceHistory, Ht as TimelockProvider, M as UniswapPoolData, N as usePoolData, O as usePriceAtTick, S as LiquidityBlockData, St as useClosedUserOptions, T as useMarketPriceHistory, Ut as useCurrentMarket, Vt as useMarketData, Wt as useTimelockConfig, _ as useTokenData, _t as useOptionPremium, a as OptionPricingParams, at as useActiveUserPerps, b as batchGetAmountsFromLiquidity, bt as OptionData, c as usePricingParams, ct as usePerpsOperator, d as usePauseMarketTrading, dt as ExerciseOptionEvent, f as usePauseGlobalTrading, ft as ExtendEvent, g as TokenData, gt as useExtendOption, h as useTokenBalance, ht as useOptionTimeline, i as useOptionPricingParams, it as useOperatorPerms, j as PoolKey, k as useCurrentTick, l as useUpdateMarketFees, lt as useClosePerp, m as useApproval, mt as OptionEvent, n as useUpdateMarketPricing, nt as useSetOperatorPerms, o as PricingParams, ot as useClosedUserPerps, p as useGuardianGlobalState, pt as MintOptionEvent, r as useStaticPricingParams, rt as useUserOperators, s as StaticPricingParams, st as useUserPerps, t as useLens, u as useFeeRates, ut as useMintPerp, v as useVaultTVL, vt as useOptionPnl, w as useBurnLiquidity, wt as useMaxPositionSize, x as useMintLiquidity, xt as useActiveUserOptions, y as useVaultData, yt as useExerciseOption, zt as useMarketVolume } from "./client-CMpyJqb-.js";
3
3
  export { ExerciseOptionEvent, ExtendEvent, LiquidityBlockData, MintOptionEvent, OptionData, OptionEvent, OptionPricingParams, PoolKey, PricingParams, StaticPricingParams, TimelockProvider, TokenData, UniswapPoolData, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useFeeRates, useGuardianGlobalState, useLens, useLiquidityBlocks, useMarketData, useMarketPriceHistory, useMarketState, useMarketVolume, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionPricingParams, useOptionTimeline, usePauseGlobalTrading, usePauseMarketTrading, usePerpsOperator, usePoolData, usePriceAtSqrtPriceX96, usePriceAtTick, usePriceHistory, usePricingParams, useSetOperatorPerms, useStaticPricingParams, useTimelockConfig, useTokenBalance, useTokenData, useUpdateMarketFees, useUpdateMarketPricing, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
package/dist/client.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
  import { i as erc20Abi$1, n as optionsMarketAbi, r as lensAbi, t as statelessStateViewAbi } from "./statelessStateView-MGdfMvC4.js";
5
- import { A as token1ToToken0, B as swappers, D as roundTick, F as getStateView, I as getTimelockLens, L as getTimelockMarket, N as getPriceHistory, O as token0ToToken1, P as getErc20, V as timelockFactories, b as getPriceAtSqrtPriceX96, f as wrapAmount, j as token1ToToken0AtTick, k as token0ToToken1AtTick, m as wrapPrice, r as EMPTY_ARRAY$1, t as getPayoutAtPrice, v as getAmountsFromLiquidity, x as getPriceAtTick, y as getNearestValidStrikeTick } from "./optionUtils-DV3VdMvm.js";
5
+ import { A as token1ToToken0AtTick, B as timelockFactories, D as token0ToToken1, E as roundTick, F as getTimelockLens, I as getTimelockMarket, M as getPriceHistory, N as getErc20, O as token0ToToken1AtTick, P as getStateView, _ as getAmountsFromLiquidity, b as getPriceAtTick, d as wrapAmount, k as token1ToToken0, p as wrapPrice, t as getPayoutAtPrice, v as getNearestValidStrikeTick, y as getPriceAtSqrtPriceX96, z as swappers } from "./optionUtils-BOHupq5Q.js";
6
6
  import { n as guardianAbi, r as singleOwnerVaultAbi, t as factoryAbi } from "./factory-y-iVl_er.js";
7
7
  import { decodeAbiParameters, decodeEventLog, encodeAbiParameters, encodeFunctionData, erc20Abi, maxUint256, zeroAddress } from "viem";
8
8
  import React, { createContext, useContext, useEffect, useMemo } from "react";
@@ -846,7 +846,7 @@ const useUserOptions = (userAddr, marketAddr, active = false) => {
846
846
  const { graphqlClient } = useTimelockConfig();
847
847
  userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
848
848
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
849
- const { data, ...rest } = useQuery({
849
+ return useQuery({
850
850
  queryKey: [
851
851
  "userOptions",
852
852
  userAddr || "--",
@@ -881,10 +881,6 @@ const useUserOptions = (userAddr, marketAddr, active = false) => {
881
881
  },
882
882
  enabled: !!userAddr && !!marketAddr && !!graphqlClient
883
883
  });
884
- return {
885
- data: data || EMPTY_ARRAY$1,
886
- ...rest
887
- };
888
884
  };
889
885
  const useActiveUserOptions = (userAddr, marketAddr) => {
890
886
  return useUserOptions(userAddr, marketAddr, true);
@@ -940,7 +936,7 @@ const useExtendOption = (marketAddr) => {
940
936
  const useOptionTimeline = (marketAddr, optionId) => {
941
937
  const { graphqlClient } = useTimelockConfig();
942
938
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
943
- const { data, ...rest } = useQuery({
939
+ return useQuery({
944
940
  queryKey: [
945
941
  "optionTimeline",
946
942
  marketAddr || "--",
@@ -985,26 +981,22 @@ const useOptionTimeline = (marketAddr, optionId) => {
985
981
  transactionHash: event.transactionHash
986
982
  }));
987
983
  return [
988
- ...mintEvents.map((data$1) => ({
984
+ ...mintEvents.map((data) => ({
989
985
  type: "mint",
990
- data: data$1
986
+ data
991
987
  })),
992
- ...exerciseEvents.map((data$1) => ({
988
+ ...exerciseEvents.map((data) => ({
993
989
  type: "exercise",
994
- data: data$1
990
+ data
995
991
  })),
996
- ...extendEvents.map((data$1) => ({
992
+ ...extendEvents.map((data) => ({
997
993
  type: "extend",
998
- data: data$1
994
+ data
999
995
  }))
1000
996
  ].sort((a, b) => a.data.timestamp.getTime() - b.data.timestamp.getTime());
1001
997
  },
1002
998
  enabled: !!marketAddr && optionId !== void 0 && !!graphqlClient
1003
999
  });
1004
- return {
1005
- data: data || EMPTY_ARRAY$1,
1006
- ...rest
1007
- };
1008
1000
  };
1009
1001
 
1010
1002
  //#endregion
@@ -1084,7 +1076,7 @@ const usePerpsOperator = () => {
1084
1076
  //#region src/hooks/operators/useUserOperators.ts
1085
1077
  const useUserOperators = (userAddr, marketAddr) => {
1086
1078
  const { graphqlClient } = useTimelockConfig();
1087
- const { data, ...rest } = useQuery({
1079
+ return useQuery({
1088
1080
  queryKey: [
1089
1081
  "userOperators",
1090
1082
  (userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase()) || "--",
@@ -1103,10 +1095,6 @@ const useUserOperators = (userAddr, marketAddr) => {
1103
1095
  },
1104
1096
  enabled: !!userAddr && !!marketAddr && !!graphqlClient
1105
1097
  });
1106
- return {
1107
- ...rest,
1108
- data: data || EMPTY_ARRAY$1
1109
- };
1110
1098
  };
1111
1099
 
1112
1100
  //#endregion
@@ -1147,14 +1135,12 @@ const useMintPerp = (marketAddr) => {
1147
1135
  const client = useClient();
1148
1136
  const { address } = useConnection();
1149
1137
  const { operator, address: operatorAddr, signMessage: { mutateAsync: signMessage } } = usePerpsOperator();
1150
- const { askForApproval } = useApproval();
1151
- const { data: operators } = useUserOperators(address, marketAddr);
1152
- const { mutateAsync: setOperatorPerms } = useSetOperatorPerms(marketAddr);
1153
1138
  const { poolManager, poolKey, optionAssetIsToken0, payoutAsset } = useMarketData(marketAddr);
1154
1139
  const { tickSpacing } = usePoolData(poolManager, poolKey);
1140
+ const { askForApproval } = useApproval();
1141
+ const { mutateAsync: setOperatorPerms } = useSetOperatorPerms(marketAddr);
1142
+ const { refetch: refetchOperators } = useUserOperators(address, marketAddr);
1155
1143
  const { refetch: refetchCurrentTick } = useCurrentTick(poolManager, poolKey);
1156
- const userPerms = operatorAddr ? operators.find((o) => o.operatorAddr.toLowerCase() === operatorAddr.toLowerCase()) : void 0;
1157
- const hasEnoughPerms = userPerms && userPerms.canMint && userPerms.canExtend && userPerms.canExercise;
1158
1144
  const mintPerp = async (data) => {
1159
1145
  const { optionType, amount, duration, strikeTick } = data;
1160
1146
  if (!client || !address) throw new Error("Wallet not connected");
@@ -1166,6 +1152,9 @@ const useMintPerp = (marketAddr) => {
1166
1152
  const market = getTimelockMarket(marketAddr, client);
1167
1153
  const { data: { currentTick } = {} } = await refetchCurrentTick();
1168
1154
  if (currentTick === void 0) throw new Error("Could not fetch current tick");
1155
+ const { data: operators = [] } = await refetchOperators();
1156
+ const userPerms = operatorAddr ? operators.find((o) => o.operatorAddr.toLowerCase() === operatorAddr.toLowerCase()) : void 0;
1157
+ const hasEnoughPerms = userPerms && userPerms.canMint && userPerms.canExtend && userPerms.canExercise;
1169
1158
  const validStrikeTick = getNearestValidStrikeTick(optionType, optionAssetIsToken0, tickSpacing, currentTick, strikeTick);
1170
1159
  const [premium, protocolFee] = await market.read.calculatePremium([
1171
1160
  optionType === "CALL" ? 0 : 1,
@@ -1217,12 +1206,11 @@ const useClosePerp = () => {
1217
1206
 
1218
1207
  //#endregion
1219
1208
  //#region src/hooks/perps/useUserPerps.ts
1220
- const EMPTY_ARRAY = [];
1221
1209
  const useUserPerps = (marketAddr, userAddr, type) => {
1222
1210
  const { operator } = usePerpsOperator();
1223
1211
  userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
1224
1212
  marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
1225
- const { data, ...rest } = useQuery({
1213
+ return useQuery({
1226
1214
  queryKey: [
1227
1215
  "userPerps",
1228
1216
  type,
@@ -1234,10 +1222,6 @@ const useUserPerps = (marketAddr, userAddr, type) => {
1234
1222
  staleTime: 1e4,
1235
1223
  refetchInterval: 1e4
1236
1224
  });
1237
- return {
1238
- data: data || EMPTY_ARRAY,
1239
- ...rest
1240
- };
1241
1225
  };
1242
1226
  const useActiveUserPerps = (marketAddr, userAddr) => {
1243
1227
  return useUserPerps(marketAddr, userAddr, "active");