timelock-sdk 0.0.113 → 0.0.115

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 "./uniswapMathLens-B_cHjOOB.cjs";
2
- import { B as usePerpsOperator, F as useUserOperators, G as useExtendOption, H as useMintPerp, I as useOperatorPerms, J as useMintOption, K as useOptionPremium, L as useActiveUserPerps, P as useSetOperatorPerms, R as useClosedUserPerps, U as OptionTimelineData, V as useClosePerp, W as useOptionTimeline, Y as useMaxPositionSize, _t as useCurrentMarket, a as batchGetAmountsFromLiquidity, c as useLiquidityBlocks, d as usePriceAtTick, dt as useMarketData, f as UniswapPoolData, ft as useExerciseOption, gt as TimelockProvider, h as useCurrentPrice, ht as useClosedUserOptions, i as useVaultData, l as useBurnLiquidity, m as useCurrentTick, mt as useActiveUserOptions, n as useLens, o as useMintLiquidity, p as usePoolData, pt as OptionData, q as useOptionPnl, r as useVaultTVL, s as LiquidityBlockData, t as useApproval, u as usePriceHistory, vt as useTimelockConfig, z as useUserPerps } from "./client-C3f1XPh8.cjs";
3
- export { LiquidityBlockData, OptionData, OptionTimelineData, TimelockProvider, UniswapPoolData, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useLens, useLiquidityBlocks, useMarketData, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionTimeline, usePerpsOperator, usePoolData, usePriceAtTick, usePriceHistory, useSetOperatorPerms, useTimelockConfig, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
2
+ import { B as useClosedUserPerps, G as OptionTimelineData, H as usePerpsOperator, I as useSetOperatorPerms, J as useOptionPremium, K as useOptionTimeline, L as useUserOperators, R as useOperatorPerms, U as useClosePerp, V as useUserPerps, W as useMintPerp, X as useMintOption, Y as useOptionPnl, Z as useMaxPositionSize, _t as useClosedUserOptions, a as batchGetAmountsFromLiquidity, bt as useTimelockConfig, c as useLiquidityBlocks, d as usePriceAtTick, f as usePriceSqrtPriceX96, g as useCurrentPrice, gt as useActiveUserOptions, h as useCurrentTick, ht as OptionData, i as useVaultData, l as useBurnLiquidity, m as usePoolData, mt as useExerciseOption, n as useLens, o as useMintLiquidity, p as UniswapPoolData, pt as useMarketData, q as useExtendOption, r as useVaultTVL, s as LiquidityBlockData, t as useApproval, u as usePriceHistory, vt as TimelockProvider, yt as useCurrentMarket, z as useActiveUserPerps } from "./client-DM6DKDpk.cjs";
3
+ export { LiquidityBlockData, OptionData, OptionTimelineData, TimelockProvider, UniswapPoolData, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useLens, useLiquidityBlocks, useMarketData, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionTimeline, usePerpsOperator, usePoolData, usePriceAtTick, usePriceHistory, usePriceSqrtPriceX96, useSetOperatorPerms, useTimelockConfig, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
package/dist/client.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import "./uniswapMathLens-ChJFZ6hc.js";
2
- import { B as usePerpsOperator, F as useUserOperators, G as useExtendOption, H as useMintPerp, I as useOperatorPerms, J as useMintOption, K as useOptionPremium, L as useActiveUserPerps, P as useSetOperatorPerms, R as useClosedUserPerps, U as OptionTimelineData, V as useClosePerp, W as useOptionTimeline, Y as useMaxPositionSize, _t as useCurrentMarket, a as batchGetAmountsFromLiquidity, c as useLiquidityBlocks, d as usePriceAtTick, dt as useMarketData, f as UniswapPoolData, ft as useExerciseOption, gt as TimelockProvider, h as useCurrentPrice, ht as useClosedUserOptions, i as useVaultData, l as useBurnLiquidity, m as useCurrentTick, mt as useActiveUserOptions, n as useLens, o as useMintLiquidity, p as usePoolData, pt as OptionData, q as useOptionPnl, r as useVaultTVL, s as LiquidityBlockData, t as useApproval, u as usePriceHistory, vt as useTimelockConfig, z as useUserPerps } from "./client-Bcn8F-k3.js";
3
- export { LiquidityBlockData, OptionData, OptionTimelineData, TimelockProvider, UniswapPoolData, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useLens, useLiquidityBlocks, useMarketData, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionTimeline, usePerpsOperator, usePoolData, usePriceAtTick, usePriceHistory, useSetOperatorPerms, useTimelockConfig, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
2
+ import { B as useClosedUserPerps, G as OptionTimelineData, H as usePerpsOperator, I as useSetOperatorPerms, J as useOptionPremium, K as useOptionTimeline, L as useUserOperators, R as useOperatorPerms, U as useClosePerp, V as useUserPerps, W as useMintPerp, X as useMintOption, Y as useOptionPnl, Z as useMaxPositionSize, _t as useClosedUserOptions, a as batchGetAmountsFromLiquidity, bt as useTimelockConfig, c as useLiquidityBlocks, d as usePriceAtTick, f as usePriceSqrtPriceX96, g as useCurrentPrice, gt as useActiveUserOptions, h as useCurrentTick, ht as OptionData, i as useVaultData, l as useBurnLiquidity, m as usePoolData, mt as useExerciseOption, n as useLens, o as useMintLiquidity, p as UniswapPoolData, pt as useMarketData, q as useExtendOption, r as useVaultTVL, s as LiquidityBlockData, t as useApproval, u as usePriceHistory, vt as TimelockProvider, yt as useCurrentMarket, z as useActiveUserPerps } from "./client-BOmeI-gW.js";
3
+ export { LiquidityBlockData, OptionData, OptionTimelineData, TimelockProvider, UniswapPoolData, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useLens, useLiquidityBlocks, useMarketData, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionTimeline, usePerpsOperator, usePoolData, usePriceAtTick, usePriceHistory, usePriceSqrtPriceX96, useSetOperatorPerms, useTimelockConfig, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
package/dist/client.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
  import { r as lensAbi, t as optionsMarketAbi } from "./optionsMarket-DBuVI-kl.js";
5
- import { A as getErc20, D as token1ToToken0, E as token0ToToken1, F as uniswapMathLenses, M as getTimelockMarket, N as getUniswapMathLens, P as timelockLenses, _ as getAmountsFromLiquidity, d as wrapAmount, j as getTimelockLens, k as getPriceHistory, n as EMPTY_ARRAY$1, p as wrapPrice, t as getPayoutAtTick, v as getNearestValidStrikeTick, w as roundTickDown, y as getPriceAtTick } from "./optionUtils-BkogxEAT.js";
5
+ import { A as getPriceHistory, D as token0ToToken1, F as timelockLenses, I as uniswapMathLenses, M as getTimelockLens, N as getTimelockMarket, O as token1ToToken0, P as getUniswapMathLens, T as roundTickDown, _ as getAmountsFromLiquidity, b as getPriceSqrtPriceX96, d as wrapAmount, j as getErc20, n as EMPTY_ARRAY$1, p as wrapPrice, t as getPayoutAtTick, v as getNearestValidStrikeTick, y as getPriceAtTick } from "./optionUtils-D8zF6lcX.js";
6
6
  import { n as uniswapV3PoolAbi, t as singleOwnerVaultAbi } from "./singleOwnerVault-BeJChjfJ.js";
7
7
  import { encodeAbiParameters, encodeFunctionData, erc20Abi, maxUint256, zeroAddress } from "viem";
8
8
  import React, { createContext, useContext, useEffect, useMemo } from "react";
@@ -479,6 +479,10 @@ const usePoolData = (poolAddr) => {
479
479
  return data || {};
480
480
  };
481
481
 
482
+ //#endregion
483
+ //#region src/lib/utils.ts
484
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
485
+
482
486
  //#endregion
483
487
  //#region src/hooks/options/useExerciseOption.ts
484
488
  const swapper = "0x2c79DD9797C35A3D966C2716739542a282BB5540";
@@ -511,16 +515,9 @@ const useExerciseOption = (marketAddr) => {
511
515
  ]
512
516
  });
513
517
  await waitForTransactionReceipt(client, { hash });
514
- queryClient.invalidateQueries({ queryKey: [
515
- "userOptions",
516
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
517
- true
518
- ] });
519
- queryClient.invalidateQueries({ queryKey: [
520
- "userOptions",
521
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
522
- false
523
- ] });
518
+ await sleep(400);
519
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
520
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
524
521
  queryClient.invalidateQueries({ queryKey: ["readContract"] });
525
522
  return hash;
526
523
  };
@@ -579,10 +576,12 @@ const useCurrentTick = (poolAddr) => {
579
576
  args: []
580
577
  });
