@price-oracle/v1-core-interfaces
Version:
Price Oracle v1 Core Interfaces and needed integration files
904 lines • 96 kB
JSON
{
"abi": [
{
"inputs": [],
"name": "Strategy_NotEnoughWeth",
"type": "error"
},
{
"inputs": [],
"name": "Strategy_NotFarEnoughToLeft",
"type": "error"
},
{
"inputs": [],
"name": "Strategy_NotFarEnoughToRight",
"type": "error"
},
{
"inputs": [],
"name": "Strategy_PoolManipulated",
"type": "error"
},
{
"inputs": [],
"name": "LOWER_BURN_DIFF",
"outputs": [
{
"internalType": "int24",
"name": "_lowerBurnDiff",
"type": "int24"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MAX_WETH_TO_MINT",
"outputs": [
{
"internalType": "uint256",
"name": "_maxWethToMint",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MIN_WETH_TO_MINT",
"outputs": [
{
"internalType": "uint256",
"name": "_minWethToMint",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PERCENT_WETH_TO_MINT",
"outputs": [
{
"internalType": "uint256",
"name": "_percentWethToMint",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UPPER_BURN_DIFF",
"outputs": [
{
"internalType": "int24",
"name": "_upperBurnDiff",
"type": "int24"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOLATILITY_SAFE_RANGE_MAX",
"outputs": [
{
"internalType": "uint256",
"name": "_volatilitySafeRangeMax",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOLATILITY_SAFE_RANGE_MIN",
"outputs": [
{
"internalType": "uint256",
"name": "_volatilitySafeRangeMin",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "int24",
"name": "lowerTick",
"type": "int24"
},
{
"internalType": "int24",
"name": "upperTick",
"type": "int24"
}
],
"internalType": "struct IStrategy.Position",
"name": "_position",
"type": "tuple"
},
{
"internalType": "uint128",
"name": "_positionLiquidity",
"type": "uint128"
},
{
"components": [
{
"internalType": "contract IPoolManager",
"name": "poolManager",
"type": "address"
},
{
"internalType": "contract IUniswapV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "availableWeth",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isWethToken0",
"type": "bool"
},
{
"internalType": "int24",
"name": "tickSpacing",
"type": "int24"
}
],
"internalType": "struct IStrategy.LockManagerState",
"name": "_lockManagerState",
"type": "tuple"
}
],
"name": "getPositionToBurn",
"outputs": [
{
"components": [
{
"internalType": "int24",
"name": "lowerTick",
"type": "int24"
},
{
"internalType": "int24",
"name": "upperTick",
"type": "int24"
},
{
"internalType": "uint128",
"name": "liquidity",
"type": "uint128"
}
],
"internalType": "struct IStrategy.LiquidityPosition",
"name": "_positionToBurn",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IPoolManager",
"name": "poolManager",
"type": "address"
},
{
"internalType": "contract IUniswapV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "availableWeth",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isWethToken0",
"type": "bool"
},
{
"internalType": "int24",
"name": "tickSpacing",
"type": "int24"
}
],
"internalType": "struct IStrategy.LockManagerState",
"name": "_lockManagerState",
"type": "tuple"
}
],
"name": "getPositionToMint",
"outputs": [
{
"components": [
{
"internalType": "int24",
"name": "lowerTick",
"type": "int24"
},
{
"internalType": "int24",
"name": "upperTick",
"type": "int24"
},
{
"internalType": "uint128",
"name": "liquidity",
"type": "uint128"
}
],
"internalType": "struct IStrategy.LiquidityPosition",
"name": "_positionToMint",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"methodIdentifiers": {
"LOWER_BURN_DIFF()": "55abb3e7",
"MAX_WETH_TO_MINT()": "23e91762",
"MIN_WETH_TO_MINT()": "cc0951e3",
"PERCENT_WETH_TO_MINT()": "861293fd",
"UPPER_BURN_DIFF()": "3ed0e21c",
"VOLATILITY_SAFE_RANGE_MAX()": "7a027ce1",
"VOLATILITY_SAFE_RANGE_MIN()": "10769458",
"getPositionToBurn((int24,int24),uint128,(address,address,uint256,bool,int24))": "0c80abe8",
"getPositionToMint((address,address,uint256,bool,int24))": "f8ef6598"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Strategy_NotEnoughWeth\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Strategy_NotFarEnoughToLeft\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Strategy_NotFarEnoughToRight\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Strategy_PoolManipulated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LOWER_BURN_DIFF\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"_lowerBurnDiff\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_WETH_TO_MINT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxWethToMint\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_WETH_TO_MINT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_minWethToMint\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENT_WETH_TO_MINT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentWethToMint\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPPER_BURN_DIFF\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"_upperBurnDiff\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VOLATILITY_SAFE_RANGE_MAX\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_volatilitySafeRangeMax\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VOLATILITY_SAFE_RANGE_MIN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_volatilitySafeRangeMin\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int24\",\"name\":\"lowerTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"upperTick\",\"type\":\"int24\"}],\"internalType\":\"struct IStrategy.Position\",\"name\":\"_position\",\"type\":\"tuple\"},{\"internalType\":\"uint128\",\"name\":\"_positionLiquidity\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"poolManager\",\"type\":\"address\"},{\"internalType\":\"contract IUniswapV3Pool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"availableWeth\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isWethToken0\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"internalType\":\"struct IStrategy.LockManagerState\",\"name\":\"_lockManagerState\",\"type\":\"tuple\"}],\"name\":\"getPositionToBurn\",\"outputs\":[{\"components\":[{\"internalType\":\"int24\",\"name\":\"lowerTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"upperTick\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"internalType\":\"struct IStrategy.LiquidityPosition\",\"name\":\"_positionToBurn\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"poolManager\",\"type\":\"address\"},{\"internalType\":\"contract IUniswapV3Pool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"availableWeth\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isWethToken0\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"internalType\":\"struct IStrategy.LockManagerState\",\"name\":\"_lockManagerState\",\"type\":\"tuple\"}],\"name\":\"getPositionToMint\",\"outputs\":[{\"components\":[{\"internalType\":\"int24\",\"name\":\"lowerTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"upperTick\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"internalType\":\"struct IStrategy.LiquidityPosition\",\"name\":\"_positionToMint\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"LOWER_BURN_DIFF()\":{\"returns\":{\"_lowerBurnDiff\":\"The tick difference\"}},\"MAX_WETH_TO_MINT()\":{\"returns\":{\"_maxWethToMint\":\"The maximum amount of WETH that can be minted into a new position\"}},\"MIN_WETH_TO_MINT()\":{\"details\":\"Remember safe deployment for min width is 1 ETH these amounts are already considering the 1/2 minting\",\"returns\":{\"_minWethToMint\":\"The minimum amount of WETH that can be minted into a new position\"}},\"PERCENT_WETH_TO_MINT()\":{\"returns\":{\"_percentWethToMint\":\"What percentage of idle WETH to use for minting\"}},\"UPPER_BURN_DIFF()\":{\"returns\":{\"_upperBurnDiff\":\"The tick difference\"}},\"VOLATILITY_SAFE_RANGE_MAX()\":{\"returns\":{\"_volatilitySafeRangeMax\":\"_volatilitySafeRangeMax\"}},\"VOLATILITY_SAFE_RANGE_MIN()\":{\"returns\":{\"_volatilitySafeRangeMin\":\"_volatilitySafeRangeMin\"}},\"getPositionToBurn((int24,int24),uint128,(address,address,uint256,bool,int24))\":{\"params\":{\"_position\":\"The position to burn, without liquidity\",\"_positionLiquidity\":\"The liquidity in the position\"},\"returns\":{\"_positionToBurn\":\"The position to burn, with liquidity\"}},\"getPositionToMint((address,address,uint256,bool,int24))\":{\"returns\":{\"_positionToMint\":\"The position\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Strategy_NotEnoughWeth()\":[{\"notice\":\"Thrown when minting a position requires more WETH than available in the lock manager\"}],\"Strategy_NotFarEnoughToLeft()\":[{\"notice\":\"Thrown when the position to burn is too close to the current tick\"}],\"Strategy_NotFarEnoughToRight()\":[{\"notice\":\"Thrown when the position to burn is too close to the current tick\"}],\"Strategy_PoolManipulated()\":[{\"notice\":\"Thrown when the price oracle detects a manipulation\"}]},\"kind\":\"user\",\"methods\":{\"LOWER_BURN_DIFF()\":{\"notice\":\"How far to the right from the current tick a position should be in order to be burned\"},\"MAX_WETH_TO_MINT()\":{\"notice\":\"The maximum amount of WETH that can be minted into a new position\"},\"MIN_WETH_TO_MINT()\":{\"notice\":\"The miminum amount of WETH that can be minted into a new position\"},\"PERCENT_WETH_TO_MINT()\":{\"notice\":\"50% of idle WETH per mint is used\"},\"UPPER_BURN_DIFF()\":{\"notice\":\"How far to the left from the current tick a position should be in order to be burned\"},\"VOLATILITY_SAFE_RANGE_MAX()\":{\"notice\":\"The bottom of the safe range for volatility\"},\"VOLATILITY_SAFE_RANGE_MIN()\":{\"notice\":\"The top of the safe range for volatility\"},\"getPositionToBurn((int24,int24),uint128,(address,address,uint256,bool,int24))\":{\"notice\":\"Returns the next position to burn\"},\"getPositionToMint((address,address,uint256,bool,int24))\":{\"notice\":\"Returns the next position to mint\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/interfaces/strategies/IStrategy.sol\":\"IStrategy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@contracts/=solidity/contracts/\",\":@defi-wonderland/=node_modules/@defi-wonderland/\",\":@interfaces/=solidity/interfaces/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@test/=solidity/test/\",\":@uniswap/=node_modules/@uniswap/\",\":@uniswap/v3-core/=node_modules/@uniswap/v3-core/\",\":@uniswap/v3-periphery/=node_modules/@uniswap/v3-periphery/\",\":base64-sol/=node_modules/base64-sol/\",\":chainlink/=node_modules/chainlink/contracts/src/v0.8/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":isolmate/=node_modules/@defi-wonderland/isolmate/src/\",\":keep3r-v2/=node_modules/keep3r-v2/\",\":keep3r/=node_modules/keep3r-v2/solidity/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":oz/=node_modules/openzeppelin-solidity/contracts/\",\":uni-v3-core/=node_modules/@uniswap/v3-core/contracts/\",\":uni-v3-periphery/=node_modules/@uniswap/v3-periphery/contracts/\",\":weird-erc20/=node_modules/weird-erc20/src/\"]},\"sources\":{\"node_modules/@defi-wonderland/isolmate/src/interfaces/tokens/IERC20.sol\":{\"keccak256\":\"0xea23a986a9efba47639b24eae7dbfd6936be01e5fc3530202fe1f4b8bb4131b8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e08545e18de038023d32de846032533af9513c0b7b84a6c5c371941b6bd5f7\",\"dweb:/ipfs/QmRYNSXwiJ9wE36ogE5J77g6pbGK7T7qqqAF99DZq3eW5B\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"node_modules/keep3r-v2/solidity/interfaces/IKeep3r.sol\":{\"keccak256\":\"0x273a39984c1475c60182e636bb91a1b89ec98646a036cac6a87067869b3adeb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13fa95e5526a22c48222b74cbbaa2a7b80126e02112e96fec38d0d75bb20d450\",\"dweb:/ipfs/QmYj3AUhMYmiG9MMqbK9VUFqgnn4X6jaZqKG5myFBYYmmv\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IBaseErrors.sol\":{\"keccak256\":\"0x9130019a08d9eaedfb920a323fed5c7f409736cd918f1a32921c93551b3ee00e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4ae0dc1b01e1eaf0e795631c0ae2c761b70d3aa9b6883a3948462cfecc06e6\",\"dweb:/ipfs/QmaUsKrdPJqcQnVxb23f2obQyWeK2C3Nikf6LqibaqMLCz\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IDustCollector.sol\":{\"keccak256\":\"0x38dce228111f2a3c6b26ac09c5652c3f1f184c4cfe50d11ff0958ef6a50683bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bfe74d44a4b1e1e8a73892e44cb7f3a0086ae012c46e354bf1b40a16ded52\",\"dweb:/ipfs/QmeP3F3i2wXRy5yzSWtazNqH8KyKdncFto8AdB9M7VfjUW\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IGovernable.sol\":{\"keccak256\":\"0x3284624b2479bbf97c821f37c93a096dcb869b30bbf9b20d30d1800f9535452c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a058f2e2d3d09fe89230e5e4292568c2a14e24a4cf953d4284daa29cf4de4fa0\",\"dweb:/ipfs/QmSGL7FDT29bvfa5zvoq9PkNVWSpR6ZY523axPXoSq3u7M\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rAccountance.sol\":{\"keccak256\":\"0xf4748c236ddf409e45e7169c735e2fc54e627b2b3ccd189ebb438ad768f1deb1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6a28e2d17b5eed1a365f995349203053d964ad78c64eb7c0fd4eed0a202bf1\",\"dweb:/ipfs/QmaLH6GkuTkLJ8AukTLXrvSDiS8KAFwDkbynPURTcsumzF\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rDisputable.sol\":{\"keccak256\":\"0x002b9b4c75e62d48d74b6447649d39eb5c1e128d2523bb11e08e9cd3e27b1f70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82c436aaecd1b3152a796c14707ac93a8d2988db101e470a8b2b84c23f3d506f\",\"dweb:/ipfs/QmYUgdQFmZic2c6RUxxWNkSUvqM11B1Ti6rgFZMFRzsT7B\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rJobs.sol\":{\"keccak256\":\"0x08915189f1a9484d17a51b7fb343b765b9edba29062bb644af9663af18f03e34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5b549c9264d1783a22c8980187c97f2bc7db30c61cd2b1652ed1b184e49d86b\",\"dweb:/ipfs/QmeJR2qYWNkEM1qCwiKczQdfBpXUp45rS3o8Zf43AKoSaR\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rKeepers.sol\":{\"keccak256\":\"0xc95e6bba82a8371c6bd15a8e9d0df91c826b5050b8ee01d913c1c13a4e92a49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://370a48951cc8c8d1b96507683dbf8f798605867388e6f50e29e1741a8873d46d\",\"dweb:/ipfs/QmVD8zzzcaUUxrVrodoPfHV5zdXqt6ZXKfSshy43gWwsNt\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rParameters.sol\":{\"keccak256\":\"0x942f99c6e3b229a551faaae8f03000b934b20502a7cfade14780508201fd098e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b994c19a217b30352f7a6ca67044bde835d06ddfe51a6b651076d99a7214e1b0\",\"dweb:/ipfs/Qmdb1gc4xtQLSa3nLuen8GK7esb8tj3KgmYvzY2ovvraw1\"]},\"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rRoles.sol\":{\"keccak256\":\"0xe6eca166cf6ad99e5379d754030222873bb9868ff3e2a76de815a438ead533a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d5036cc038714163c3c79479fe00ff0070e5a0a155e00e562d1d645a636b76b\",\"dweb:/ipfs/QmSZPJntRruGnXFEYuUrBrUSfqDDzJ5awMXx2r1nyDAQbd\"]},\"solidity/interfaces/IFeeManager.sol\":{\"keccak256\":\"0x601f6a0b64273647af20e1c59aeffe2086be4c4978773d0adf7c2bfe41c2c727\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e2c4dc963c1c515fa7ef18bce567fcee6e7acf895031adcfe3fdeb8f7e37caed\",\"dweb:/ipfs/QmWsu86sEAFS2egVJiYSvykcKv9fUfscepuKTfVsat8Bok\"]},\"solidity/interfaces/ILockManager.sol\":{\"keccak256\":\"0xa232140a3c96344e2143d9e7c465097c77304b12c5267fb9e7c22ca467c11b57\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://59e01db60aef7cb9add55070a96a0dfc297d83b99f70562e986e385d3cdb8da8\",\"dweb:/ipfs/QmaAHyD6swNuF5gYsxpyhyzxq11bMUwFUYQZiAezX98JTX\"]},\"solidity/interfaces/ILockManagerFactory.sol\":{\"keccak256\":\"0xae1530bf74a0d9f1e71abec4cce3462b46ad53b067ef0022795929953b23f817\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2505cbc50886430000811c75a4ed31c8392f8b476c1d43720bd1aa63ae2a090b\",\"dweb:/ipfs/QmPaN3AkvGVaQYdwMDeGjJrYkEqpmfHWvb4xfG2ZuftSER\"]},\"solidity/interfaces/ILockManagerGovernor.sol\":{\"keccak256\":\"0x6dbdf9194a2a45a434fd31cc62acff5003d53a949baef6a454d5dea97dd29ea3\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://6dc8fe41a53db8c09982e78c88036dcc9c9c2bcb45a4d766b40b631a8df33f5b\",\"dweb:/ipfs/QmcFq2LTpZT7ZzNw6VBkXbSLuuX9LGcshzjP7xX9Bzr2cS\"]},\"solidity/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xf795ff3abbe3b2b4def474a505e78569d41086da3f6d439f732b9ee5295ba49d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://62041119416c6418fec45bbaca62fba107acda209dd12ef040a8dab1b65d3878\",\"dweb:/ipfs/QmbB2BeWsmHRRxbeQY7XNQekcaJP9j97n9juXU7khsUzgN\"]},\"solidity/interfaces/IPoolManagerDeployer.sol\":{\"keccak256\":\"0xbc4c205c007a713aa9c166982ce77f208456749f437cc782d6500d6f456f4113\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://70e7239fa222d567ac9851d971c7cbb5ee3ebfa52fd04692db4feb0e21350016\",\"dweb:/ipfs/QmZhFWjSSjYNbggeeo4cUhxinX9vGPAGuUkMqMVxZmnd9D\"]},\"solidity/interfaces/IPoolManagerFactory.sol\":{\"keccak256\":\"0x0aea0b427578023099fb9a1bf09a20762c1c958ef5859c762fc673d3314e97cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b8fc29e8f15ef3eaa6262189ac28960c7960e52d2a8de23d6451e3189ae80cc9\",\"dweb:/ipfs/QmYKicDyJi2Lw8YuY92SFyBzfDmvBGuECpH6mm15wbi7J3\"]},\"solidity/interfaces/IPoolManagerGovernor.sol\":{\"keccak256\":\"0x67020a4d2879b26138ffe80168e12caeacb0cdc3852de452a35946a0bab3ff13\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c6b07c8f824577fce45baaf9a1643b7c1a51398396a47e08306eef8ccdfe87ba\",\"dweb:/ipfs/QmbeATmPW1T9GyrbguSkEkPKJLUS4ALH5BFLs1n38PZnuv\"]},\"solidity/interfaces/jobs/ICardinalityJob.sol\":{\"keccak256\":\"0xb2ea5ab5837457a18099b93596d0bb21d0eba97679219332b2c600027acb7efc\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://36a717206961aa821014c799c45e5d4987042f0447f2da70b0b26e6e348cc4c8\",\"dweb:/ipfs/QmR4E7L8smEL7KrGRCXaXoP45P3C9AmHopgnvhZQhrFEAY\"]},\"solidity/interfaces/jobs/IFeeCollectorJob.sol\":{\"keccak256\":\"0x719f4225d74474973cb4c58a524661dd5b0d437c17258f7be1f028377a2a1ed2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e414800cc7c4c064caa2e57f243a15ec88a4fa72919d568da944e30a176353e7\",\"dweb:/ipfs/QmRpJdh9C5TCArQPYD2qq1tjNeaQVUHGhRh9YtsdxqAreh\"]},\"solidity/interfaces/jobs/IKeep3rJob.sol\":{\"keccak256\":\"0x537540063984e38ff186592936016ac3b452a21da322ae8fb9bf173b8c2fabe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://847d7cc63dd034253aeeb2fdea6225f7b27fda867888b7e21297838f1eb05c1f\",\"dweb:/ipfs/Qmeaci4yeX8rUXamD9cp3biJBGUxYUkJTkLTWf4vcsYJFt\"]},\"solidity/interfaces/periphery/IGovernorMiniBravo.sol\":{\"keccak256\":\"0x3385738365ff7ba2aaac8a1e507f571e3e5bd97988241b6678ed4aa1d61cfbae\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://fd624c0e163d0a174c078c4cb450eefa84a86dc70ccdb8625636e1963866cffd\",\"dweb:/ipfs/QmYVVRctxeYgPeKKUPBSuwZ11uU3EPf4opYuLA7aJWKGAB\"]},\"solidity/interfaces/periphery/IPriceOracle.sol\":{\"keccak256\":\"0x27e349905c9e686510cd51ccb3f11c6617bc3135c8188215db980d8fcc02ef26\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1c0096e91e4ce57273090f452af1f8cbc7112c57359404a9920070b969213d08\",\"dweb:/ipfs/QmW56eqevPWT9vzYq3gGC47DaFfEb2QEr3gFK4Tvt1WcjL\"]},\"solidity/interfaces/periphery/IPriceOracleCorrections.sol\":{\"keccak256\":\"0x53b8f395595d23beba0d5295fa494fc28b4452d2526fe8da5932e98ef9b3e12f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e3795b5aacfcd9a3caf85291ed73d17fd37621574072950dad79ecbccbc0d6c4\",\"dweb:/ipfs/QmPK9LKsCS5NJZVktcngDnkDBbkTqoTEkvUmEEwaCj4sHJ\"]},\"solidity/interfaces/strategies/IStrategy.sol\":{\"keccak256\":\"0x4d9be7375229a6b01fdadda608b30096a90f1f828ab21b12937ce601c83b83b0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://549b50053afaa6782060bb6d6568b728c874dbab422077b4a9d08f70acd83adc\",\"dweb:/ipfs/QmWniAa47EZfDfhqPKYgVeaQ6FFbou6JsVquKyXovcxPhU\"]},\"solidity/interfaces/utils/IPriceGovernable.sol\":{\"keccak256\":\"0xd58d6f0d8634ccd0e4ebf04a73c48b6741e221c66c369f3d09ec7891e96a266f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e838c65618d08f0300e555d520e8062eae0d09f387812437a9dad0fd782ae9b\",\"dweb:/ipfs/QmYarNLYUK192seJ4hgB4nHjzzb5sxS8Bsm1K4aA21fLuX\"]},\"solidity/interfaces/utils/IPricePausable.sol\":{\"keccak256\":\"0x32147e0eac7998813804d67fef37ca41796e9d12d9cdd30206d5fb04badba29e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0cebfa2c49375ed9140244cead0d3f4c501970343ccfdd27c7fe41cc2b937ff4\",\"dweb:/ipfs/QmPZ4AY4KFSYmJnHnmwH33kuadY8t4JnnH8hjcVThVB87E\"]}},\"version\":1}",
"metadata": {
"compiler": {
"version": "0.8.10+commit.fc410830"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"type": "error",
"name": "Strategy_NotEnoughWeth"
},
{
"inputs": [],
"type": "error",
"name": "Strategy_NotFarEnoughToLeft"
},
{
"inputs": [],
"type": "error",
"name": "Strategy_NotFarEnoughToRight"
},
{
"inputs": [],
"type": "error",
"name": "Strategy_PoolManipulated"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "LOWER_BURN_DIFF",
"outputs": [
{
"internalType": "int24",
"name": "_lowerBurnDiff",
"type": "int24"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "MAX_WETH_TO_MINT",
"outputs": [
{
"internalType": "uint256",
"name": "_maxWethToMint",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "MIN_WETH_TO_MINT",
"outputs": [
{
"internalType": "uint256",
"name": "_minWethToMint",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "PERCENT_WETH_TO_MINT",
"outputs": [
{
"internalType": "uint256",
"name": "_percentWethToMint",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "UPPER_BURN_DIFF",
"outputs": [
{
"internalType": "int24",
"name": "_upperBurnDiff",
"type": "int24"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "VOLATILITY_SAFE_RANGE_MAX",
"outputs": [
{
"internalType": "uint256",
"name": "_volatilitySafeRangeMax",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "VOLATILITY_SAFE_RANGE_MIN",
"outputs": [
{
"internalType": "uint256",
"name": "_volatilitySafeRangeMin",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "struct IStrategy.Position",
"name": "_position",
"type": "tuple",
"components": [
{
"internalType": "int24",
"name": "lowerTick",
"type": "int24"
},
{
"internalType": "int24",
"name": "upperTick",
"type": "int24"
}
]
},
{
"internalType": "uint128",
"name": "_positionLiquidity",
"type": "uint128"
},
{
"internalType": "struct IStrategy.LockManagerState",
"name": "_lockManagerState",
"type": "tuple",
"components": [
{
"internalType": "contract IPoolManager",
"name": "poolManager",
"type": "address"
},
{
"internalType": "contract IUniswapV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "availableWeth",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isWethToken0",
"type": "bool"
},
{
"internalType": "int24",
"name": "tickSpacing",
"type": "int24"
}
]
}
],
"stateMutability": "view",
"type": "function",
"name": "getPositionToBurn",
"outputs": [
{
"internalType": "struct IStrategy.LiquidityPosition",
"name": "_positionToBurn",
"type": "tuple",
"components": [
{
"internalType": "int24",
"name": "lowerTick",
"type": "int24"
},
{
"internalType": "int24",
"name": "upperTick",
"type": "int24"
},
{
"internalType": "uint128",
"name": "liquidity",
"type": "uint128"
}
]
}
]
},
{
"inputs": [
{
"internalType": "struct IStrategy.LockManagerState",
"name": "_lockManagerState",
"type": "tuple",
"components": [
{
"internalType": "contract IPoolManager",
"name": "poolManager",
"type": "address"
},
{
"internalType": "contract IUniswapV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "availableWeth",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isWethToken0",
"type": "bool"
},
{
"internalType": "int24",
"name": "tickSpacing",
"type": "int24"
}
]
}
],
"stateMutability": "view",
"type": "function",
"name": "getPositionToMint",
"outputs": [
{
"internalType": "struct IStrategy.LiquidityPosition",
"name": "_positionToMint",
"type": "tuple",
"components": [
{
"internalType": "int24",
"name": "lowerTick",
"type": "int24"
},
{
"internalType": "int24",
"name": "upperTick",
"type": "int24"
},
{
"internalType": "uint128",
"name": "liquidity",
"type": "uint128"
}
]
}
]
}
],
"devdoc": {
"kind": "dev",
"methods": {
"LOWER_BURN_DIFF()": {
"returns": {
"_lowerBurnDiff": "The tick difference"
}
},
"MAX_WETH_TO_MINT()": {
"returns": {
"_maxWethToMint": "The maximum amount of WETH that can be minted into a new position"
}
},
"MIN_WETH_TO_MINT()": {
"details": "Remember safe deployment for min width is 1 ETH these amounts are already considering the 1/2 minting",
"returns": {
"_minWethToMint": "The minimum amount of WETH that can be minted into a new position"
}
},
"PERCENT_WETH_TO_MINT()": {
"returns": {
"_percentWethToMint": "What percentage of idle WETH to use for minting"
}
},
"UPPER_BURN_DIFF()": {
"returns": {
"_upperBurnDiff": "The tick difference"
}
},
"VOLATILITY_SAFE_RANGE_MAX()": {
"returns": {
"_volatilitySafeRangeMax": "_volatilitySafeRangeMax"
}
},
"VOLATILITY_SAFE_RANGE_MIN()": {
"returns": {
"_volatilitySafeRangeMin": "_volatilitySafeRangeMin"
}
},
"getPositionToBurn((int24,int24),uint128,(address,address,uint256,bool,int24))": {
"params": {
"_position": "The position to burn, without liquidity",
"_positionLiquidity": "The liquidity in the position"
},
"returns": {
"_positionToBurn": "The position to burn, with liquidity"
}
},
"getPositionToMint((address,address,uint256,bool,int24))": {
"returns": {
"_positionToMint": "The position"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"LOWER_BURN_DIFF()": {
"notice": "How far to the right from the current tick a position should be in order to be burned"
},
"MAX_WETH_TO_MINT()": {
"notice": "The maximum amount of WETH that can be minted into a new position"
},
"MIN_WETH_TO_MINT()": {
"notice": "The miminum amount of WETH that can be minted into a new position"
},
"PERCENT_WETH_TO_MINT()": {
"notice": "50% of idle WETH per mint is used"
},
"UPPER_BURN_DIFF()": {
"notice": "How far to the left from the current tick a position should be in order to be burned"
},
"VOLATILITY_SAFE_RANGE_MAX()": {
"notice": "The bottom of the safe range for volatility"
},
"VOLATILITY_SAFE_RANGE_MIN()": {
"notice": "The top of the safe range for volatility"
},
"getPositionToBurn((int24,int24),uint128,(address,address,uint256,bool,int24))": {
"notice": "Returns the next position to burn"
},
"getPositionToMint((address,address,uint256,bool,int24))": {
"notice": "Returns the next position to mint"
}
},
"version": 1
}
},
"settings": {
"remappings": [
":@contracts/=solidity/contracts/",
":@defi-wonderland/=node_modules/@defi-wonderland/",
":@interfaces/=solidity/interfaces/",
":@openzeppelin/=node_modules/@openzeppelin/",
":@test/=solidity/test/",
":@uniswap/=node_modules/@uniswap/",
":@uniswap/v3-core/=node_modules/@uniswap/v3-core/",
":@uniswap/v3-periphery/=node_modules/@uniswap/v3-periphery/",
":base64-sol/=node_modules/base64-sol/",
":chainlink/=node_modules/chainlink/contracts/src/v0.8/",
":ds-test/=node_modules/ds-test/src/",
":forge-std/=node_modules/forge-std/src/",
":isolmate/=node_modules/@defi-wonderland/isolmate/src/",
":keep3r-v2/=node_modules/keep3r-v2/",
":keep3r/=node_modules/keep3r-v2/solidity/",
":openzeppelin-solidity/=node_modules/openzeppelin-solidity/",
":oz/=node_modules/openzeppelin-solidity/contracts/",
":uni-v3-core/=node_modules/@uniswap/v3-core/contracts/",
":uni-v3-periphery/=node_modules/@uniswap/v3-periphery/contracts/",
":weird-erc20/=node_modules/weird-erc20/src/"
],
"optimizer": {
"enabled": true,
"runs": 20000
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"solidity/interfaces/strategies/IStrategy.sol": "IStrategy"
},
"libraries": {}
},
"sources": {
"node_modules/@defi-wonderland/isolmate/src/interfaces/tokens/IERC20.sol": {
"keccak256": "0xea23a986a9efba47639b24eae7dbfd6936be01e5fc3530202fe1f4b8bb4131b8",
"urls": [
"bzz-raw://37e08545e18de038023d32de846032533af9513c0b7b84a6c5c371941b6bd5f7",
"dweb:/ipfs/QmRYNSXwiJ9wE36ogE5J77g6pbGK7T7qqqAF99DZq3eW5B"
],
"license": "AGPL-3.0-only"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": {
"keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1",
"urls": [
"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5",
"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"
],
"license": "GPL-2.0-or-later"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": {
"keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634",
"urls": [
"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5",
"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"
],
"license": "GPL-2.0-or-later"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": {
"keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5",
"urls": [
"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7",
"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"
],
"license": "GPL-2.0-or-later"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": {
"keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd",
"urls": [
"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03",
"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"
],
"license": "GPL-2.0-or-later"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": {
"keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7",
"urls": [
"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047",
"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"
],
"license": "GPL-2.0-or-later"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": {
"keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235",
"urls": [
"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735",
"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"
],
"license": "GPL-2.0-or-later"
},
"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": {
"keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f",
"urls": [
"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f",
"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"
],
"license": "GPL-2.0-or-later"
},
"node_modules/keep3r-v2/solidity/interfaces/IKeep3r.sol": {
"keccak256": "0x273a39984c1475c60182e636bb91a1b89ec98646a036cac6a87067869b3adeb9",
"urls": [
"bzz-raw://13fa95e5526a22c48222b74cbbaa2a7b80126e02112e96fec38d0d75bb20d450",
"dweb:/ipfs/QmYj3AUhMYmiG9MMqbK9VUFqgnn4X6jaZqKG5myFBYYmmv"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IBaseErrors.sol": {
"keccak256": "0x9130019a08d9eaedfb920a323fed5c7f409736cd918f1a32921c93551b3ee00e",
"urls": [
"bzz-raw://5c4ae0dc1b01e1eaf0e795631c0ae2c761b70d3aa9b6883a3948462cfecc06e6",
"dweb:/ipfs/QmaUsKrdPJqcQnVxb23f2obQyWeK2C3Nikf6LqibaqMLCz"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IDustCollector.sol": {
"keccak256": "0x38dce228111f2a3c6b26ac09c5652c3f1f184c4cfe50d11ff0958ef6a50683bb",
"urls": [
"bzz-raw://6f7bfe74d44a4b1e1e8a73892e44cb7f3a0086ae012c46e354bf1b40a16ded52",
"dweb:/ipfs/QmeP3F3i2wXRy5yzSWtazNqH8KyKdncFto8AdB9M7VfjUW"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IGovernable.sol": {
"keccak256": "0x3284624b2479bbf97c821f37c93a096dcb869b30bbf9b20d30d1800f9535452c",
"urls": [
"bzz-raw://a058f2e2d3d09fe89230e5e4292568c2a14e24a4cf953d4284daa29cf4de4fa0",
"dweb:/ipfs/QmSGL7FDT29bvfa5zvoq9PkNVWSpR6ZY523axPXoSq3u7M"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rAccountance.sol": {
"keccak256": "0xf4748c236ddf409e45e7169c735e2fc54e627b2b3ccd189ebb438ad768f1deb1",
"urls": [
"bzz-raw://ad6a28e2d17b5eed1a365f995349203053d964ad78c64eb7c0fd4eed0a202bf1",
"dweb:/ipfs/QmaLH6GkuTkLJ8AukTLXrvSDiS8KAFwDkbynPURTcsumzF"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rDisputable.sol": {
"keccak256": "0x002b9b4c75e62d48d74b6447649d39eb5c1e128d2523bb11e08e9cd3e27b1f70",
"urls": [
"bzz-raw://82c436aaecd1b3152a796c14707ac93a8d2988db101e470a8b2b84c23f3d506f",
"dweb:/ipfs/QmYUgdQFmZic2c6RUxxWNkSUvqM11B1Ti6rgFZMFRzsT7B"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rJobs.sol": {
"keccak256": "0x08915189f1a9484d17a51b7fb343b765b9edba29062bb644af9663af18f03e34",
"urls": [
"bzz-raw://f5b549c9264d1783a22c8980187c97f2bc7db30c61cd2b1652ed1b184e49d86b",
"dweb:/ipfs/QmeJR2qYWNkEM1qCwiKczQdfBpXUp45rS3o8Zf43AKoSaR"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rKeepers.sol": {
"keccak256": "0xc95e6bba82a8371c6bd15a8e9d0df91c826b5050b8ee01d913c1c13a4e92a49b",
"urls": [
"bzz-raw://370a48951cc8c8d1b96507683dbf8f798605867388e6f50e29e1741a8873d46d",
"dweb:/ipfs/QmVD8zzzcaUUxrVrodoPfHV5zdXqt6ZXKfSshy43gWwsNt"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rParameters.sol": {
"keccak256": "0x942f99c6e3b229a551faaae8f03000b934b20502a7cfade14780508201fd098e",
"urls": [
"bzz-raw://b994c19a217b30352f7a6ca67044bde835d06ddfe51a6b651076d99a7214e1b0",
"dweb:/ipfs/Qmdb1gc4xtQLSa3nLuen8GK7esb8tj3KgmYvzY2ovvraw1"
],
"license": "MIT"
},
"node_modules/keep3r-v2/solidity/interfaces/peripherals/IKeep3rRoles.sol": {
"keccak256": "0xe6eca166cf6ad99e5379d754030222873bb9868ff3e2a76de815a438ead533a2",
"urls": [
"bzz-raw://7d5036cc038714163c3c79479fe00ff0070e5a0a155e00e562d1d645a636b76b",
"dweb:/ipfs/QmSZPJntRruGnXFEYuUrBrUSfqDDzJ5awMXx2r1nyDAQbd"
],
"license": "MIT"
},
"solidity/interfaces/IFeeManager.sol": {
"keccak256": "0x601f6a0b64273647af20e1c59aeffe2086be4c4978773d0adf7c2bfe41c2c727",
"urls": [
"bzz-raw://e2c4dc963c1c515fa7ef18bce567fcee6e7acf895031adcfe3fdeb8f7e37caed",
"dweb:/ipfs/QmWsu86sEAFS2egVJiYSvykcKv9fUfscepuKTfVsat8Bok"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/ILockManager.sol": {
"keccak256": "0xa232140a3c96344e2143d9e7c465097c77304b12c5267fb9e7c22ca467c11b57",
"urls": [
"bzz-raw://59e01db60aef7cb9add55070a96a0dfc297d83b99f70562e986e385d3cdb8da8",
"dweb:/ipfs/QmaAHyD6swNuF5gYsxpyhyzxq11bMUwFUYQZiAezX98JTX"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/ILockManagerFactory.sol": {
"keccak256": "0xae1530bf74a0d9f1e71abec4cce3462b46ad53b067ef0022795929953b23f817",
"urls": [
"bzz-raw://2505cbc50886430000811c75a4ed31c8392f8b476c1d43720bd1aa63ae2a090b",
"dweb:/ipfs/QmPaN3AkvGVaQYdwMDeGjJrYkEqpmfHWvb4xfG2ZuftSER"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/ILockManagerGovernor.sol": {
"keccak256": "0x6dbdf9194a2a45a434fd31cc62acff5003d53a949baef6a454d5dea97dd29ea3",
"urls": [
"bzz-raw://6dc8fe41a53db8c09982e78c88036dcc9c9c2bcb45a4d766b40b631a8df33f5b",
"dweb:/ipfs/QmcFq2LTpZT7ZzNw6VBkXbSLuuX9LGcshzjP7xX9Bzr2cS"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/IPoolManager.sol": {
"keccak256": "0xf795ff3abbe3b2b4def474a505e78569d41086da3f6d439f732b9ee5295ba49d",
"urls": [
"bzz-raw://62041119416c6418fec45bbaca62fba107acda209dd12ef040a8dab1b65d3878",
"dweb:/ipfs/QmbB2BeWsmHRRxbeQY7XNQekcaJP9j97n9juXU7khsUzgN"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/IPoolManagerDeployer.sol": {
"keccak256": "0xbc4c205c007a713aa9c166982ce77f208456749f437cc782d6500d6f456f4113",
"urls": [
"bzz-raw://70e7239fa222d567ac9851d971c7cbb5ee3ebfa52fd04692db4feb0e21350016",
"dweb:/ipfs/QmZhFWjSSjYNbggeeo4cUhxinX9vGPAGuUkMqMVxZmnd9D"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/IPoolManagerFactory.sol": {
"keccak256": "0x0aea0b427578023099fb9a1bf09a20762c1c958ef5859c762fc673d3314e97cd",
"urls": [
"bzz-raw://b8fc29e8f15ef3eaa6262189ac28960c7960e52d2a8de23d6451e3189ae80cc9",
"dweb:/ipfs/QmYKicDyJi2Lw8YuY92SFyBzfDmvBGuECpH6mm15wbi7J3"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/IPoolManagerGovernor.sol": {
"keccak256": "0x67020a4d2879b26138ffe80168e12caeacb0cdc3852de452a35946a0bab3ff13",
"urls": [
"bzz-raw://c6b07c8f824577fce45baaf9a1643b7c1a51398396a47e08306eef8ccdfe87ba",
"dweb:/ipfs/QmbeATmPW1T9GyrbguSkEkPKJLUS4ALH5BFLs1n38PZnuv"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/jobs/ICardinalityJob.sol": {
"keccak256": "0xb2ea5ab5837457a18099b93596d0bb21d0eba97679219332b2c600027acb7efc",
"urls": [
"bzz-raw://36a717206961aa821014c799c45e5d4987042f0447f2da70b0b26e6e348cc4c8",
"dweb:/ipfs/QmR4E7L8smEL7KrGRCXaXoP45P3C9AmHopgnvhZQhrFEAY"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/jobs/IFeeCollectorJob.sol": {
"keccak256": "0x719f4225d74474973cb4c58a524661dd5b0d437c17258f7be1f028377a2a1ed2",
"urls": [
"bzz-raw://e414800cc7c4c064caa2e57f243a15ec88a4fa72919d568da944e30a176353e7",
"dweb:/ipfs/QmRpJdh9C5TCArQPYD2qq1tjNeaQVUHGhRh9YtsdxqAreh"
],
"license": "AGPL-3.0-only"
},
"solidity/interfaces/jobs/IKeep3rJob.sol": {
"keccak256": "0x537540063984e38ff186592936016ac3b452a21da322ae8fb9bf173b8c2fabe8",
"urls"