timelock-sdk 0.0.6 → 0.0.8
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 +56 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +28800 -0
- package/dist/client.d.ts +28800 -0
- package/dist/client.js +56 -0
- package/dist/client.js.map +1 -0
- package/dist/index-CCFK8AUb.d.cts +38889 -0
- package/dist/index-sG69Fv-T.d.ts +38889 -0
- package/dist/numberUtils-DB5N1e6G.js +2 -0
- package/dist/numberUtils-DB5N1e6G.js.map +1 -0
- package/dist/numberUtils-DRGhFDHZ.cjs +2 -0
- package/dist/numberUtils-DRGhFDHZ.cjs.map +1 -0
- package/dist/package.cjs +1 -56
- package/dist/package.d.cts +2 -67683
- package/dist/package.d.ts +2 -67683
- package/dist/package.js +1 -56
- package/package.json +11 -1
- package/dist/package.cjs.map +0 -1
- package/dist/package.js.map +0 -1
package/dist/package.js
CHANGED
|
@@ -1,56 +1 @@
|
|
|
1
|
-
"use client";import e,{createContext as t,useContext as n,useMemo as r}from"react";import{useAccount as i,useChainId as a,useClient as o,useReadContract as s,useWaitForTransactionReceipt as c,useWriteContract as l}from"wagmi";import{GraphQLClient as u}from"graphql-request";import{encodeFunctionData as d,erc20Abi as f,getContract as p,maxUint256 as m}from"viem";import{monadTestnet as h}from"viem/chains";import g from"graphql-tag";import{waitForTransactionReceipt as _}from"viem/actions";import v from"big.js";import{useQuery as y}from"@tanstack/react-query";import{SqrtPriceMath as b,TickMath as x}from"@uniswap/v3-sdk";import S from"jsbi";const C=[{type:`constructor`,inputs:[{name:`name_`,type:`string`,internalType:`string`},{name:`symbol_`,type:`string`,internalType:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`allowance`,inputs:[{name:`owner`,type:`address`,internalType:`address`},{name:`spender`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`approve`,inputs:[{name:`spender`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`balanceOf`,inputs:[{name:`account`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`decimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`decreaseAllowance`,inputs:[{name:`spender`,type:`address`,internalType:`address`},{name:`subtractedValue`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`increaseAllowance`,inputs:[{name:`spender`,type:`address`,internalType:`address`},{name:`addedValue`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`,internalType:`string`}],stateMutability:`view`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`,internalType:`string`}],stateMutability:`view`},{type:`function`,name:`totalSupply`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`transfer`,inputs:[{name:`to`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`function`,name:`transferFrom`,inputs:[{name:`from`,type:`address`,internalType:`address`},{name:`to`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`nonpayable`},{type:`event`,name:`Approval`,inputs:[{name:`owner`,type:`address`,indexed:!0,internalType:`address`},{name:`spender`,type:`address`,indexed:!0,internalType:`address`},{name:`value`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Transfer`,inputs:[{name:`from`,type:`address`,indexed:!0,internalType:`address`},{name:`to`,type:`address`,indexed:!0,internalType:`address`},{name:`value`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1}],w=[{type:`function`,name:`burn`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`amount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`collect`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`amount0Requested`,type:`uint128`,internalType:`uint128`},{name:`amount1Requested`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint128`,internalType:`uint128`},{name:`amount1`,type:`uint128`,internalType:`uint128`}],stateMutability:`nonpayable`},{type:`function`,name:`collectProtocol`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`amount0Requested`,type:`uint128`,internalType:`uint128`},{name:`amount1Requested`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint128`,internalType:`uint128`},{name:`amount1`,type:`uint128`,internalType:`uint128`}],stateMutability:`nonpayable`},{type:`function`,name:`factory`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`fee`,inputs:[],outputs:[{name:``,type:`uint24`,internalType:`uint24`}],stateMutability:`view`},{type:`function`,name:`feeGrowthGlobal0X128`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`feeGrowthGlobal1X128`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`flash`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`increaseObservationCardinalityNext`,inputs:[{name:`observationCardinalityNext`,type:`uint16`,internalType:`uint16`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initialize`,inputs:[{name:`sqrtPriceX96`,type:`uint160`,internalType:`uint160`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`liquidity`,inputs:[],outputs:[{name:``,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`maxLiquidityPerTick`,inputs:[],outputs:[{name:``,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`mint`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`amount`,type:`uint128`,internalType:`uint128`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`observations`,inputs:[{name:`index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`blockTimestamp`,type:`uint32`,internalType:`uint32`},{name:`tickCumulative`,type:`int56`,internalType:`int56`},{name:`secondsPerLiquidityCumulativeX128`,type:`uint160`,internalType:`uint160`},{name:`initialized`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`observe`,inputs:[{name:`secondsAgos`,type:`uint32[]`,internalType:`uint32[]`}],outputs:[{name:`tickCumulatives`,type:`int56[]`,internalType:`int56[]`},{name:`secondsPerLiquidityCumulativeX128s`,type:`uint160[]`,internalType:`uint160[]`}],stateMutability:`view`},{type:`function`,name:`positions`,inputs:[{name:`key`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`},{name:`feeGrowthInside0LastX128`,type:`uint256`,internalType:`uint256`},{name:`feeGrowthInside1LastX128`,type:`uint256`,internalType:`uint256`},{name:`tokensOwed0`,type:`uint128`,internalType:`uint128`},{name:`tokensOwed1`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`protocolFees`,inputs:[],outputs:[{name:`token0`,type:`uint128`,internalType:`uint128`},{name:`token1`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`setFeeProtocol`,inputs:[{name:`feeProtocol0`,type:`uint8`,internalType:`uint8`},{name:`feeProtocol1`,type:`uint8`,internalType:`uint8`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`slot0`,inputs:[],outputs:[{name:`sqrtPriceX96`,type:`uint160`,internalType:`uint160`},{name:`tick`,type:`int24`,internalType:`int24`},{name:`observationIndex`,type:`uint16`,internalType:`uint16`},{name:`observationCardinality`,type:`uint16`,internalType:`uint16`},{name:`observationCardinalityNext`,type:`uint16`,internalType:`uint16`},{name:`feeProtocol`,type:`uint8`,internalType:`uint8`},{name:`unlocked`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`snapshotCumulativesInside`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`}],outputs:[{name:`tickCumulativeInside`,type:`int56`,internalType:`int56`},{name:`secondsPerLiquidityInsideX128`,type:`uint160`,internalType:`uint160`},{name:`secondsInside`,type:`uint32`,internalType:`uint32`}],stateMutability:`view`},{type:`function`,name:`swap`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`zeroForOne`,type:`bool`,internalType:`bool`},{name:`amountSpecified`,type:`int256`,internalType:`int256`},{name:`sqrtPriceLimitX96`,type:`uint160`,internalType:`uint160`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[{name:`amount0`,type:`int256`,internalType:`int256`},{name:`amount1`,type:`int256`,internalType:`int256`}],stateMutability:`nonpayable`},{type:`function`,name:`tickBitmap`,inputs:[{name:`wordPosition`,type:`int16`,internalType:`int16`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`tickSpacing`,inputs:[],outputs:[{name:``,type:`int24`,internalType:`int24`}],stateMutability:`view`},{type:`function`,name:`ticks`,inputs:[{name:`tick`,type:`int24`,internalType:`int24`}],outputs:[{name:`liquidityGross`,type:`uint128`,internalType:`uint128`},{name:`liquidityNet`,type:`int128`,internalType:`int128`},{name:`feeGrowthOutside0X128`,type:`uint256`,internalType:`uint256`},{name:`feeGrowthOutside1X128`,type:`uint256`,internalType:`uint256`},{name:`tickCumulativeOutside`,type:`int56`,internalType:`int56`},{name:`secondsPerLiquidityOutsideX128`,type:`uint160`,internalType:`uint160`},{name:`secondsOutside`,type:`uint32`,internalType:`uint32`},{name:`initialized`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`token0`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`token1`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`event`,name:`Burn`,inputs:[{name:`owner`,type:`address`,indexed:!0,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!0,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!0,internalType:`int24`},{name:`amount`,type:`uint128`,indexed:!1,internalType:`uint128`},{name:`amount0`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amount1`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Collect`,inputs:[{name:`owner`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!1,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!0,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!0,internalType:`int24`},{name:`amount0`,type:`uint128`,indexed:!1,internalType:`uint128`},{name:`amount1`,type:`uint128`,indexed:!1,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`CollectProtocol`,inputs:[{name:`sender`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount0`,type:`uint128`,indexed:!1,internalType:`uint128`},{name:`amount1`,type:`uint128`,indexed:!1,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`Flash`,inputs:[{name:`sender`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount0`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amount1`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`paid0`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`paid1`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`IncreaseObservationCardinalityNext`,inputs:[{name:`observationCardinalityNextOld`,type:`uint16`,indexed:!1,internalType:`uint16`},{name:`observationCardinalityNextNew`,type:`uint16`,indexed:!1,internalType:`uint16`}],anonymous:!1},{type:`event`,name:`Initialize`,inputs:[{name:`sqrtPriceX96`,type:`uint160`,indexed:!1,internalType:`uint160`},{name:`tick`,type:`int24`,indexed:!1,internalType:`int24`}],anonymous:!1},{type:`event`,name:`Mint`,inputs:[{name:`sender`,type:`address`,indexed:!1,internalType:`address`},{name:`owner`,type:`address`,indexed:!0,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!0,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!0,internalType:`int24`},{name:`amount`,type:`uint128`,indexed:!1,internalType:`uint128`},{name:`amount0`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amount1`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`SetFeeProtocol`,inputs:[{name:`feeProtocol0Old`,type:`uint8`,indexed:!1,internalType:`uint8`},{name:`feeProtocol1Old`,type:`uint8`,indexed:!1,internalType:`uint8`},{name:`feeProtocol0New`,type:`uint8`,indexed:!1,internalType:`uint8`},{name:`feeProtocol1New`,type:`uint8`,indexed:!1,internalType:`uint8`}],anonymous:!1},{type:`event`,name:`Swap`,inputs:[{name:`sender`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount0`,type:`int256`,indexed:!1,internalType:`int256`},{name:`amount1`,type:`int256`,indexed:!1,internalType:`int256`},{name:`sqrtPriceX96`,type:`uint160`,indexed:!1,internalType:`uint160`},{name:`liquidity`,type:`uint128`,indexed:!1,internalType:`uint128`},{name:`tick`,type:`int24`,indexed:!1,internalType:`int24`}],anonymous:!1},{type:`error`,name:`AI`,inputs:[]},{type:`error`,name:`AS`,inputs:[]},{type:`error`,name:`F0`,inputs:[]},{type:`error`,name:`F1`,inputs:[]},{type:`error`,name:`IIA`,inputs:[]},{type:`error`,name:`L`,inputs:[]},{type:`error`,name:`LOK`,inputs:[]},{type:`error`,name:`M0`,inputs:[]},{type:`error`,name:`M1`,inputs:[]},{type:`error`,name:`TLM`,inputs:[]},{type:`error`,name:`TLU`,inputs:[]},{type:`error`,name:`TUM`,inputs:[]}],T=[{type:`function`,name:`batchGetAmount0ForLiquidity`,inputs:[{name:`sqrtRatioAX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioBX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`liquidity`,type:`uint128[]`,internalType:`uint128[]`}],outputs:[{name:`amounts0`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetAmount0ForLiquidityTicks`,inputs:[{name:`tickA`,type:`int24[]`,internalType:`int24[]`},{name:`tickB`,type:`int24[]`,internalType:`int24[]`},{name:`liquidity`,type:`uint128[]`,internalType:`uint128[]`}],outputs:[{name:`amounts0`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetAmount1ForLiquidity`,inputs:[{name:`sqrtRatioAX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioBX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`liquidity`,type:`uint128[]`,internalType:`uint128[]`}],outputs:[{name:`amounts1`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetAmount1ForLiquidityTicks`,inputs:[{name:`tickA`,type:`int24[]`,internalType:`int24[]`},{name:`tickB`,type:`int24[]`,internalType:`int24[]`},{name:`liquidity`,type:`uint128[]`,internalType:`uint128[]`}],outputs:[{name:`amounts1`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetAmountsForLiquidity`,inputs:[{name:`sqrtRatioX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioAX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioBX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`liquidity`,type:`uint128[]`,internalType:`uint128[]`}],outputs:[{name:`amounts0`,type:`uint256[]`,internalType:`uint256[]`},{name:`amounts1`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetAmountsForLiquidityTicks`,inputs:[{name:`tick`,type:`int24[]`,internalType:`int24[]`},{name:`tickA`,type:`int24[]`,internalType:`int24[]`},{name:`tickB`,type:`int24[]`,internalType:`int24[]`},{name:`liquidity`,type:`uint128[]`,internalType:`uint128[]`}],outputs:[{name:`amounts0`,type:`uint256[]`,internalType:`uint256[]`},{name:`amounts1`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetLiquidityForAmount0`,inputs:[{name:`sqrtRatioAX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioBX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`amount0`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetLiquidityForAmount0Ticks`,inputs:[{name:`tickA`,type:`int24[]`,internalType:`int24[]`},{name:`tickB`,type:`int24[]`,internalType:`int24[]`},{name:`amount0`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetLiquidityForAmount1`,inputs:[{name:`sqrtRatioAX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioBX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`amount1`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetLiquidityForAmount1Ticks`,inputs:[{name:`tickA`,type:`int24[]`,internalType:`int24[]`},{name:`tickB`,type:`int24[]`,internalType:`int24[]`},{name:`amount1`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetLiquidityForAmounts`,inputs:[{name:`sqrtRatioX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioAX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`sqrtRatioBX96`,type:`uint160[]`,internalType:`uint160[]`},{name:`amount0`,type:`uint256[]`,internalType:`uint256[]`},{name:`amount1`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetLiquidityForAmountsTicks`,inputs:[{name:`tick`,type:`int24[]`,internalType:`int24[]`},{name:`tickA`,type:`int24[]`,internalType:`int24[]`},{name:`tickB`,type:`int24[]`,internalType:`int24[]`},{name:`amount0`,type:`uint256[]`,internalType:`uint256[]`},{name:`amount1`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}],stateMutability:`pure`},{type:`function`,name:`batchGetPriceAtTick`,inputs:[{name:`ticks`,type:`int24[]`,internalType:`int24[]`}],outputs:[{name:`prices`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`pure`},{type:`function`,name:`getAmount0ForLiquidity`,inputs:[{name:`sqrtRatioAX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioBX96`,type:`uint160`,internalType:`uint160`},{name:`liquidity`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`},{type:`function`,name:`getAmount0ForLiquidityTicks`,inputs:[{name:`tickA`,type:`int24`,internalType:`int24`},{name:`tickB`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`},{type:`function`,name:`getAmount1ForLiquidity`,inputs:[{name:`sqrtRatioAX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioBX96`,type:`uint160`,internalType:`uint160`},{name:`liquidity`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`},{type:`function`,name:`getAmount1ForLiquidityTicks`,inputs:[{name:`tickA`,type:`int24`,internalType:`int24`},{name:`tickB`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`},{type:`function`,name:`getAmountsForLiquidity`,inputs:[{name:`sqrtRatioX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioAX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioBX96`,type:`uint160`,internalType:`uint160`},{name:`liquidity`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`},{type:`function`,name:`getAmountsForLiquidityTicks`,inputs:[{name:`tick`,type:`int24`,internalType:`int24`},{name:`tickA`,type:`int24`,internalType:`int24`},{name:`tickB`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`},{type:`function`,name:`getLiquidityForAmount0`,inputs:[{name:`sqrtRatioAX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioBX96`,type:`uint160`,internalType:`uint160`},{name:`amount0`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`pure`},{type:`function`,name:`getLiquidityForAmount0Ticks`,inputs:[{name:`tickA`,type:`int24`,internalType:`int24`},{name:`tickB`,type:`int24`,internalType:`int24`},{name:`amount0`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`pure`},{type:`function`,name:`getLiquidityForAmount1`,inputs:[{name:`sqrtRatioAX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioBX96`,type:`uint160`,internalType:`uint160`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`pure`},{type:`function`,name:`getLiquidityForAmount1Ticks`,inputs:[{name:`tickA`,type:`int24`,internalType:`int24`},{name:`tickB`,type:`int24`,internalType:`int24`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`pure`},{type:`function`,name:`getLiquidityForAmounts`,inputs:[{name:`sqrtRatioX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioAX96`,type:`uint160`,internalType:`uint160`},{name:`sqrtRatioBX96`,type:`uint160`,internalType:`uint160`},{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`pure`},{type:`function`,name:`getLiquidityForAmountsTicks`,inputs:[{name:`tick`,type:`int24`,internalType:`int24`},{name:`tickA`,type:`int24`,internalType:`int24`},{name:`tickB`,type:`int24`,internalType:`int24`},{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`liquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`pure`},{type:`function`,name:`getPriceAtTick`,inputs:[{name:`tick`,type:`int24`,internalType:`int24`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`pure`}],E=[{type:`function`,name:`batchGetRefTick`,inputs:[{name:`vault`,type:`address`,internalType:`contract TimelockSingleOwnerVault`},{name:`tickLower`,type:`int24[]`,internalType:`int24[]`}],outputs:[{name:`refTicks`,type:`int24[]`,internalType:`int24[]`}],stateMutability:`view`},{type:`function`,name:`getAllBlocks`,inputs:[{name:`vault`,type:`address`,internalType:`contract TimelockVaultCore`}],outputs:[{name:`blocks`,type:`tuple[]`,internalType:`struct TimelockLens.LiquidityBlockData[]`,components:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`prevTickLower`,type:`int24`,internalType:`int24`},{name:`totalLiquidity`,type:`uint128`,internalType:`uint128`},{name:`borrowedLiquidity`,type:`uint128`,internalType:`uint128`},{name:`totalAmount0`,type:`uint256`,internalType:`uint256`},{name:`totalAmount1`,type:`uint256`,internalType:`uint256`},{name:`borrowedAmount0`,type:`uint256`,internalType:`uint256`},{name:`borrowedAmount1`,type:`uint256`,internalType:`uint256`}]}],stateMutability:`view`},{type:`function`,name:`getExpiredOptions`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`},{name:`startId`,type:`uint256`,internalType:`uint256`},{name:`limit`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`expiredOptions`,type:`tuple[]`,internalType:`struct TimelockLens.OptionData[]`,components:[{name:`optionId`,type:`uint256`,internalType:`uint256`},{name:`owner`,type:`address`,internalType:`address`},{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`leftTick`,type:`int24`,internalType:`int24`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`entryTick`,type:`int24`,internalType:`int24`},{name:`strikePrice`,type:`uint256`,internalType:`uint256`},{name:`entryPrice`,type:`uint256`,internalType:`uint256`},{name:`optionAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`optionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`positionSize`,type:`uint256`,internalType:`uint256`},{name:`netOptionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`premiumPaid`,type:`uint128`,internalType:`uint128`},{name:`expiresAt`,type:`uint64`,internalType:`uint64`},{name:`createdAt`,type:`uint64`,internalType:`uint64`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}]},{name:`nextStartId`,type:`uint256`,internalType:`uint256`},{name:`hasMore`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`getLiquidityAtTick`,inputs:[{name:`vault`,type:`address`,internalType:`contract TimelockSingleOwnerVault`},{name:`tickLower`,type:`int24`,internalType:`int24`}],outputs:[{name:`totalLiquidity`,type:`uint128`,internalType:`uint128`},{name:`borrowedLiquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`getMarketData`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`}],outputs:[{name:`marketData`,type:`tuple`,internalType:`struct TimelockLens.TimelockMarketData`,components:[{name:`optionAssetIsToken0`,type:`bool`,internalType:`bool`},{name:`vault`,type:`address`,internalType:`contract ITimelockVault`},{name:`pool`,type:`address`,internalType:`contract IUniswapV3Pool`},{name:`optionAsset`,type:`address`,internalType:`address`},{name:`payoutAsset`,type:`address`,internalType:`address`},{name:`optionAssetDecimals`,type:`uint8`,internalType:`uint8`},{name:`payoutAssetDecimals`,type:`uint8`,internalType:`uint8`},{name:`optionAssetSymbol`,type:`string`,internalType:`string`},{name:`payoutAssetSymbol`,type:`string`,internalType:`string`},{name:`optionAssetName`,type:`string`,internalType:`string`},{name:`payoutAssetName`,type:`string`,internalType:`string`},{name:`optionsCount`,type:`uint256`,internalType:`uint256`}]}],stateMutability:`view`},{type:`function`,name:`getMaxPositionSize`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`maxBorrowableRange`,type:`int24`,internalType:`int24`}],outputs:[{name:`maxCallSize`,type:`uint256`,internalType:`uint256`},{name:`maxPutSize`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getMaxPositionSizeAtCurrentTick`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`},{name:`maxBorrowableRange`,type:`int24`,internalType:`int24`}],outputs:[{name:`maxCallSize`,type:`uint256`,internalType:`uint256`},{name:`maxPutSize`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getOptionData`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`},{name:`optionId`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`tuple`,internalType:`struct TimelockLens.OptionData`,components:[{name:`optionId`,type:`uint256`,internalType:`uint256`},{name:`owner`,type:`address`,internalType:`address`},{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`leftTick`,type:`int24`,internalType:`int24`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`entryTick`,type:`int24`,internalType:`int24`},{name:`strikePrice`,type:`uint256`,internalType:`uint256`},{name:`entryPrice`,type:`uint256`,internalType:`uint256`},{name:`optionAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`optionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`positionSize`,type:`uint256`,internalType:`uint256`},{name:`netOptionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`premiumPaid`,type:`uint128`,internalType:`uint128`},{name:`expiresAt`,type:`uint64`,internalType:`uint64`},{name:`createdAt`,type:`uint64`,internalType:`uint64`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}]}],stateMutability:`view`},{type:`function`,name:`getOptionsData`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`},{name:`optionIds`,type:`uint256[]`,internalType:`uint256[]`}],outputs:[{name:`optionsData`,type:`tuple[]`,internalType:`struct TimelockLens.OptionData[]`,components:[{name:`optionId`,type:`uint256`,internalType:`uint256`},{name:`owner`,type:`address`,internalType:`address`},{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`leftTick`,type:`int24`,internalType:`int24`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`entryTick`,type:`int24`,internalType:`int24`},{name:`strikePrice`,type:`uint256`,internalType:`uint256`},{name:`entryPrice`,type:`uint256`,internalType:`uint256`},{name:`optionAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`optionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`positionSize`,type:`uint256`,internalType:`uint256`},{name:`netOptionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`premiumPaid`,type:`uint128`,internalType:`uint128`},{name:`expiresAt`,type:`uint64`,internalType:`uint64`},{name:`createdAt`,type:`uint64`,internalType:`uint64`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}]}],stateMutability:`view`},{type:`function`,name:`getPoolData`,inputs:[{name:`pool`,type:`address`,internalType:`contract IUniswapV3Pool`}],outputs:[{name:`poolData`,type:`tuple`,internalType:`struct TimelockLens.UniswapPoolData`,components:[{name:`token0`,type:`address`,internalType:`address`},{name:`token1`,type:`address`,internalType:`address`},{name:`token0Decimals`,type:`uint8`,internalType:`uint8`},{name:`token1Decimals`,type:`uint8`,internalType:`uint8`},{name:`token0Symbol`,type:`string`,internalType:`string`},{name:`token1Symbol`,type:`string`,internalType:`string`},{name:`token0Name`,type:`string`,internalType:`string`},{name:`token1Name`,type:`string`,internalType:`string`},{name:`tickSpacing`,type:`int24`,internalType:`int24`},{name:`fee`,type:`uint24`,internalType:`uint24`}]}],stateMutability:`view`},{type:`function`,name:`getRefTick`,inputs:[{name:`vault`,type:`address`,internalType:`contract TimelockSingleOwnerVault`},{name:`tickLower`,type:`int24`,internalType:`int24`}],outputs:[{name:`refTick`,type:`int24`,internalType:`int24`}],stateMutability:`view`},{type:`function`,name:`getUserOptions`,inputs:[{name:`market`,type:`address`,internalType:`contract TimelockOptionsMarket`},{name:`user`,type:`address`,internalType:`address`},{name:`startId`,type:`uint256`,internalType:`uint256`},{name:`limit`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`userOptions`,type:`tuple[]`,internalType:`struct TimelockLens.OptionData[]`,components:[{name:`optionId`,type:`uint256`,internalType:`uint256`},{name:`owner`,type:`address`,internalType:`address`},{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`leftTick`,type:`int24`,internalType:`int24`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`entryTick`,type:`int24`,internalType:`int24`},{name:`strikePrice`,type:`uint256`,internalType:`uint256`},{name:`entryPrice`,type:`uint256`,internalType:`uint256`},{name:`optionAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`optionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`positionSize`,type:`uint256`,internalType:`uint256`},{name:`netOptionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`premiumPaid`,type:`uint128`,internalType:`uint128`},{name:`expiresAt`,type:`uint64`,internalType:`uint64`},{name:`createdAt`,type:`uint64`,internalType:`uint64`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}]},{name:`nextStartId`,type:`uint256`,internalType:`uint256`},{name:`hasMore`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`getVaultTVL`,inputs:[{name:`vault`,type:`address`,internalType:`contract TimelockVaultCore`}],outputs:[{name:`totalAmount0`,type:`uint256`,internalType:`uint256`},{name:`totalAmount1`,type:`uint256`,internalType:`uint256`},{name:`borrowedAmount0`,type:`uint256`,internalType:`uint256`},{name:`borrowedAmount1`,type:`uint256`,internalType:`uint256`},{name:`tvl0`,type:`uint256`,internalType:`uint256`},{name:`tvl1`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}],D=[{type:`constructor`,inputs:[{name:`_pool`,type:`address`,internalType:`contract IUniswapV3Pool`},{name:`_owner`,type:`address`,internalType:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`BORROW`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`BURN`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`MINT`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`MIN_DUST_THRESHOLD`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`REPAY`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`blocks`,inputs:[{name:``,type:`int24`,internalType:`int24`}],outputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`prevTickLower`,type:`int24`,internalType:`int24`},{name:`totalLiquidity`,type:`uint128`,internalType:`uint128`},{name:`borrowedLiquidity`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`blocksCount`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`borrow`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`borrowerWhitelist`,inputs:[{name:``,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`burn`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`collectFees`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`}],outputs:[{name:`totalAmount0`,type:`uint256`,internalType:`uint256`},{name:`totalAmount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getBlock`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:``,type:`tuple`,internalType:`struct TimelockVaultCore.LiquidityBlock`,components:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`prevTickLower`,type:`int24`,internalType:`int24`},{name:`totalLiquidity`,type:`uint128`,internalType:`uint128`},{name:`borrowedLiquidity`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`highestTick`,inputs:[],outputs:[{name:``,type:`int24`,internalType:`int24`}],stateMutability:`view`},{type:`function`,name:`lowestTick`,inputs:[],outputs:[{name:``,type:`int24`,internalType:`int24`}],stateMutability:`view`},{type:`function`,name:`mint`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`multicall`,inputs:[{name:`data`,type:`bytes[]`,internalType:`bytes[]`}],outputs:[{name:`results`,type:`bytes[]`,internalType:`bytes[]`}],stateMutability:`nonpayable`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`pool`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IUniswapV3Pool`}],stateMutability:`view`},{type:`function`,name:`pool_`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IUniswapV3Pool`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`repay`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`},{name:`liquidity`,type:`uint128`,internalType:`uint128`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`tickSpacing`,inputs:[],outputs:[{name:``,type:`int24`,internalType:`int24`}],stateMutability:`view`},{type:`function`,name:`token0`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IERC20`}],stateMutability:`view`},{type:`function`,name:`token1`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IERC20`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`uniswapV3MintCallback`,inputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`},{name:`data`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`whitelistBorrower`,inputs:[{name:`borrower`,type:`address`,internalType:`address`},{name:`status`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdrawTokens`,inputs:[{name:`tokens`,type:`address[]`,internalType:`contract IERC20[]`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`Borrow`,inputs:[{name:`user`,type:`address`,indexed:!1,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!1,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!1,internalType:`int24`},{name:`liquidity`,type:`uint128`,indexed:!1,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`Burn`,inputs:[{name:`user`,type:`address`,indexed:!1,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!1,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!1,internalType:`int24`},{name:`liquidity`,type:`uint128`,indexed:!1,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`FeesCollected`,inputs:[{name:`feeRecipient`,type:`address`,indexed:!1,internalType:`address`},{name:`amount0`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amount1`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Mint`,inputs:[{name:`user`,type:`address`,indexed:!1,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!1,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!1,internalType:`int24`},{name:`liquidity`,type:`uint128`,indexed:!1,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`newOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`Repay`,inputs:[{name:`user`,type:`address`,indexed:!1,internalType:`address`},{name:`tickLower`,type:`int24`,indexed:!1,internalType:`int24`},{name:`tickUpper`,type:`int24`,indexed:!1,internalType:`int24`},{name:`liquidity`,type:`uint128`,indexed:!1,internalType:`uint128`}],anonymous:!1},{type:`error`,name:`AddressEmptyCode`,inputs:[{name:`target`,type:`address`,internalType:`address`}]},{type:`error`,name:`AmountsMismatch`,inputs:[{name:`amount0`,type:`uint256`,internalType:`uint256`},{name:`expectedAmount0`,type:`uint256`,internalType:`uint256`},{name:`amount1`,type:`uint256`,internalType:`uint256`},{name:`expectedAmount1`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`BorrowerNotWhitelisted`,inputs:[{name:`borrower`,type:`address`,internalType:`address`}]},{type:`error`,name:`FailedCall`,inputs:[]},{type:`error`,name:`InvalidActionType`,inputs:[{name:`actionType`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`InvalidRefTick`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`}]},{type:`error`,name:`InvalidTickRange`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`}]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`,internalType:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`,internalType:`address`}]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`SafeERC20FailedOperation`,inputs:[{name:`token`,type:`address`,internalType:`address`}]}],O=[{type:`constructor`,inputs:[{name:`_vault`,type:`address`,internalType:`contract ITimelockVault`},{name:`_optionPricing`,type:`address`,internalType:`contract IOptionPricing`},{name:`_optionAssetIsToken0`,type:`bool`,internalType:`bool`},{name:`_swapRouter`,type:`address`,internalType:`contract ISwapRouter`},{name:`_quoter`,type:`address`,internalType:`contract IQuoter`},{name:`_owner`,type:`address`,internalType:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`BASIS_POINTS`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`DUST_THRESHOLD`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`MAX_STEPS`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`OPTION_FEE_PERCENT`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`calculatePremium`,inputs:[{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`optionAmount`,type:`uint256`,internalType:`uint256`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`duration`,type:`uint64`,internalType:`uint64`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`exerciseOption`,inputs:[{name:`optionId`,type:`uint256`,internalType:`uint256`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`},{name:`minPayout`,type:`uint256`,internalType:`uint256`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:`payout`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getOption`,inputs:[{name:`optionId`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`tuple`,internalType:`struct TimelockOptionsMarket.OptionData`,components:[{name:`owner`,type:`address`,internalType:`address`},{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`entryTick`,type:`int24`,internalType:`int24`},{name:`expiresAt`,type:`uint64`,internalType:`uint64`},{name:`createdAt`,type:`uint64`,internalType:`uint64`},{name:`premiumPaid`,type:`uint128`,internalType:`uint128`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`}]}],stateMutability:`view`},{type:`function`,name:`liquiditiesToAmounts`,inputs:[{name:`leftTick`,type:`int24`,internalType:`int24`},{name:`liquidities`,type:`uint128[]`,internalType:`uint128[]`},{name:`optionType`,type:`uint8`,internalType:`uint8`}],outputs:[{name:`optionAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetToRepay`,type:`uint256`,internalType:`uint256`},{name:`optionAssetBorrowed`,type:`uint256`,internalType:`uint256`},{name:`payoutAssetBorrowed`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`maxDuration`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`maxOptionAmount`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`minDuration`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`minOptionAmount`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`mintOption`,inputs:[{name:`optionType`,type:`uint8`,internalType:`uint8`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`strikeTick`,type:`int24`,internalType:`int24`},{name:`duration`,type:`uint64`,internalType:`uint64`},{name:`maxPremium`,type:`uint256`,internalType:`uint256`},{name:`refTick`,type:`int24`,internalType:`int24`}],outputs:[{name:`optionId`,type:`uint256`,internalType:`uint256`},{name:`finalAmount`,type:`uint256`,internalType:`uint256`},{name:`totalPremium`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`nextOptionId`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`optionAsset`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IERC20`}],stateMutability:`view`},{type:`function`,name:`optionAssetIsToken0`,inputs:[],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`optionPricing`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IOptionPricing`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`payoutAsset`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IERC20`}],stateMutability:`view`},{type:`function`,name:`pool`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IUniswapV3Pool`}],stateMutability:`view`},{type:`function`,name:`protocolFees`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoter`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IQuoter`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`swapRouter`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ISwapRouter`}],stateMutability:`view`},{type:`function`,name:`tickSpacing`,inputs:[],outputs:[{name:``,type:`int24`,internalType:`int24`}],stateMutability:`view`},{type:`function`,name:`token0`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IERC20`}],stateMutability:`view`},{type:`function`,name:`token1`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IERC20`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateDurationBounds`,inputs:[{name:`_minDuration`,type:`uint64`,internalType:`uint64`},{name:`_maxDuration`,type:`uint64`,internalType:`uint64`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateOptionAmountBounds`,inputs:[{name:`_minOptionAmount`,type:`uint256`,internalType:`uint256`},{name:`_maxOptionAmount`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITimelockVault`}],stateMutability:`view`},{type:`function`,name:`withdrawTokens`,inputs:[{name:`tokens`,type:`address[]`,internalType:`contract IERC20[]`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ExerciseOption`,inputs:[{name:`optionId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`owner`,type:`address`,indexed:!0,internalType:`address`},{name:`liquidities`,type:`uint128[]`,indexed:!1,internalType:`uint128[]`},{name:`payout`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`FeesWithdrawn`,inputs:[{name:`fees0`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`fees1`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`MintOption`,inputs:[{name:`optionId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`buyer`,type:`address`,indexed:!0,internalType:`address`},{name:`optionType`,type:`uint8`,indexed:!1,internalType:`uint8`},{name:`strikeTick`,type:`int24`,indexed:!1,internalType:`int24`},{name:`currentTick`,type:`int24`,indexed:!1,internalType:`int24`},{name:`expiresAt`,type:`uint64`,indexed:!1,internalType:`uint64`},{name:`timestamp`,type:`uint64`,indexed:!1,internalType:`uint64`},{name:`totalPremium`,type:`uint128`,indexed:!1,internalType:`uint128`},{name:`liquidities`,type:`uint128[]`,indexed:!1,internalType:`uint128[]`}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`newOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`error`,name:`AmountOutOfBounds`,inputs:[]},{type:`error`,name:`DurationOutOfBounds`,inputs:[]},{type:`error`,name:`InsufficientLiquidity`,inputs:[]},{type:`error`,name:`InvalidArrayLength`,inputs:[]},{type:`error`,name:`InvalidOptionType`,inputs:[]},{type:`error`,name:`InvalidTickRange`,inputs:[{name:`tickLower`,type:`int24`,internalType:`int24`},{name:`tickUpper`,type:`int24`,internalType:`int24`}]},{type:`error`,name:`NotEnoughPayout`,inputs:[]},{type:`error`,name:`NotOptionOwner`,inputs:[]},{type:`error`,name:`OptionExpired`,inputs:[]},{type:`error`,name:`OptionNotFound`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`,internalType:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`,internalType:`address`}]},{type:`error`,name:`PremiumTooHigh`,inputs:[]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`SafeERC20FailedOperation`,inputs:[{name:`token`,type:`address`,internalType:`address`}]}],k=(e,t)=>p({abi:C,address:e,client:t}),ee=(e,t)=>p({abi:D,address:e,client:t}),A=(e,t)=>p({abi:O,address:e,client:t}),te=(e,t)=>p({abi:w,address:e,client:t}),ne=e=>p({abi:T,address:M[e.chain.id],client:e}),re=e=>p({abi:E,address:j[e.chain.id],client:e}),j={[h.id]:`0x97558b2ccb55F88118989BC19FCEa7AFa13F71b9`},M={[h.id]:`0x4C8375D1F6D5F452e92e211C1D3E7a44F78dFc95`},ie=g`
|
|
2
|
-
query GetActiveUserOptions($user: String!) {
|
|
3
|
-
UserOption(
|
|
4
|
-
where: {ownerAddr: {_eq: $user}, fullyExercised: {_eq: false}}
|
|
5
|
-
limit: 1000
|
|
6
|
-
) {
|
|
7
|
-
id
|
|
8
|
-
ownerAddr
|
|
9
|
-
exerciseEvents {
|
|
10
|
-
transactionHash
|
|
11
|
-
}
|
|
12
|
-
mintEvent {
|
|
13
|
-
transactionHash
|
|
14
|
-
}
|
|
15
|
-
optionType
|
|
16
|
-
strikeTick
|
|
17
|
-
entryTick
|
|
18
|
-
expiresAt
|
|
19
|
-
createdAt
|
|
20
|
-
premiumPaid
|
|
21
|
-
realizedPayout
|
|
22
|
-
marketAddr
|
|
23
|
-
liquiditiesAtOpen
|
|
24
|
-
liquiditiesCurrent
|
|
25
|
-
fullyExercised
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
`,ae=g`
|
|
29
|
-
query GetClosedUserOptions($user: String!) {
|
|
30
|
-
UserOption(
|
|
31
|
-
where: {ownerAddr: {_eq: $user}, fullyExercised: {_eq: true}}
|
|
32
|
-
limit: 1000
|
|
33
|
-
) {
|
|
34
|
-
id
|
|
35
|
-
ownerAddr
|
|
36
|
-
exerciseEvents {
|
|
37
|
-
transactionHash
|
|
38
|
-
}
|
|
39
|
-
mintEvent {
|
|
40
|
-
transactionHash
|
|
41
|
-
}
|
|
42
|
-
optionType
|
|
43
|
-
strikeTick
|
|
44
|
-
entryTick
|
|
45
|
-
expiresAt
|
|
46
|
-
createdAt
|
|
47
|
-
premiumPaid
|
|
48
|
-
realizedPayout
|
|
49
|
-
marketAddr
|
|
50
|
-
liquiditiesAtOpen
|
|
51
|
-
liquiditiesCurrent
|
|
52
|
-
fullyExercised
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
`,oe=(e,t,n,r)=>e();function se(e,t=oe){return{GetActiveUserOptions(n,r,i){return t(t=>e.request({document:ie,variables:n,requestHeaders:{...r,...t},signal:i}),`GetActiveUserOptions`,`query`,n)},GetClosedUserOptions(n,r,i){return t(t=>e.request({document:ae,variables:n,requestHeaders:{...r,...t},signal:i}),`GetClosedUserOptions`,`query`,n)}}}const N=t(void 0),ce=({children:t,marketData:n,envioGraphqlUrl:r})=>{let i=a(),o=j[i],s=M[i];return e.createElement(N.Provider,{value:{marketData:n||{},lensAddr:o,uniswapMathLensAddr:s,envioGraphqlUrl:r}},t)},le=()=>{let e=n(N);if(e===void 0)throw Error(`useCurrentMarket must be used within a TimelockMarketProvider`);return e.marketData},ue=()=>{let e=n(N);if(e===void 0)throw Error(`useConfig must be used within a TimelockMarketProvider`);return{lensAddr:e.lensAddr,uniswapMathLensAddr:e.uniswapMathLensAddr,envioGraphqlUrl:e.envioGraphqlUrl,graphqlClient:e.envioGraphqlUrl?se(new u(e.envioGraphqlUrl)):void 0}},P=()=>{let e=o(),t=e?re(e):void 0;return{uniswapLens:e?ne(e):void 0,timelockLens:t}},F=e=>{let{timelockLens:t}=P(),n=o(),r=typeof e==`string`?e:e==null?void 0:e.address,{data:i}=s({address:t==null?void 0:t.address,abi:E,functionName:`getMarketData`,args:r?[r]:void 0,query:{enabled:r!==void 0}});return!i||!r||!n?{}:{...i,address:r}},de=e=>{let{vault:t}=F(e),n=o(),{data:r}=s({address:t,abi:D,functionName:`lowestTick`}),{writeContractAsync:i,data:a,isPending:u,error:d}=l(),{isLoading:f,isSuccess:p}=c({hash:a}),m=typeof e==`string`?e:e==null?void 0:e.address;return{exerciseOption:async(e,t)=>{if(!n)throw Error(`Wallet not connected`);if(r===void 0||!m)throw Error(`Lowest tick lower not available`);let a=await i({address:m,abi:O,functionName:`exerciseOption`,args:[e,t,0n,r]});return await _(n,{hash:a}),a},hash:a,isPending:u,isConfirming:f,isSuccess:p,error:d,isLoading:u||f}},fe={scaled:0n,unscaled:v(0),decimals:18,formatted:`0`},I=(e,t)=>{let n=R(e,t);return{scaled:e,unscaled:n,decimals:t,formatted:H(n)}},pe=(e,t)=>{e=v(e);let n=z(e,t),r=H(e);return{scaled:n,unscaled:e,decimals:t,formatted:r}},L=(e,t,n)=>{let r=B(e,t,n),i=H(r);return{scaled:e,unscaled:r,decimals:36+n-t,formatted:i}},me=(e,t,n)=>{e=v(e);let r=V(e,t,n),i=H(e);return{scaled:r,unscaled:e,decimals:36+n-t,formatted:i}},R=(e,t)=>new v(e.toString()).div(new v(10).pow(t)),z=(e,t)=>BigInt(v(e).mul(new v(10).pow(t)).round().toFixed(0)),B=(e,t,n,r=18)=>new v(e.toString()).mul(new v(10).pow(t)).div(new v(10).pow(n)).div(new v(10).pow(r)),V=(e,t,n,r=18)=>BigInt(v(e).mul(new v(10).pow(r)).mul(new v(10).pow(n)).div(new v(10).pow(t)).round().toFixed(0)),H=e=>e===void 0?`-`:U(v(e).toFixed(100)),he=e=>(e=Number(e),e>=0xe8d4a51000?`${(e/0xe8d4a51000).toFixed(2)}T`:e>=1e9?`${(e/1e9).toFixed(2)}B`:e>=1e6?`${(e/1e6).toFixed(2)}M`:e>=1e3?`${(e/1e3).toFixed(2)}K`:e<1?e.toPrecision(2):e.toFixed(2)),U=(e,t=2)=>{let[n,r]=(typeof e==`number`?e.toFixed(20):e).replace(/(\.\d*?)0+$/,`$1`).replace(/\.$/,``).split(`.`),i=n.replace(/\B(?=(\d{3})+(?!\d))/g,`,`);if(!r)return i;let a=r.match(/^(0{3,})/);if(a){let e=a[1].length;return`${i}.0${ge(e.toString())}${r.slice(e).slice(0,t)}`}else{let e=r.search(/[1-9]/);if(e===-1)return i;let n=r.slice(e).slice(0,t);return`${i}.${r.slice(0,e)}${n}`}},ge=e=>e.replace(/[0-9]/g,e=>`₀₁₂₃₄₅₆₇₈₉`[+e]),_e=e=>`$`+H(e),ve=(e,t,n=100)=>{let{timelockLens:i}=P(),{optionAssetDecimals:a}=F(e),o=typeof e==`string`?e:e==null?void 0:e.address,{data:c,refetch:l}=s({address:i==null?void 0:i.address,abi:E,functionName:`getMaxPositionSizeAtCurrentTick`,args:[o,n],query:{enabled:!!o&&!!i},gas:100000000n}),{data:u,refetch:d}=s({address:i==null?void 0:i.address,abi:E,functionName:`getMaxPositionSize`,args:[o,t,n],query:{enabled:!!o&&!!i&&t!==void 0},gas:100000000n}),f=t===void 0?c:u,{maxCallSize:p,maxPutSize:m}=r(()=>f&&a?{maxCallSize:I(f[0],a),maxPutSize:I(f[1],a)}:{},[f,a]);return{maxCallSize:p,maxPutSize:m,refetch:()=>{l(),d()}}},W=async e=>{let[t,{1:n}]=await Promise.all([e.read.tickSpacing(),e.read.slot0()]);return{exact:n,rounded:Math.floor(n/t)*t}},G=e=>{let t=o(),{data:n}=y({queryKey:[`currentTick`,typeof e==`string`?e:(e==null?void 0:e.address)||`-`],queryFn:()=>W(typeof e==`string`?te(e,t):e),enabled:!!e&&!!t,refetchInterval:5e3});return n||{}},K=e=>{let t=typeof e==`string`?e:e==null?void 0:e.address,{timelockLens:n}=P(),r=o(),{data:i}=s({address:n==null?void 0:n.address,abi:E,functionName:`getPoolData`,args:t?[t]:void 0,query:{enabled:!!t&&!!r}});return i||{}},q=BigInt(0xde0b6b3a7640000),J=e=>{let t=BigInt(x.getSqrtRatioAtTick(e).toString());return t*t*q/BigInt(2**192)},ye=e=>{let t=e*BigInt(2**192)/q,n=S.BigInt(new v(t.toString()).sqrt().toFixed(0));return x.getTickAtSqrtRatio(n)},be=(e,t)=>{let n=e%t;return n>=0?e-n:e-n-t},xe=(e,t)=>{let n=e%t;return n===0?e:n>0?e-n+t:e-n},Y=(e,t)=>e*J(t)/q,X=(e,t)=>{let n=J(t);return e*q/n},Se=(e,t,n)=>{let r=BigInt(0);for(let i=0;i<e.length;i++){let a=e[i];if(a===BigInt(0))continue;let o=t+n*i,s=o+n,c=x.getSqrtRatioAtTick(o),l=x.getSqrtRatioAtTick(s),u=S.BigInt(a.toString()),d=b.getAmount0Delta(c,l,u,!1);r+=BigInt(d.toString())}return r},Ce=(e,t,n)=>{let r=BigInt(0);for(let i=0;i<e.length;i++){let a=e[i];if(a===BigInt(0))continue;let o=t+n*i,s=o+n,c=x.getSqrtRatioAtTick(o),l=x.getSqrtRatioAtTick(s),u=S.BigInt(a.toString()),d=b.getAmount1Delta(c,l,u,!1);r+=BigInt(d.toString())}return r},we=(e,t,n,r)=>{let i=0n,a=0n,o=x.getSqrtRatioAtTick(n);for(let s=0;s<e.length;s++){let c=e[s];if(c===BigInt(0))continue;let l=t+r*s,u=l+r,d=x.getSqrtRatioAtTick(l),f=x.getSqrtRatioAtTick(u),p=S.BigInt(c.toString());if(n<l){let e=b.getAmount0Delta(d,f,p,!1);i+=BigInt(e.toString())}else if(n>=u){let e=b.getAmount1Delta(d,f,p,!1);a+=BigInt(e.toString())}else{let e=b.getAmount0Delta(o,f,p,!1),t=b.getAmount1Delta(d,o,p,!1);i+=BigInt(e.toString()),a+=BigInt(t.toString())}}return[i,a]},Te=e=>{let{timelockLens:t}=P(),{payoutAsset:n,vault:r,pool:a,optionAssetIsToken0:s}=F(e),{tickSpacing:u}=K(a),{exact:d}=G(a),p=o(),{address:h}=i(),{writeContractAsync:g,data:v,isPending:y,error:b}=l(),{isLoading:x,isSuccess:S}=c({hash:v}),C=typeof e==`string`?e:e==null?void 0:e.address,w=async e=>{if(!p||!h)throw Error(`Wallet not connected`);if(!n||!C)throw Error(`Tokens not available`);await k(n,p).read.allowance([h,C])<e&&await _(p,{hash:await g({address:n,abi:f,functionName:`approve`,args:[C,m]})})};return{mintOption:async(e,n,i,a)=>{if(!p)throw Error(`Wallet not connected`);if(!t||!r||!C||!d||!u)throw Error(`Lowest tick lower not available`);a=a??d,a=e===`CALL`&&s||e===`PUT`&&!s?xe(a,u):be(a,u),await w(await A(C,p).read.calculatePremium([e===`CALL`?0:1,n,a,BigInt(i)]));let o=await g({address:C,abi:O,functionName:`mintOption`,args:[e===`CALL`?0:1,n,a,BigInt(i),BigInt(1e69),await t.read.getRefTick([r,a])]});return await _(p,{hash:o}),o},hash:v,isPending:y,isConfirming:x,isSuccess:S,error:b,isLoading:y||x}},Ee=(e,t,n,r,i,a)=>{let o=n-(i===`CALL`?0:r*e.length),s=Se(e,o,r),c=Ce(e,o,r);return i===`CALL`?a?s:c:a?X(c,t):Y(s,t)},De=(e,t)=>{let n=J(e);return t?n:q/n},Oe=e=>{let{marketAddr:t,optionType:n,liquiditiesAtOpen:i,liquiditiesCurrent:a,strikeTick:o,entryTick:s}=e,{pool:c,optionAssetIsToken0:l,optionAssetDecimals:u,payoutAssetDecimals:d}=F(t),{tickSpacing:f}=K(c),{exact:p}=G(c),{strikePrice:m,entryPrice:h}=r(()=>{if(l===void 0||!u||!d)return{};let e=L(De(s,l),u,d);return{strikePrice:L(De(o,l),u,d),entryPrice:e}},[e,l,u,d]),{positionSizeAtOpen:g,positionSizeCurrent:_}=r(()=>l===void 0||!f||!u||!d?{}:{positionSizeAtOpen:I(Ee(i,s,o,f,n,l),u),positionSizeCurrent:I(Ee(a,s,o,f,n,l),u)},[e,l,f,u,d]),{displayPnl:v,unrealizedPayout:y}=r(()=>{if(l===void 0||p===void 0||!_||!d)return{};let e=_.scaled,t=l?Y(e,p)-Y(e,s):X(e,p)-X(e,s),r=I(n===`CALL`?t:-t,d);return{unrealizedPayout:I(r.scaled<0?0n:r.scaled,d),displayPnl:r}},[e,l,p,_]);return{positionSizeCurrent:_,positionSizeAtOpen:g,displayPnl:v,unrealizedPayout:y,strikePrice:m,entryPrice:h}},ke=(e,t,n,i)=>{let{pool:a}=F(e),o=G(a),{tickSpacing:c}=K(a),{payoutAssetDecimals:l}=F(e),u=typeof e==`string`?e:e==null?void 0:e.address,d=r(()=>{if(!(o.rounded===void 0||c===void 0))return t===`CALL`?o.rounded+c:o.rounded},[o.rounded,c,t]),{data:f}=s({address:u,abi:O,functionName:`calculatePremium`,args:d===void 0?void 0:[t===`CALL`?0:1,n,d,BigInt(i)],query:{enabled:o.rounded!==void 0&&l!==void 0&&c!==void 0&&d!==void 0}});return r(()=>{if(!(f===void 0||l===void 0))return I(f,l)},[f,l])},Z=(e,t=!1)=>{let{graphqlClient:n}=ue(),{data:i,...a}=y({queryKey:[`userTrades`,e||`--`,t],queryFn:()=>t?n==null?void 0:n.GetActiveUserOptions({user:e.toLowerCase()}):n==null?void 0:n.GetClosedUserOptions({user:e.toLowerCase()}),select:e=>{var t;return e==null||(t=e.UserOption)==null?void 0:t.map(e=>({...e,id:BigInt(e.id),marketAddr:e.marketAddr,optionType:e.optionType,createdAt:new Date(Number(e.createdAt)*1e3),expiresAt:new Date(Number(e.expiresAt)*1e3),premiumPaid:BigInt(e.premiumPaid),realizedPayout:BigInt(e.realizedPayout),liquiditiesAtOpen:e.liquiditiesAtOpen.map(e=>BigInt(e)),liquiditiesCurrent:e.liquiditiesCurrent.map(e=>BigInt(e))}))},enabled:!!e&&!!n});return{data:r(()=>(i==null?void 0:i.sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime()))||[],[i]),...a}},Ae=e=>Z(e,!0),je=e=>Z(e,!1),Me=(e,t)=>{let{token0Decimals:n,token1Decimals:i}=K(t);return r(()=>e&&n&&i?L(J(e),n,i):void 0,[e,n,i])},Ne=e=>{let t=G(e);return{currentPrice:Me(t.exact,e),currentTick:t}},Q=e=>{let{data:t}=s({address:typeof e==`string`?e:e==null?void 0:e.address,abi:D,functionName:`pool`});return{pool:t}},Pe=e=>{let t=o(),{pool:n}=Q(e),r=G(n),{timelockLens:i}=P(),a=typeof e==`string`?e:e==null?void 0:e.address,{writeContractAsync:s,data:u,isPending:f,error:p}=l(),{isLoading:m,isSuccess:h}=c({hash:u}),g=async(e,n,r)=>{if(!t)throw Error(`Wallet not connected`);if(!a||!i)throw Error(`Vault/lens not available`);let o=await s({address:a,abi:D,functionName:`burn`,args:[e,n,r,await i.read.getRefTick([a,e])]});return await _(t,{hash:o}),o};return{burnMultiple:async e=>{if(!t)throw Error(`Wallet not connected`);if(!r.exact)throw Error(`Current tick not available`);if(e.length===0)throw Error(`No positions to burn`);if(!i||!a)throw Error(`Vault/lens not available`);if(e.length===1)await g(e[0].tickLower,e[0].tickUpper,e[0].liquidity);else{let n=await i.read.batchGetRefTick([a,e.map(e=>e.tickLower)]);await _(t,{hash:await s({address:a,abi:D,functionName:`multicall`,args:[e.map((e,t)=>d({abi:D,functionName:`burn`,args:[e.tickLower,e.tickUpper,e.liquidity,n[t]]}))]})})}},burn:g,hash:u,isPending:f,isConfirming:m,isSuccess:h,error:p,isLoading:f||m}},Fe=e=>{let{timelockLens:t}=P(),{pool:n}=Q(e),{token0Decimals:i,token1Decimals:a}=K(n),{currentPrice:o}=Ne(n),s=typeof e==`string`?e:e==null?void 0:e.address,{data:c=[],refetch:l}=y({queryKey:[`liquidityBlocks`,s],queryFn:()=>t.read.getAllBlocks([s]),enabled:!!s&&!!t}),{totalAmount0:u,totalAmount1:d,borrowedAmount0:f,borrowedAmount1:p}=r(()=>({totalAmount0:i?I(c.reduce((e,t)=>e+t.totalAmount0,0n),i):void 0,totalAmount1:a?I(c.reduce((e,t)=>e+t.totalAmount1,0n),a):void 0,borrowedAmount0:i?I(c.reduce((e,t)=>e+t.borrowedAmount0,0n),i):void 0,borrowedAmount1:a?I(c.reduce((e,t)=>e+t.borrowedAmount1,0n),a):void 0}),[c,i,a]);return{tvl1:r(()=>{if(!u||!d||!o||!a)return;let e=u.scaled*o.scaled/10n**18n,t=d.scaled;return I(e+t,a)},[u,d,o,a]),blocks:c,totalAmount0:u,totalAmount1:d,borrowedAmount0:f,borrowedAmount1:p,refetch:l}},$=async(e,t,n,r,i)=>{let a=Array(t.length).fill(i),o=await e.read.batchGetAmountsForLiquidityTicks([a,t,n,r]),s=0n,c=0n,l=[],u=[];for(let e of o[0])s+=e,l.push(e);for(let e of o[1])c+=e,u.push(e);return{totalAmount0:s,totalAmount1:c,amounts0:l,amounts1:u}},Ie=e=>{let t=o(),{address:n}=i(),{pool:r}=Q(e),{timelockLens:a,uniswapLens:s}=P(),u=G(r),{token0:p,token1:h}=K(r),g=typeof e==`string`?e:e==null?void 0:e.address,{writeContractAsync:v,data:y,isPending:b,error:x}=l(),{isLoading:S,isSuccess:C}=c({hash:y}),w=async e=>{if(!n||!t)throw Error(`Wallet not connected`);if(u.exact===void 0||!p||!h||!g||!s)throw Error(`Current tick not available`);let{totalAmount0:r,totalAmount1:i}=await $(s,e.map(e=>e.tickLower),e.map(e=>e.tickUpper),e.map(e=>e.liquidity),u.exact),[a,o]=await Promise.all([k(p,t).read.allowance([n,g]),k(h,t).read.allowance([n,g])]),c=[];if(a<=r){let e=await v({address:p,abi:f,functionName:`approve`,args:[g,m]});c.push(_(t,{hash:e}))}if(o<=i){let e=await v({address:h,abi:f,functionName:`approve`,args:[g,m]});c.push(_(t,{hash:e}))}c.length>0&&await Promise.all(c)},T=async(e,n,r)=>{if(!t)throw Error(`Wallet not connected`);if(!g||!a)throw Error(`Vault/lens not available`);await w([{tickLower:e,tickUpper:n,liquidity:r}]);let i=await v({address:g,abi:D,functionName:`mint`,args:[e,n,r,await a.read.getRefTick([g,e])]});return await _(t,{hash:i}),i};return{mintMultiple:async e=>{if(!t)throw Error(`Wallet not connected`);if(!u.exact)throw Error(`Current tick not available`);if(e.length===0)throw Error(`No positions to mint`);if(!a||!g)throw Error(`Vault/lens not available`);if(e.length===1)await T(e[0].tickLower,e[0].tickUpper,e[0].liquidity);else{await w(e);let n=await a.read.batchGetRefTick([g,e.map(e=>e.tickLower)]);await _(t,{hash:await v({address:g,abi:D,functionName:`multicall`,args:[e.map((e,t)=>d({abi:D,functionName:`mint`,args:[e.tickLower,e.tickUpper,e.liquidity,n[t]]}))]})})}},mint:T,hash:y,isPending:b,isConfirming:S,isSuccess:C,error:x,isLoading:b||S}},Le=e=>{let{timelockLens:t}=P(),{pool:n}=Q(e),{token0Decimals:r,token1Decimals:i}=K(n),a=typeof e==`string`?e:e==null?void 0:e.address,{data:o,refetch:c}=s({address:t==null?void 0:t.address,abi:E,functionName:`getVaultTVL`,args:[a],query:{enabled:!!a&&!!t}}),l=o&&r?I(o[0],r):void 0,u=o&&i?I(o[1],i):void 0,d=o&&r?I(o[2],r):void 0,f=o&&i?I(o[3],i):void 0;return{tvl0:o&&r?I(o[4],r):void 0,tvl1:o&&i?I(o[5],i):void 0,totalAmount0:l,totalAmount1:u,borrowedAmount0:d,borrowedAmount1:f,refetch:c}};export{q as PRICE_PRECISION,ce as TimelockMarketProvider,$ as batchGetAmountsFromLiquidity,C as erc20Abi,H as formatAmount,U as formatCondensed,_e as formatUSD,he as formatVagueAmount,W as getCurrentTick,k as getErc20,J as getPriceAtTick,ye as getTickAtPrice,re as getTimelockLens,A as getTimelockMarket,ee as getTimelockVault,ne as getUniswapMathLens,te as getUniswapPool,E as lensAbi,Se as liquiditiesToAmount0,Ce as liquiditiesToAmount1,we as liquiditiesToAmounts,O as optionsMarketAbi,be as roundTickDown,xe as roundTickUp,z as scaleAmount,V as scalePrice,D as singleOwnerVaultAbi,j as timelockLenses,Y as token0ToToken1,X as token1ToToken0,T as uniswapMathLensAbi,M as uniswapMathLenses,w as uniswapV3PoolAbi,R as unscaleAmount,B as unscalePrice,Ae as useActiveUserOptions,Pe as useBurnLiquidity,je as useClosedUserOptions,le as useCurrentMarket,Ne as useCurrentPrice,G as useCurrentTick,de as useExerciseOption,P as useLens,Fe as useLiquidityBlocks,F as useMarketData,ve as useMaxPositionSize,Ie as useMintLiquidity,Te as useMintOption,Oe as useOptionLiquidityData,ke as useOptionPremium,K as usePoolData,Me as usePriceAtTick,ue as useTimelockConfig,Q as useVaultData,Le as useVaultTVL,I as wrapAmount,pe as wrapAmountUnscaled,L as wrapPrice,me as wrapPriceUnscaled,fe as zero};
|
|
56
|
-
//# sourceMappingURL=package.js.map
|
|
1
|
+
import{PRICE_PRECISION as e,erc20Abi as t,formatAmount as n,formatCondensed as r,formatUSD as i,formatVagueAmount as a,getErc20 as o,getPriceAtTick as s,getTickAtPrice as c,getTimelockLens as l,getTimelockMarket as u,getTimelockVault as d,getUniswapMathLens as f,getUniswapPool as p,lensAbi as m,liquiditiesToAmount0 as h,liquiditiesToAmount1 as g,liquiditiesToAmounts as _,optionsMarketAbi as v,roundTickDown as y,roundTickUp as b,scaleAmount as x,scalePrice as S,singleOwnerVaultAbi as C,timelockLenses as w,token0ToToken1 as T,token1ToToken0 as E,uniswapMathLensAbi as D,uniswapMathLenses as O,uniswapV3PoolAbi as k,unscaleAmount as A,unscalePrice as j,wrapAmount as M,wrapAmountUnscaled as N,wrapPrice as P,wrapPriceUnscaled as F,zero as I}from"./numberUtils-DB5N1e6G.js";export{e as PRICE_PRECISION,t as erc20Abi,n as formatAmount,r as formatCondensed,i as formatUSD,a as formatVagueAmount,o as getErc20,s as getPriceAtTick,c as getTickAtPrice,l as getTimelockLens,u as getTimelockMarket,d as getTimelockVault,f as getUniswapMathLens,p as getUniswapPool,m as lensAbi,h as liquiditiesToAmount0,g as liquiditiesToAmount1,_ as liquiditiesToAmounts,v as optionsMarketAbi,y as roundTickDown,b as roundTickUp,x as scaleAmount,S as scalePrice,C as singleOwnerVaultAbi,w as timelockLenses,T as token0ToToken1,E as token1ToToken0,D as uniswapMathLensAbi,O as uniswapMathLenses,k as uniswapV3PoolAbi,A as unscaleAmount,j as unscalePrice,M as wrapAmount,N as wrapAmountUnscaled,P as wrapPrice,F as wrapPriceUnscaled,I as zero};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "timelock-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/package.cjs",
|
|
@@ -16,6 +16,16 @@
|
|
|
16
16
|
"types": "./dist/package.d.cts",
|
|
17
17
|
"default": "./dist/package.cjs"
|
|
18
18
|
}
|
|
19
|
+
},
|
|
20
|
+
"./client": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/client.d.ts",
|
|
23
|
+
"default": "./dist/client.js"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/client.d.cts",
|
|
27
|
+
"default": "./dist/client.cjs"
|
|
28
|
+
}
|
|
19
29
|
}
|
|
20
30
|
},
|
|
21
31
|
"files": [
|