581
578
  return useMemo(() => {
579
+ const sqrtPriceX96 = data === null || data === void 0 ? void 0 : data[0];
582
580
  const exact = data === null || data === void 0 ? void 0 : data[1];
583
581
  return {
584
582
  exact,
585
- rounded: exact && tickSpacing ? Math.floor(exact / tickSpacing) * tickSpacing : void 0
583
+ rounded: exact && tickSpacing ? Math.floor(exact / tickSpacing) * tickSpacing : void 0,
584
+ sqrtPriceX96
586
585
  };
587
586
  }, [data, tickSpacing]);
588
587
  };
@@ -653,16 +652,9 @@ const useMintOption = (marketAddr) => {
653
652
  ]
654
653
  });
655
654
  await waitForTransactionReceipt(client, { hash });
656
- queryClient.invalidateQueries({ queryKey: [
657
- "userOptions",
658
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
659
- true
660
- ] });
661
- queryClient.invalidateQueries({ queryKey: [
662
- "userOptions",
663
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
664
- false
665
- ] });
655
+ await sleep(400);
656
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
657
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
666
658
  queryClient.invalidateQueries({ queryKey: ["readContract"] });
667
659
  return hash;
668
660
  };
@@ -834,7 +826,10 @@ const useExtendOption = (marketAddr) => {
834
826
  ]
