timelock-sdk 0.0.131 → 0.0.133
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abis.cjs +1 -1
- package/dist/abis.d.cts +1 -1
- package/dist/abis.d.ts +1 -1
- package/dist/abis.js +2 -2
- package/dist/{client-Cs5UA8KQ.d.cts → client-BuKYj0pW.d.ts} +3117 -1193
- package/dist/{client-BzO_GBnM.d.ts → client-QYPs5kB7.d.cts} +3381 -1457
- package/dist/client.cjs +75 -105
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/client.js +78 -108
- package/dist/client.js.map +1 -1
- package/dist/{optionUtils-CUg_L5bP.js → optionUtils-CQzUsKpO.js} +3 -3
- package/dist/{optionUtils-CUg_L5bP.js.map → optionUtils-CQzUsKpO.js.map} +1 -1
- package/dist/{optionUtils-BQIg6hnc.cjs → optionUtils-OfLzCR6R.cjs} +3 -3
- package/dist/{optionUtils-BQIg6hnc.cjs.map → optionUtils-OfLzCR6R.cjs.map} +1 -1
- package/dist/{optionsMarket-Dkwpa2uO.js → optionsMarket-B2IsvbeA.js} +48 -25
- package/dist/optionsMarket-B2IsvbeA.js.map +1 -0
- package/dist/{optionsMarket-C8-v8IvX.cjs → optionsMarket-C6K82im8.cjs} +48 -25
- package/dist/optionsMarket-C6K82im8.cjs.map +1 -0
- package/dist/package.cjs +2 -2
- package/dist/package.d.cts +2 -2
- package/dist/package.d.ts +2 -2
- package/dist/package.js +2 -2
- package/dist/{singleOwnerVault-BeJChjfJ.js → singleOwnerVault-p81IjmWe.js} +1 -1
- package/dist/{singleOwnerVault-BeJChjfJ.js.map → singleOwnerVault-p81IjmWe.js.map} +1 -1
- package/dist/{uniswapMathLens-DtacRMPz.d.cts → uniswapMathLens-Be6lFJcD.d.cts} +31 -13
- package/dist/{uniswapMathLens-JKcBN1v_.d.ts → uniswapMathLens-DHfzEjej.d.ts} +31 -13
- package/package.json +11 -11
- package/dist/optionsMarket-C8-v8IvX.cjs.map +0 -1
- package/dist/optionsMarket-Dkwpa2uO.js.map +0 -1
package/dist/client.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
const require_optionUtils = require('./optionUtils-
|
|
5
|
-
const require_optionsMarket = require('./optionsMarket-
|
|
4
|
+
const require_optionUtils = require('./optionUtils-OfLzCR6R.cjs');
|
|
5
|
+
const require_optionsMarket = require('./optionsMarket-C6K82im8.cjs');
|
|
6
6
|
const require_singleOwnerVault = require('./singleOwnerVault-gf2zNZVk.cjs');
|
|
7
7
|
let viem = require("viem");
|
|
8
8
|
let react = require("react");
|
|
@@ -528,42 +528,25 @@ const useExerciseOption = (marketAddr) => {
|
|
|
528
528
|
|
|
529
529
|
//#endregion
|
|
530
530
|
//#region src/hooks/options/useMaxPositionSize.ts
|
|
531
|
-
const useMaxPositionSize = (marketAddr,
|
|
531
|
+
const useMaxPositionSize = (marketAddr, maxBorrowableRange = 100) => {
|
|
532
532
|
const { timelockLens } = useLens();
|
|
533
533
|
const { optionAssetDecimals } = useMarketData(marketAddr);
|
|
534
|
-
const { data
|
|
534
|
+
const { data, ...rest } = (0, wagmi.useReadContract)({
|
|
535
535
|
address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
|
|
536
536
|
abi: require_optionsMarket.lensAbi,
|
|
537
|
-
functionName: "
|
|
537
|
+
functionName: "getMaxATMSizes",
|
|
538
538
|
args: [marketAddr, maxBorrowableRange],
|
|
539
539
|
query: { enabled: !!marketAddr && !!timelockLens },
|
|
540
540
|
gas: 100000000n
|
|
541
541
|
});
|
|
542
|
-
const { data: data1, refetch: refetch1 } = (0, wagmi.useReadContract)({
|
|
543
|
-
address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
|
|
544
|
-
abi: require_optionsMarket.lensAbi,
|
|
545
|
-
functionName: "getMaxPositionSize",
|
|
546
|
-
args: [
|
|
547
|
-
marketAddr,
|
|
548
|
-
strikeTick,
|
|
549
|
-
maxBorrowableRange
|
|
550
|
-
],
|
|
551
|
-
query: { enabled: !!marketAddr && !!timelockLens && strikeTick !== void 0 },
|
|
552
|
-
gas: 100000000n
|
|
553
|
-
});
|
|
554
|
-
const data = strikeTick !== void 0 ? data1 : data0;
|
|
555
542
|
const { maxCallSize, maxPutSize } = (0, react.useMemo)(() => data && optionAssetDecimals ? {
|
|
556
543
|
maxCallSize: require_optionUtils.wrapAmount(data[0], optionAssetDecimals),
|
|
557
544
|
maxPutSize: require_optionUtils.wrapAmount(data[1], optionAssetDecimals)
|
|
558
545
|
} : {}, [data, optionAssetDecimals]);
|
|
559
|
-
const refetch = () => {
|
|
560
|
-
refetch0();
|
|
561
|
-
refetch1();
|
|
562
|
-
};
|
|
563
546
|
return {
|
|
564
547
|
maxCallSize,
|
|
565
548
|
maxPutSize,
|
|
566
|
-
|
|
549
|
+
...rest
|
|
567
550
|
};
|
|
568
551
|
};
|
|
569
552
|
|
|
@@ -571,7 +554,7 @@ const useMaxPositionSize = (marketAddr, strikeTick, maxBorrowableRange = 100) =>
|
|
|
571
554
|
//#region src/hooks/pool/useCurrentTick.ts
|
|
572
555
|
const useCurrentTick = (poolAddr) => {
|
|
573
556
|
const { tickSpacing } = usePoolData(poolAddr);
|
|
574
|
-
const { data
|
|
557
|
+
const { data, ...rest } = (0, wagmi.useReadContract)({
|
|
575
558
|
address: poolAddr,
|
|
576
559
|
abi: require_singleOwnerVault.uniswapV3PoolAbi,
|
|
577
560
|
functionName: "slot0",
|
|
@@ -799,7 +782,7 @@ const useUserOptions = (userAddr, marketAddr, active = false) => {
|
|
|
799
782
|
const { graphqlClient } = useTimelockConfig();
|
|
800
783
|
userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
|
|
801
784
|
marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
|
|
802
|
-
const { data
|
|
785
|
+
const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
|
|
803
786
|
queryKey: [
|
|
804
787
|
"userOptions",
|
|
805
788
|
userAddr || "--",
|
|
@@ -893,7 +876,7 @@ const useExtendOption = (marketAddr) => {
|
|
|
893
876
|
const useOptionTimeline = (marketAddr, optionId) => {
|
|
894
877
|
const { graphqlClient } = useTimelockConfig();
|
|
895
878
|
marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
|
|
896
|
-
const { data
|
|
879
|
+
const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
|
|
897
880
|
queryKey: [
|
|
898
881
|
"optionTimeline",
|
|
899
882
|
marketAddr || "--",
|
|
@@ -1033,66 +1016,6 @@ const usePerpsOperator = () => {
|
|
|
1033
1016
|
};
|
|
1034
1017
|
};
|
|
1035
1018
|
|
|
1036
|
-
//#endregion
|
|
1037
|
-
//#region src/hooks/operators/useUserOperators.ts
|
|
1038
|
-
const useUserOperators = (userAddr, marketAddr) => {
|
|
1039
|
-
const { graphqlClient } = useTimelockConfig();
|
|
1040
|
-
const { data,...rest } = (0, __tanstack_react_query.useQuery)({
|
|
1041
|
-
queryKey: [
|
|
1042
|
-
"userOperators",
|
|
1043
|
-
(userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase()) || "--",
|
|
1044
|
-
(marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase()) || "--"
|
|
1045
|
-
],
|
|
1046
|
-
queryFn: async () => {
|
|
1047
|
-
if (!userAddr || !marketAddr) return void 0;
|
|
1048
|
-
return (await graphqlClient.GetUserMarketOperators({
|
|
1049
|
-
userAddr: userAddr.toLowerCase(),
|
|
1050
|
-
marketAddr: marketAddr.toLowerCase()
|
|
1051
|
-
})).UserMarketOperator.map((operator) => ({
|
|
1052
|
-
...operator,
|
|
1053
|
-
spendingApproval: BigInt(operator.spendingApproval),
|
|
1054
|
-
operatorAddr: operator.operator.address.toLowerCase()
|
|
1055
|
-
}));
|
|
1056
|
-
},
|
|
1057
|
-
enabled: !!userAddr && !!marketAddr && !!graphqlClient
|
|
1058
|
-
});
|
|
1059
|
-
return {
|
|
1060
|
-
...rest,
|
|
1061
|
-
data: data || require_optionUtils.EMPTY_ARRAY
|
|
1062
|
-
};
|
|
1063
|
-
};
|
|
1064
|
-
|
|
1065
|
-
//#endregion
|
|
1066
|
-
//#region src/hooks/operators/useSetOperatorPerms.ts
|
|
1067
|
-
const useSetOperatorPerms = (marketAddr) => {
|
|
1068
|
-
const queryClient = (0, __tanstack_react_query.useQueryClient)();
|
|
1069
|
-
const client = (0, wagmi.useClient)();
|
|
1070
|
-
const { address } = (0, wagmi.useAccount)();
|
|
1071
|
-
const { writeContractAsync } = (0, wagmi.useWriteContract)();
|
|
1072
|
-
const setOperatorPerms = async ({ operator, canExtend, canExercise, canTransfer, canMint, spendingApproval }) => {
|
|
1073
|
-
if (!client || !address) throw new Error("Wallet not connected");
|
|
1074
|
-
if (!marketAddr) throw new Error("Market address not available");
|
|
1075
|
-
const hash = await writeContractAsync({
|
|
1076
|
-
address: marketAddr,
|
|
1077
|
-
abi: require_optionsMarket.optionsMarketAbi,
|
|
1078
|
-
functionName: "setOperatorPerms",
|
|
1079
|
-
args: [
|
|
1080
|
-
operator,
|
|
1081
|
-
canExtend,
|
|
1082
|
-
canExercise,
|
|
1083
|
-
canTransfer,
|
|
1084
|
-
canMint,
|
|
1085
|
-
spendingApproval
|
|
1086
|
-
]
|
|
1087
|
-
});
|
|
1088
|
-
await (0, viem_actions.waitForTransactionReceipt)(client, { hash });
|
|
1089
|
-
queryClient.invalidateQueries({ queryKey: ["userOperators"] });
|
|
1090
|
-
queryClient.invalidateQueries({ queryKey: ["readContract"] });
|
|
1091
|
-
return hash;
|
|
1092
|
-
};
|
|
1093
|
-
return (0, __tanstack_react_query.useMutation)({ mutationFn: setOperatorPerms });
|
|
1094
|
-
};
|
|
1095
|
-
|
|
1096
1019
|
//#endregion
|
|
1097
1020
|
//#region src/hooks/perps/useMintPerp.ts
|
|
1098
1021
|
const useMintPerp = (marketAddr) => {
|
|
@@ -1101,13 +1024,9 @@ const useMintPerp = (marketAddr) => {
|
|
|
1101
1024
|
const { address } = (0, wagmi.useAccount)();
|
|
1102
1025
|
const { operator, address: operatorAddr, signMessage: { mutateAsync: signMessage } } = usePerpsOperator();
|
|
1103
1026
|
const { askForApproval } = useApproval();
|
|
1104
|
-
const { data: operators } = useUserOperators(address, marketAddr);
|
|
1105
|
-
const { mutateAsync: setOperatorPerms } = useSetOperatorPerms(marketAddr);
|
|
1106
1027
|
const { pool, optionAssetIsToken0, payoutAsset } = useMarketData(marketAddr);
|
|
1107
1028
|
const { tickSpacing } = usePoolData(pool);
|
|
1108
1029
|
const { refetch: refetchCurrentTick } = useCurrentTick(pool);
|
|
1109
|
-
const userPerms = operatorAddr ? operators.find((o) => o.operatorAddr.toLowerCase() === operatorAddr.toLowerCase()) : void 0;
|
|
1110
|
-
const hasEnoughPerms = userPerms && userPerms.canMint && userPerms.canExtend && userPerms.canExercise;
|
|
1111
1030
|
const mintPerp = async (data) => {
|
|
1112
1031
|
const { optionType, amount, duration, strikeTick } = data;
|
|
1113
1032
|
if (!client || !address) throw new Error("Wallet not connected");
|
|
@@ -1127,16 +1046,7 @@ const useMintPerp = (marketAddr) => {
|
|
|
1127
1046
|
duration,
|
|
1128
1047
|
0
|
|
1129
1048
|
]);
|
|
1130
|
-
|
|
1131
|
-
if (!hasEnoughPerms) await setOperatorPerms({
|
|
1132
|
-
operator: operatorAddr,
|
|
1133
|
-
canMint: true,
|
|
1134
|
-
canExtend: true,
|
|
1135
|
-
canExercise: true,
|
|
1136
|
-
canTransfer: (userPerms === null || userPerms === void 0 ? void 0 : userPerms.canTransfer) || false,
|
|
1137
|
-
spendingApproval: maxPremium
|
|
1138
|
-
});
|
|
1139
|
-
await askForApproval(payoutAsset, marketAddr, maxPremium);
|
|
1049
|
+
await askForApproval(payoutAsset, marketAddr, (premium + protocolFee) * 11n / 10n);
|
|
1140
1050
|
await operator.mintPerp({
|
|
1141
1051
|
marketAddr,
|
|
1142
1052
|
amount,
|
|
@@ -1170,12 +1080,12 @@ const useClosePerp = () => {
|
|
|
1170
1080
|
|
|
1171
1081
|
//#endregion
|
|
1172
1082
|
//#region src/hooks/perps/useUserPerps.ts
|
|
1173
|
-
const EMPTY_ARRAY = [];
|
|
1083
|
+
const EMPTY_ARRAY$1 = [];
|
|
1174
1084
|
const useUserPerps = (marketAddr, userAddr, type) => {
|
|
1175
1085
|
const { operator } = usePerpsOperator();
|
|
1176
1086
|
userAddr = userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase();
|
|
1177
1087
|
marketAddr = marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase();
|
|
1178
|
-
const { data
|
|
1088
|
+
const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
|
|
1179
1089
|
queryKey: [
|
|
1180
1090
|
"userPerps",
|
|
1181
1091
|
type,
|
|
@@ -1188,7 +1098,7 @@ const useUserPerps = (marketAddr, userAddr, type) => {
|
|
|
1188
1098
|
refetchInterval: 1e4
|
|
1189
1099
|
});
|
|
1190
1100
|
return {
|
|
1191
|
-
data: data || EMPTY_ARRAY,
|
|
1101
|
+
data: data || EMPTY_ARRAY$1,
|
|
1192
1102
|
...rest
|
|
1193
1103
|
};
|
|
1194
1104
|
};
|
|
@@ -1207,7 +1117,7 @@ const useOperatorPerms = (marketAddr, userAddr, operatorAddr) => {
|
|
|
1207
1117
|
address: userAddr,
|
|
1208
1118
|
token: payoutAsset
|
|
1209
1119
|
});
|
|
1210
|
-
const { data
|
|
1120
|
+
const { data, ...rest } = (0, wagmi.useReadContract)({
|
|
1211
1121
|
abi: require_optionsMarket.optionsMarketAbi,
|
|
1212
1122
|
address: marketAddr,
|
|
1213
1123
|
functionName: "operatorPerms",
|
|
@@ -1240,6 +1150,66 @@ const useOperatorPerms = (marketAddr, userAddr, operatorAddr) => {
|
|
|
1240
1150
|
};
|
|
1241
1151
|
};
|
|
1242
1152
|
|
|
1153
|
+
//#endregion
|
|
1154
|
+
//#region src/hooks/operators/useUserOperators.ts
|
|
1155
|
+
const useUserOperators = (userAddr, marketAddr) => {
|
|
1156
|
+
const { graphqlClient } = useTimelockConfig();
|
|
1157
|
+
const { data, ...rest } = (0, __tanstack_react_query.useQuery)({
|
|
1158
|
+
queryKey: [
|
|
1159
|
+
"userOperators",
|
|
1160
|
+
(userAddr === null || userAddr === void 0 ? void 0 : userAddr.toLowerCase()) || "--",
|
|
1161
|
+
(marketAddr === null || marketAddr === void 0 ? void 0 : marketAddr.toLowerCase()) || "--"
|
|
1162
|
+
],
|
|
1163
|
+
queryFn: async () => {
|
|
1164
|
+
if (!userAddr || !marketAddr) return void 0;
|
|
1165
|
+
return (await graphqlClient.GetUserMarketOperators({
|
|
1166
|
+
userAddr: userAddr.toLowerCase(),
|
|
1167
|
+
marketAddr: marketAddr.toLowerCase()
|
|
1168
|
+
})).UserMarketOperator.map((operator) => ({
|
|
1169
|
+
...operator,
|
|
1170
|
+
spendingApproval: BigInt(operator.spendingApproval),
|
|
1171
|
+
operatorAddr: operator.operator.address.toLowerCase()
|
|
1172
|
+
}));
|
|
1173
|
+
},
|
|
1174
|
+
enabled: !!userAddr && !!marketAddr && !!graphqlClient
|
|
1175
|
+
});
|
|
1176
|
+
return {
|
|
1177
|
+
...rest,
|
|
1178
|
+
data: data || require_optionUtils.EMPTY_ARRAY
|
|
1179
|
+
};
|
|
1180
|
+
};
|
|
1181
|
+
|
|
1182
|
+
//#endregion
|
|
1183
|
+
//#region src/hooks/operators/useSetOperatorPerms.ts
|
|
1184
|
+
const useSetOperatorPerms = (marketAddr) => {
|
|
1185
|
+
const queryClient = (0, __tanstack_react_query.useQueryClient)();
|
|
1186
|
+
const client = (0, wagmi.useClient)();
|
|
1187
|
+
const { address } = (0, wagmi.useAccount)();
|
|
1188
|
+
const { writeContractAsync } = (0, wagmi.useWriteContract)();
|
|
1189
|
+
const setOperatorPerms = async ({ operator, canExtend, canExercise, canTransfer, canMint, spendingApproval }) => {
|
|
1190
|
+
if (!client || !address) throw new Error("Wallet not connected");
|
|
1191
|
+
if (!marketAddr) throw new Error("Market address not available");
|
|
1192
|
+
const hash = await writeContractAsync({
|
|
1193
|
+
address: marketAddr,
|
|
1194
|
+
abi: require_optionsMarket.optionsMarketAbi,
|
|
1195
|
+
functionName: "setOperatorPerms",
|
|
1196
|
+
args: [
|
|
1197
|
+
operator,
|
|
1198
|
+
canExtend,
|
|
1199
|
+
canExercise,
|
|
1200
|
+
canTransfer,
|
|
1201
|
+
canMint,
|
|
1202
|
+
spendingApproval
|
|
1203
|
+
]
|
|
1204
|
+
});
|
|
1205
|
+
await (0, viem_actions.waitForTransactionReceipt)(client, { hash });
|
|
1206
|
+
queryClient.invalidateQueries({ queryKey: ["userOperators"] });
|
|
1207
|
+
queryClient.invalidateQueries({ queryKey: ["readContract"] });
|
|
1208
|
+
return hash;
|
|
1209
|
+
};
|
|
1210
|
+
return (0, __tanstack_react_query.useMutation)({ mutationFn: setOperatorPerms });
|
|
1211
|
+
};
|
|
1212
|
+
|
|
1243
1213
|
//#endregion
|
|
1244
1214
|
//#region src/hooks/pool/usePriceHistory.ts
|
|
1245
1215
|
const usePriceHistory = (pool, token, resolution, startTimestamp, endTimestamp) => {
|
|
@@ -1343,7 +1313,7 @@ const useBurnLiquidity = (vaultAddr) => {
|
|
|
1343
1313
|
//#region src/hooks/vault/useLiquidityBlocks.ts
|
|
1344
1314
|
const useLiquidityBlocks = (vaultAddr) => {
|
|
1345
1315
|
const { timelockLens } = useLens();
|
|
1346
|
-
const { data: blocks = []
|
|
1316
|
+
const { data: blocks = [], ...rest } = (0, wagmi.useReadContract)({
|
|
1347
1317
|
address: timelockLens === null || timelockLens === void 0 ? void 0 : timelockLens.address,
|
|
1348
1318
|
abi: require_optionsMarket.lensAbi,
|
|
1349
1319
|
functionName: "getAllBlocks",
|