diff --git a/deployments/bsc/UniV4HelperV2.json b/deployments/bsc/UniV4HelperV2.json new file mode 100644 index 0000000..77a4deb --- /dev/null +++ b/deployments/bsc/UniV4HelperV2.json @@ -0,0 +1,89 @@ +{ + "address": "0x66D4E761332e6f78B7Ad9Ef89D0F07FfF8d4472e", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IPoolManager", + "name": "_poolManager", + "type": "address" + }, + { + "internalType": "contract IStateView", + "name": "_stateView", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "poolId", + "type": "bytes32" + }, + { + "internalType": "int24", + "name": "tickRange", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + } + ], + "name": "getTicks", + "outputs": [ + { + "internalType": "bytes[]", + "name": "ticks", + "type": "bytes[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "transactionHash": "0x77cd971e403035b8c53501d4979b71cb3967d29e52b68117621feba29a3f65e4", + "receipt": { + "to": null, + "from": "0x56E44874F624EbDE6efCc783eFD685f0FBDC6dcF", + "contractAddress": "0x66D4E761332e6f78B7Ad9Ef89D0F07FfF8d4472e", + "transactionIndex": 103, + "gasUsed": "760164", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x17974dbcb44adbbec7f41cb3535c2d533843c5918a287e7ba6dbf06a697ee202", + "transactionHash": "0x77cd971e403035b8c53501d4979b71cb3967d29e52b68117621feba29a3f65e4", + "logs": [], + "blockNumber": 62161675, + "cumulativeGasUsed": "16782694", + "status": 1, + "byzantium": true + }, + "args": [ + "0x28e2ea090877bf75740558f6bfb36a5ffee9e9df", + "0xd13dd3d6e93f276fafc9db9e6bb47c1180aee0c4" + ], + "numDeployments": 1, + "solcInputHash": "8a3ef0f4c8cd0928bd12f87997af679f", + "metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"_poolManager\",\"type\":\"address\"},{\"internalType\":\"contract IStateView\",\"name\":\"_stateView\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"int24\",\"name\":\"tickRange\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"getTicks\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"ticks\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/UniV4HelperV2.sol\":\"UniV4HelperV2\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@uniswap/v3-core/contracts/libraries/BitMath.sol\":{\"content\":\"// SPDX-License-Identifier: GPL-2.0-or-later\\npragma solidity >=0.5.0;\\n\\n/// @title BitMath\\n/// @dev This library provides functionality for computing bit properties of an unsigned integer\\nlibrary BitMath {\\n /// @notice Returns the index of the most significant bit of the number,\\n /// where the least significant bit is at index 0 and the most significant bit is at index 255\\n /// @dev The function satisfies the property:\\n /// x >= 2**mostSignificantBit(x) and x < 2**(mostSignificantBit(x)+1)\\n /// @param x the value for which to compute the most significant bit, must be greater than 0\\n /// @return r the index of the most significant bit\\n function mostSignificantBit(uint256 x) internal pure returns (uint8 r) {\\n require(x > 0);\\n\\n if (x >= 0x100000000000000000000000000000000) {\\n x >>= 128;\\n r += 128;\\n }\\n if (x >= 0x10000000000000000) {\\n x >>= 64;\\n r += 64;\\n }\\n if (x >= 0x100000000) {\\n x >>= 32;\\n r += 32;\\n }\\n if (x >= 0x10000) {\\n x >>= 16;\\n r += 16;\\n }\\n if (x >= 0x100) {\\n x >>= 8;\\n r += 8;\\n }\\n if (x >= 0x10) {\\n x >>= 4;\\n r += 4;\\n }\\n if (x >= 0x4) {\\n x >>= 2;\\n r += 2;\\n }\\n if (x >= 0x2) r += 1;\\n }\\n\\n /// @notice Returns the index of the least significant bit of the number,\\n /// where the least significant bit is at index 0 and the most significant bit is at index 255\\n /// @dev The function satisfies the property:\\n /// (x & 2**leastSignificantBit(x)) != 0 and (x & (2**(leastSignificantBit(x)) - 1)) == 0)\\n /// @param x the value for which to compute the least significant bit, must be greater than 0\\n /// @return r the index of the least significant bit\\n function leastSignificantBit(uint256 x) internal pure returns (uint8 r) {\\n require(x > 0);\\n\\n r = 255;\\n if (x & type(uint128).max > 0) {\\n r -= 128;\\n } else {\\n x >>= 128;\\n }\\n if (x & type(uint64).max > 0) {\\n r -= 64;\\n } else {\\n x >>= 64;\\n }\\n if (x & type(uint32).max > 0) {\\n r -= 32;\\n } else {\\n x >>= 32;\\n }\\n if (x & type(uint16).max > 0) {\\n r -= 16;\\n } else {\\n x >>= 16;\\n }\\n if (x & type(uint8).max > 0) {\\n r -= 8;\\n } else {\\n x >>= 8;\\n }\\n if (x & 0xf > 0) {\\n r -= 4;\\n } else {\\n x >>= 4;\\n }\\n if (x & 0x3 > 0) {\\n r -= 2;\\n } else {\\n x >>= 2;\\n }\\n if (x & 0x1 > 0) r -= 1;\\n }\\n}\\n\",\"keccak256\":\"0x82e425066110aac05ed8a9fc90f9ee85142b6f434769447e49d4438a8d9fcd82\",\"license\":\"GPL-2.0-or-later\"},\"contracts/UniV4HelperV2.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity 0.8.23;\\n\\nimport \\\"@uniswap/v3-core/contracts/libraries/BitMath.sol\\\";\\n\\ninterface IStateView {\\n function getSlot0(bytes32 poolId) external view returns (uint160 sqrtPriceX96, int24 tick, uint24 protocolFee, uint24 lpFee);\\n function getTickBitmap(bytes32 poolId, int16 tick) external view returns (uint256 tickBitmap);\\n function getTickInfo(bytes32 poolId, int24 tick) external view returns (\\n uint128 liquidityGross,\\n int128 liquidityNet,\\n uint256 feeGrowthOutside0X128,\\n uint256 feeGrowthOutside1X128\\n );\\n}\\n\\ninterface IPoolManager {\\n function extsload(bytes32 startSlot, uint256 nSlots) external view returns (bytes32[] memory);\\n}\\n\\ncontract UniV4HelperV2 {\\n uint256 private constant _TICKS_OFFSET = 4;\\n bytes32 private constant _POOLS_SLOT = bytes32(uint256(6));\\n int24 private constant _MIN_TICK = -887272;\\n int24 private constant _MAX_TICK = -_MIN_TICK;\\n IPoolManager private immutable _POOL_MANAGER;\\n IStateView private immutable _STATE_VIEW;\\n\\n constructor(IPoolManager _poolManager, IStateView _stateView) {\\n _POOL_MANAGER = _poolManager;\\n _STATE_VIEW = _stateView;\\n }\\n\\n function _getTickInfoSlot(bytes32 poolId, int24 tick) internal pure returns (bytes32) {\\n bytes32 stateSlot = keccak256(abi.encodePacked(poolId, _POOLS_SLOT));\\n bytes32 ticksMappingSlot = bytes32(uint256(stateSlot) + _TICKS_OFFSET);\\n return keccak256(abi.encodePacked(int256(tick), ticksMappingSlot));\\n }\\n\\n function getTicks(bytes32 poolId, int24 tickRange, int24 tickSpacing) external view returns (bytes[] memory ticks) {\\n (,int24 tick,,) = _STATE_VIEW.getSlot0(poolId);\\n tickRange *= tickSpacing;\\n int24 fromTick = tick - tickRange;\\n int24 toTick = tick + tickRange;\\n if (fromTick < _MIN_TICK) {\\n fromTick = _MIN_TICK;\\n }\\n if (toTick > _MAX_TICK) {\\n toTick = _MAX_TICK;\\n }\\n int24[] memory initTicks = new int24[](uint256(int256((toTick - fromTick + 1) / tickSpacing)));\\n uint256 counter = 0;\\n int16 pos = int16((fromTick / tickSpacing) >> 8);\\n int16 endPos = int16((toTick / tickSpacing) >> 8);\\n for (; pos <= endPos; pos++) {\\n uint256 bm = _STATE_VIEW.getTickBitmap(poolId, pos);\\n while (bm != 0) {\\n uint8 bit = BitMath.leastSignificantBit(bm);\\n bm ^= 1 << bit;\\n int24 extractedTick = ((int24(pos) << 8) | int24(uint24(bit))) * tickSpacing;\\n if (extractedTick >= fromTick && extractedTick <= toTick) {\\n initTicks[counter++] = extractedTick;\\n }\\n }\\n }\\n ticks = new bytes[](counter);\\n for (uint256 i = 0; i < counter; i++) {\\n bytes32 slot = _getTickInfoSlot(poolId, initTicks[i]);\\n bytes32[] memory data = _POOL_MANAGER.extsload(slot, 3);\\n ticks[i] = abi.encodePacked(data[0], data[1], data[2], initTicks[i]);\\n }\\n return(ticks);\\n }\\n}\\n\",\"keccak256\":\"0x092188a85f91c037bde2af3852b533d3c27e60ab7581b221f5e805174f96641b\",\"license\":\"MIT\"}},\"version\":1}", + "bytecode": "0x60c03461008b57601f610d6a38819003918201601f19168301916001600160401b0383118484101761008f57808492604094855283398101031261008b5780516001600160a01b0391828216820361008b5760200151918216820361008b5760805260a052604051610cc690816100a4823960805181610890015260a05181818160b7015261027a0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c63f72fac7a14610025575f80fd5b346106a35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a3576024358060020b81036106a35760443560020b604435036106a3577fc815641c000000000000000000000000000000000000000000000000000000008252600435600483015260808260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106af575f92610a9f575b506100f59060443590610b89565b906101008282610ba0565b9160020b9060020b01907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000627fffff818412818513176102c957837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618808560020b12610a97575b50620d89e8809160020b13610a8f575b5060016101848486610ba0565b60020b01918212908213176102c9576101a09060443590610bda565b60020b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101e66101d083610c64565b926101de6040519485610b38565b808452610c64565b013660208301375f906101fb60443584610bda565b60020b60081d60010b9361021160443582610bda565b60020b60081d60010b945b858160010b136106ba576040517f1c7ccb4c00000000000000000000000000000000000000000000000000000000815260043560048201528160010b602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106af575f91610679575b50805b6102f65750617fff8160010b146102c957600190810b0161021c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8060ff6fffffffffffffffffffffffffffffffff82161561066d5750607f5b67ffffffffffffffff8316156106635760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc081831601116102c95760ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0015b63ffffffff8316156106595760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081831601116102c95760ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b61ffff83161561064f5760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff081831601116102c95760ff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0015b60ff8316156106455760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff881831601116102c95760ff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8015b600f83161561063b5760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc81831601116102c95760ff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc015b600383161561062f5760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81831601116102c9577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff6001921601925b166105d7575b61057090600160ff84161b189160ff604435911660020b8460081b60020b17610b89565b60020b8660020b811215806105ca575b61058c575b50806102ad565b85907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82146102c9576105c460018493019787610c7c565b52610585565b508360020b811315610580565b9060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81831601116102c95760ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061054c565b9160019060021c610546565b9160041c916104e7565b9160081c9161048c565b9160101c91610431565b9160201c916103d5565b9160401c91610377565b91508060801c91610315565b90506020813d6020116106a7575b8161069460209383610b38565b810103126106a357515f6102aa565b5f80fd5b3d9150610687565b6040513d5f823e3d90fd5b50506106c582610c64565b916106d36040519384610b38565b8083526106df81610c64565b5f5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082018110610a5b5750505f5b8181106107e1578360405160208101916020825280518093526040820192602060408260051b8501019201905f945b81861061074a5784840385f35b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc085820301825283518051908183525f5b8281106107cc575050602080837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f855f85809860019a010152011601019501920195019491909161073d565b8060208092840101518282870101520161077e565b6107eb8184610c7c565b5160020b60405160208101906004358252600660408201526040815261081081610b1c565b5190206004810181116102c957600460405191602083019384520160408201526040815261083d81610b1c565b51902090604051917f35fd631a0000000000000000000000000000000000000000000000000000000083526004830152600360248301525f8260448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106af575f926109b0575b50815115610983576020820151918051600110156109835760408101519080516002101561098357606001516108f68387610c7c565b51916040519460208601526040850152606084015260e81b6080830152606382528160a081011067ffffffffffffffff60a084011117610956578160a0600193016040526109448287610c7c565b5261094f8186610c7c565b500161070e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9091503d90815f823e6109c38282610b38565b60208183810103126106a35780519167ffffffffffffffff83116106a357808201601f8484010112156106a35782820151916109fe83610c64565b93610a0c6040519586610b38565b8385526020850192820160208560051b8385010101116106a357602081830101925b60208560051b83850101018410610a4b57505050505090856108c0565b8351815260209384019301610a2e565b6020816060827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094890101520190506106e1565b93505f610177565b93505f610167565b9091506080813d608011610b14575b81610abb60809383610b38565b810103126106a357805173ffffffffffffffffffffffffffffffffffffffff8116036106a35760208101518060020b81036106a357610b0c606083610b0560406100f59601610b79565b5001610b79565b5091906100e7565b3d9150610aae565b6060810190811067ffffffffffffffff82111761095657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761095657604052565b519062ffffff821682036106a357565b9060020b9060020b02908160020b9182036102c957565b9060020b9060020b0390627fffff82137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008312176102c957565b60020b9060020b908115610c37577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008214166102c9570590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b67ffffffffffffffff81116109565760051b60200190565b80518210156109835760209160051b01019056fea2646970667358221220ab8d7a2387315a163b0fb4569c0c3ab9736b65a299ed80617a32c402403b3d7164736f6c63430008170033", + "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c63f72fac7a14610025575f80fd5b346106a35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a3576024358060020b81036106a35760443560020b604435036106a3577fc815641c000000000000000000000000000000000000000000000000000000008252600435600483015260808260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106af575f92610a9f575b506100f59060443590610b89565b906101008282610ba0565b9160020b9060020b01907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000627fffff818412818513176102c957837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618808560020b12610a97575b50620d89e8809160020b13610a8f575b5060016101848486610ba0565b60020b01918212908213176102c9576101a09060443590610bda565b60020b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101e66101d083610c64565b926101de6040519485610b38565b808452610c64565b013660208301375f906101fb60443584610bda565b60020b60081d60010b9361021160443582610bda565b60020b60081d60010b945b858160010b136106ba576040517f1c7ccb4c00000000000000000000000000000000000000000000000000000000815260043560048201528160010b602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106af575f91610679575b50805b6102f65750617fff8160010b146102c957600190810b0161021c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8060ff6fffffffffffffffffffffffffffffffff82161561066d5750607f5b67ffffffffffffffff8316156106635760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc081831601116102c95760ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0015b63ffffffff8316156106595760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081831601116102c95760ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b61ffff83161561064f5760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff081831601116102c95760ff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0015b60ff8316156106455760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff881831601116102c95760ff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8015b600f83161561063b5760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc81831601116102c95760ff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc015b600383161561062f5760ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81831601116102c9577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff6001921601925b166105d7575b61057090600160ff84161b189160ff604435911660020b8460081b60020b17610b89565b60020b8660020b811215806105ca575b61058c575b50806102ad565b85907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82146102c9576105c460018493019787610c7c565b52610585565b508360020b811315610580565b9060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81831601116102c95760ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061054c565b9160019060021c610546565b9160041c916104e7565b9160081c9161048c565b9160101c91610431565b9160201c916103d5565b9160401c91610377565b91508060801c91610315565b90506020813d6020116106a7575b8161069460209383610b38565b810103126106a357515f6102aa565b5f80fd5b3d9150610687565b6040513d5f823e3d90fd5b50506106c582610c64565b916106d36040519384610b38565b8083526106df81610c64565b5f5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082018110610a5b5750505f5b8181106107e1578360405160208101916020825280518093526040820192602060408260051b8501019201905f945b81861061074a5784840385f35b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc085820301825283518051908183525f5b8281106107cc575050602080837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f855f85809860019a010152011601019501920195019491909161073d565b8060208092840101518282870101520161077e565b6107eb8184610c7c565b5160020b60405160208101906004358252600660408201526040815261081081610b1c565b5190206004810181116102c957600460405191602083019384520160408201526040815261083d81610b1c565b51902090604051917f35fd631a0000000000000000000000000000000000000000000000000000000083526004830152600360248301525f8260448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106af575f926109b0575b50815115610983576020820151918051600110156109835760408101519080516002101561098357606001516108f68387610c7c565b51916040519460208601526040850152606084015260e81b6080830152606382528160a081011067ffffffffffffffff60a084011117610956578160a0600193016040526109448287610c7c565b5261094f8186610c7c565b500161070e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9091503d90815f823e6109c38282610b38565b60208183810103126106a35780519167ffffffffffffffff83116106a357808201601f8484010112156106a35782820151916109fe83610c64565b93610a0c6040519586610b38565b8385526020850192820160208560051b8385010101116106a357602081830101925b60208560051b83850101018410610a4b57505050505090856108c0565b8351815260209384019301610a2e565b6020816060827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094890101520190506106e1565b93505f610177565b93505f610167565b9091506080813d608011610b14575b81610abb60809383610b38565b810103126106a357805173ffffffffffffffffffffffffffffffffffffffff8116036106a35760208101518060020b81036106a357610b0c606083610b0560406100f59601610b79565b5001610b79565b5091906100e7565b3d9150610aae565b6060810190811067ffffffffffffffff82111761095657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761095657604052565b519062ffffff821682036106a357565b9060020b9060020b02908160020b9182036102c957565b9060020b9060020b0390627fffff82137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008312176102c957565b60020b9060020b908115610c37577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008214166102c9570590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b67ffffffffffffffff81116109565760051b60200190565b80518210156109835760209160051b01019056fea2646970667358221220ab8d7a2387315a163b0fb4569c0c3ab9736b65a299ed80617a32c402403b3d7164736f6c63430008170033", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + }, + "storageLayout": { + "storage": [], + "types": null + } +} \ No newline at end of file diff --git a/package.json b/package.json index b841744..7aa4fe8 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "license": "MIT", "dependencies": { - "@1inch/solidity-utils": "6.5.0", + "@1inch/solidity-utils": "6.7.0", "@openzeppelin/contracts": "5.1.0", "@uniswap/v3-core": "1.0.1" }, @@ -17,7 +17,7 @@ "@matterlabs/hardhat-zksync-solc": "1.2.5", "@matterlabs/hardhat-zksync-verify": "1.7.0", "@nomicfoundation/hardhat-ethers": "3.0.8", - "@nomicfoundation/hardhat-verify": "2.0.12", + "@nomicfoundation/hardhat-verify": "2.0.14", "chai": "4.5.0", "dotenv": "16.4.7", "eslint": "8.56.0", diff --git a/yarn.lock b/yarn.lock index ef417ce..9df9936 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@1inch/solidity-utils@6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@1inch/solidity-utils/-/solidity-utils-6.5.0.tgz#16c5087dfa1f201a872b25b1905a301d54928ce2" - integrity sha512-6QbHTsS31ZDmRouCw8g6173N8QZW0/FSckRVdXebBYYaCis+a/fNqA8skn/e2Z61kzEWGdGfr/nrdKIsALBTXw== +"@1inch/solidity-utils@6.7.0": + version "6.7.0" + resolved "https://registry.yarnpkg.com/@1inch/solidity-utils/-/solidity-utils-6.7.0.tgz#7267d5372b72cb59d209e120c741f91e138fb0ae" + integrity sha512-LCxxB8pYQH27Edq/vM/UVJSUgRJ+9cxURrsksWNZZtk5wUOHpLBuygbubMkZWfMYU96rM+qtFFndgr2aF4Wi8Q== dependencies: "@metamask/eth-sig-util" "8.0.0" "@nomicfoundation/hardhat-ethers" "3.0.8" @@ -1604,22 +1604,7 @@ table "^6.8.0" undici "^5.14.0" -"@nomicfoundation/hardhat-verify@2.0.12": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.12.tgz#480819a245a2db0b127e473c62079f7b4f16daa8" - integrity sha512-Lg3Nu7DCXASQRVI/YysjuAX2z8jwOCbS0w5tz2HalWGSTZThqA0v9N0v0psHbKNqzPJa8bNOeapIVSziyJTnAg== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@ethersproject/address" "^5.0.2" - cbor "^8.1.0" - debug "^4.1.1" - lodash.clonedeep "^4.5.0" - picocolors "^1.1.0" - semver "^6.3.0" - table "^6.8.0" - undici "^5.14.0" - -"@nomicfoundation/hardhat-verify@^2.0.8": +"@nomicfoundation/hardhat-verify@2.0.14", "@nomicfoundation/hardhat-verify@^2.0.8": version "2.0.14" resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.14.tgz#ba80918fac840f1165825f2a422a694486f82f6f" integrity sha512-z3iVF1WYZHzcdMMUuureFpSAfcnlfJbJx3faOnGrOYg6PRTki1Ut9JAuRccnFzMHf1AmTEoSUpWcyvBCoxL5Rg==