835
827
  });
836
828
  await waitForTransactionReceipt(client, { hash });
837
- queryClient.invalidateQueries({ queryKey: ["userOptions", address.toLowerCase()] });
829
+ await sleep(400);
830
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
831
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
832
+ queryClient.invalidateQueries({ queryKey: ["readContract"] });
838
833
  return hash;
839
834
  };
840
835
  return useMutation({ mutationFn: extendOption });
@@ -1098,16 +1093,9 @@ const useMintPerp = (marketAddr) => {
1098
1093
  duration,
1099
1094
  strikeTick: validStrikeTick
1100
1095
  });
1101
- queryClient.invalidateQueries({ queryKey: [
1102
- "userOptions",
1103
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
1104
- true
1105
- ] });
1106
- queryClient.invalidateQueries({ queryKey: [
1107
- "userOptions",
1108
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
1109
- false
1110
- ] });
1096
+ await sleep(400);
1097
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
1098
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
1111
1099
  queryClient.invalidateQueries({ queryKey: ["readContract"] });
1112
1100
  };
1113
1101
  return useMutation({ mutationFn: mintPerp });
@@ -1117,22 +1105,14 @@ const useMintPerp = (marketAddr) => {
1117
1105
  //#region src/hooks/perps/useClosePerp.ts
1118
1106
  const useClosePerp = () => {
1119
1107
  const queryClient = useQueryClient();
1120
- const { address } = useAccount();
1121
1108
  const { operator, signMessage: { mutateAsync: signMessage } } = usePerpsOperator();
1122
1109
  return useMutation({ mutationFn: async (body) => {
1123
1110
  if (!operator) throw new Error("Operator not connected");
1124
1111
  if (!operator.auth) await signMessage();
1125
1112
  await operator.exercisePerp(body);
1126
- queryClient.invalidateQueries({ queryKey: [
1127
- "userOptions",
1128
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
1129
- true
1130
- ] });
1131
- queryClient.invalidateQueries({ queryKey: [
1132
- "userOptions",
1133
- address === null || address === void 0 ? void 0 : address.toLowerCase(),
1134
- false
1135
- ] });
1113
+ await sleep(400);
1114
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
1115
+ queryClient.invalidateQueries({ queryKey: ["userOptions"] });
1136
1116
  queryClient.invalidateQueries({ queryKey: ["readContract"] });
1137
1117
  } });
1138
1118
  };
@@ -1217,16 +1197,33 @@ const usePriceAtTick = (tick, poolAddr) => {
1217
1197
  token1Decimals
1218
1198
  ]);
