Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/gmh5225/hookmate
सामान्य उपयोगिताएँक्रिप्टोग्राफीउपयोगिताएँ और फ्रेमवर्क
GitHubgmh5225/hookmate

hookmate

(प्रायोगिक) Uniswap v4 Hook विकास के लिए Solidity घटक और उपयोगिताएँ

रिपॉजिटरी देखें
22 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

hookmate

Uniswap v4 Hook विकास के लिए प्रायोगिक solidity उपयोगिताएँ, लाइब्रेरीज़, और घटक


इंस्टॉलेशन

आवश्यक है foundry

forge install uniswapfoundation/hookmate

दस्तावेज़ीकरण

लाइब्रेरीज़

PoolStateLibrary.sol

⚠️ उत्पादन के लिए तैयार नहीं। भविष्य में ब्रेकिंग परिवर्तन होंगे ⚠️

जब तक v4-core कोड-फ्रीज़ नहीं होता, इंटरफ़ेस में परिवर्तन हो सकते हैं

Pool.State जानकारी तक पहुँचने के लिए एक solidity लाइब्रेरी -- यहाँ तक कि नेस्टेड मैपिंग्स भी। यह PoolManager.extsload के माध्यम से उजागर मनमाने स्टोरेज स्लॉट रीड्स पर निर्भर करती है

mapping(PoolId id => Pool.State) public pools; में प्रत्येक मान PoolStateLibrary के माध्यम से उपलब्ध है:

// PoolManager.sol
mapping(PoolId id => Pool.State) public pools;

// Pool.sol
struct State {
    Slot0 slot0;                   // getSlot0()
        | uint160 sqrtPriceX96;
        | int24 tick;
        | uint16 protocolFee;
        | uint24 swapFee;
    uint256 feeGrowthGlobal0X128;  // getFeeGrowthGlobal()
    uint256 feeGrowthGlobal1X128;  // ..
    uint128 liquidity;             // getLiquidity()
    mapping(int24 => TickInfo) ticks;      // getTickInfo()
        | uint128 liquidityGross;          // getTickLiquidity()
        | int128 liquidityNet;             // ..
        | uint256 feeGrowthOutside0X128;   // getTickFeeGrowthOutside()
        | uint256 feeGrowthOutside1X128;   // ..
    mapping(int16 => uint256) tickBitmap;  // getTickBitmap()
    mapping(bytes32 => Position.Info) positions;  // getPositionInfo()
        | uint128 liquidity;                      // getPositionLiquidity()
        | uint256 feeGrowthInside0LastX128;       // getFeeGrowthInside() (लाइव गणना)
        | uint256 feeGrowthInside1LastX128;       // ..
}

उदाहरण उपयोग: पोज़िशन शुल्क प्राप्त करें

import {PoolStateLibrary} from "hookmate/libraries/PoolStateLibrary.sol";
import {PoolId, PoolIdLibrary} from "v4-core/src/types/PoolId.sol";

...

using PoolIdLibrary for PoolKey;

...

IPoolManager manager = address(0xABC);
address liquidityOwner = address(0x123); // संभवतः PoolModifyLiquidityTest होगा
int24 tickLower = -60;
int24 tickUpper = 60;
PoolKey memory key = PoolKey(...);

bytes32 positionId = keccak256(abi.encodePacked(address(liquidityOwner), tickLower, tickUpper));

(uint128 liquidity, uint256 feeGrowthInside0X128, uint256 feeGrowthInside1X128) =
    PoolStateLibrary.getPositionInfo(manager, key.toId(), positionId);

टूल डाउनलोड करें