timelock-sdk 0.0.241 → 0.0.242
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 +43 -45
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +1056 -1056
- package/dist/client.d.ts +576 -576
- package/dist/client.js +44 -46
- package/dist/client.js.map +1 -1
- package/dist/{index-DGNdIsVj.d.cts → index-5nk6fHx2.d.cts} +200 -200
- package/dist/package.d.cts +1 -1
- package/package.json +1 -1
package/dist/client.cjs
CHANGED
|
@@ -1303,10 +1303,10 @@ const calculateDisplayPnl = (option, poolPrice, optionAssetIsToken0, payoutAsset
|
|
|
1303
1303
|
return require_numberUtils.wrapAmount(option.optionType === "CALL" ? delta : -delta, payoutAssetDecimals);
|
|
1304
1304
|
};
|
|
1305
1305
|
const useOptionPnl = (option) => {
|
|
1306
|
-
const
|
|
1307
|
-
const {
|
|
1308
|
-
const {
|
|
1309
|
-
const {
|
|
1306
|
+
const chainId = (0, wagmi.useChainId)();
|
|
1307
|
+
const { timelockLens } = useLens();
|
|
1308
|
+
const { vault, poolManager, poolKey, optionAssetIsToken0, payoutAssetDecimals } = useMarketData(option === null || option === void 0 ? void 0 : option.marketAddr);
|
|
1309
|
+
const { currentPrice: poolPrice, sqrtPriceX96 } = useCurrentPrice(poolManager, poolKey);
|
|
1310
1310
|
const displayPnl = (0, react.useMemo)(() => {
|
|
1311
1311
|
if (!option || !poolPrice || !payoutAssetDecimals || optionAssetIsToken0 === void 0) return void 0;
|
|
1312
1312
|
return calculateDisplayPnl(option, poolPrice.scaled, optionAssetIsToken0, payoutAssetDecimals);
|
|
@@ -1316,49 +1316,47 @@ const useOptionPnl = (option) => {
|
|
|
1316
1316
|
poolPrice,
|
|
1317
1317
|
payoutAssetDecimals
|
|
1318
1318
|
]);
|
|
1319
|
-
const
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
"
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
],
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
}
|
|
1355
|
-
return require_numberUtils.wrapAmount(payout, payoutAssetDecimals);
|
|
1356
|
-
},
|
|
1357
|
-
enabled: canQueryPayout,
|
|
1358
|
-
staleTime: 1e4
|
|
1319
|
+
const swapperData = (0, react.useMemo)(() => {
|
|
1320
|
+
if (!sqrtPriceX96) return void 0;
|
|
1321
|
+
return (0, viem.encodeAbiParameters)([
|
|
1322
|
+
{ type: "uint160" },
|
|
1323
|
+
{ type: "uint160" },
|
|
1324
|
+
{ type: "uint256" }
|
|
1325
|
+
], [
|
|
1326
|
+
sqrtPriceX96 * 9n / 10n,
|
|
1327
|
+
sqrtPriceX96 * 11n / 10n,
|
|
1328
|
+
BigInt(Math.floor(Date.now() / 1e3) + 600)
|
|
1329
|
+
]);
|
|
1330
|
+
}, [sqrtPriceX96]);
|
|
1331
|
+
const { data: refTick } = (0, wagmi.useSimulateContract)({
|
|
1332
|
+
address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
|
|
1333
|
+
abi: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.abi,
|
|
1334
|
+
functionName: "getRefTick",
|
|
1335
|
+
args: vault && (option === null || option === void 0 ? void 0 : option.startTick) ? [vault, option.startTick] : void 0,
|
|
1336
|
+
query: { enabled: !!vault && !!(option === null || option === void 0 ? void 0 : option.startTick) && !!timelockLens }
|
|
1337
|
+
});
|
|
1338
|
+
const { data: simulateResult } = (0, wagmi.useSimulateContract)({
|
|
1339
|
+
address: option === null || option === void 0 ? void 0 : option.marketAddr,
|
|
1340
|
+
abi: require_stateView.optionsMarketAbi,
|
|
1341
|
+
functionName: "exerciseOption",
|
|
1342
|
+
args: option && swapperData && (refTick === null || refTick === void 0 ? void 0 : refTick.result) ? [
|
|
1343
|
+
option.optionId,
|
|
1344
|
+
option.liquiditiesCurrent,
|
|
1345
|
+
0n,
|
|
1346
|
+
require_numberUtils.swappers[chainId],
|
|
1347
|
+
swapperData,
|
|
1348
|
+
refTick.result
|
|
1349
|
+
] : void 0,
|
|
1350
|
+
query: {
|
|
1351
|
+
enabled: !!option && !!swapperData && !!(refTick === null || refTick === void 0 ? void 0 : refTick.result) && !!option.marketAddr,
|
|
1352
|
+
staleTime: 1e4
|
|
1353
|
+
}
|
|
1359
1354
|
});
|
|
1360
1355
|
return {
|
|
1361
|
-
unrealizedPayout,
|
|
1356
|
+
unrealizedPayout: (0, react.useMemo)(() => {
|
|
1357
|
+
if (!(simulateResult === null || simulateResult === void 0 ? void 0 : simulateResult.result) || !payoutAssetDecimals) return void 0;
|
|
1358
|
+
return require_numberUtils.wrapAmount(simulateResult.result, payoutAssetDecimals);
|
|
1359
|
+
}, [simulateResult === null || simulateResult === void 0 ? void 0 : simulateResult.result, payoutAssetDecimals]),
|
|
1362
1360
|
displayPnl
|
|
1363
1361
|
};
|
|
1364
1362
|
};
|