1219
1199
  };
1200
+ const usePriceSqrtPriceX96 = (sqrtPriceX96, poolAddr) => {
1201
+ const { token0Decimals, token1Decimals } = usePoolData(poolAddr);
1202
+ const priceBigInt = useMemo(() => sqrtPriceX96 !== void 0 ? getPriceSqrtPriceX96(sqrtPriceX96) : void 0, [sqrtPriceX96]);
1203
+ return useMemo(() => priceBigInt && token0Decimals && token1Decimals ? wrapPrice(priceBigInt, token0Decimals, token1Decimals) : void 0, [
1204
+ priceBigInt,
1205
+ token0Decimals,
1206
+ token1Decimals
1207
+ ]);
1208
+ };
1220
1209
 
1221
1210
  //#endregion
1222
1211
  //#region src/hooks/pool/useCurrentPrice.ts
1223
1212
  const useCurrentPrice = (poolAddr) => {
1224
- const currentTick = useCurrentTick(poolAddr);
1225
- const currentPrice = usePriceAtTick(currentTick.exact, poolAddr);
1213
+ const { sqrtPriceX96, exact, rounded } = useCurrentTick(poolAddr);
1214
+ const currentPrice = usePriceSqrtPriceX96(sqrtPriceX96, poolAddr);
1226
1215
  return useMemo(() => ({
1227
1216
  currentPrice,
1228
- currentTick
1229
- }), [currentPrice, currentTick]);
1217
+ sqrtPriceX96,
1218
+ currentTick: {
1219
+ exact,
1220
+ rounded
1221
+ }
1222
+ }), [
1223
+ currentPrice,
1224
+ exact,
1225
+ rounded
1226
+ ]);
1230
1227
  };
1231
1228
 
1232
1229
  //#endregion
@@ -1441,5 +1438,5 @@ const useVaultTVL = (vaultAddr) => {
1441
1438
  };
1442
1439
 
1443
1440
  //#endregion
1444
- export { TimelockProvider, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useLens, useLiquidityBlocks, useMarketData, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionTimeline, usePerpsOperator, usePoolData, usePriceAtTick, usePriceHistory, useSetOperatorPerms, useTimelockConfig, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
1441
+ export { TimelockProvider, batchGetAmountsFromLiquidity, useActiveUserOptions, useActiveUserPerps, useApproval, useBurnLiquidity, useClosePerp, useClosedUserOptions, useClosedUserPerps, useCurrentMarket, useCurrentPrice, useCurrentTick, useExerciseOption, useExtendOption, useLens, useLiquidityBlocks, useMarketData, useMaxPositionSize, useMintLiquidity, useMintOption, useMintPerp, useOperatorPerms, useOptionPnl, useOptionPremium, useOptionTimeline, usePerpsOperator, usePoolData, usePriceAtTick, usePriceHistory, usePriceSqrtPriceX96, useSetOperatorPerms, useTimelockConfig, useUserOperators, useUserPerps, useVaultData, useVaultTVL };
1445
1442
  //# sourceMappingURL=client.js.map