UNPKG

@uniswap/v4-core

Version:

🦄 Core smart contracts of Uniswap v4

1 lines • 43.6 kB
{"abi":[{"type":"function","name":"getGasCostOfShouldCall","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getGasCostOfValidateHookAddress","inputs":[{"name":"hookAddress","type":"address","internalType":"address"},{"name":"params","type":"tuple","internalType":"struct Hooks.Permissions","components":[{"name":"beforeInitialize","type":"bool","internalType":"bool"},{"name":"afterInitialize","type":"bool","internalType":"bool"},{"name":"beforeAddLiquidity","type":"bool","internalType":"bool"},{"name":"afterAddLiquidity","type":"bool","internalType":"bool"},{"name":"beforeRemoveLiquidity","type":"bool","internalType":"bool"},{"name":"afterRemoveLiquidity","type":"bool","internalType":"bool"},{"name":"beforeSwap","type":"bool","internalType":"bool"},{"name":"afterSwap","type":"bool","internalType":"bool"},{"name":"beforeDonate","type":"bool","internalType":"bool"},{"name":"afterDonate","type":"bool","internalType":"bool"},{"name":"beforeSwapReturnDelta","type":"bool","internalType":"bool"},{"name":"afterSwapReturnDelta","type":"bool","internalType":"bool"},{"name":"afterAddLiquidityReturnDelta","type":"bool","internalType":"bool"},{"name":"afterRemoveLiquidityReturnDelta","type":"bool","internalType":"bool"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isValidHookAddress","inputs":[{"name":"hookAddress","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallAfterAddLiquidity","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallAfterDonate","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallAfterInitialize","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallAfterRemoveLiquidity","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallAfterSwap","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallBeforeAddLiquidity","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallBeforeDonate","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallBeforeInitialize","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallBeforeRemoveLiquidity","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"shouldCallBeforeSwap","inputs":[{"name":"hookAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"validateHookPermissions","inputs":[{"name":"hookAddress","type":"address","internalType":"address"},{"name":"params","type":"tuple","internalType":"struct Hooks.Permissions","components":[{"name":"beforeInitialize","type":"bool","internalType":"bool"},{"name":"afterInitialize","type":"bool","internalType":"bool"},{"name":"beforeAddLiquidity","type":"bool","internalType":"bool"},{"name":"afterAddLiquidity","type":"bool","internalType":"bool"},{"name":"beforeRemoveLiquidity","type":"bool","internalType":"bool"},{"name":"afterRemoveLiquidity","type":"bool","internalType":"bool"},{"name":"beforeSwap","type":"bool","internalType":"bool"},{"name":"afterSwap","type":"bool","internalType":"bool"},{"name":"beforeDonate","type":"bool","internalType":"bool"},{"name":"afterDonate","type":"bool","internalType":"bool"},{"name":"beforeSwapReturnDelta","type":"bool","internalType":"bool"},{"name":"afterSwapReturnDelta","type":"bool","internalType":"bool"},{"name":"afterAddLiquidityReturnDelta","type":"bool","internalType":"bool"},{"name":"afterRemoveLiquidityReturnDelta","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"pure"}],"bytecode":{"object":"0x60808060405234601557610a50908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081631248f3ff1461057d5750806318f293251461052c5780632edde064146104db57806358372dfd1461045457806369d7482714610404578063802d8a151461039157806395ab7a8114610340578063baecba01146102f0578063c444948f146102ab578063c93db47b1461025c578063d7408d4a1461020b578063d87d83c014610169578063db196143146101185763ddf28096146100b6575f80fd5b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576020601073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b161615156040519015158152f35b5f80fd5b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061100073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b34610114576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576101a16105d7565b6101c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610114576102036020916101fc5a9173ffffffffffffffffffffffffffffffffffffffff6101f5366105fa565b91166107a6565b5a9061076c565b604051908152f35b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061020073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101145760208073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576102e26105d7565b5060206102035a5a9061076c565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576020604073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061080073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576103c86105d7565b6024359062ffffff821682036101145760209173ffffffffffffffffffffffffffffffffffffffff6103fa9216610985565b6040519015158152f35b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576020608073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b34610114576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101145761048c6105d7565b6101c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610114576104d99073ffffffffffffffffffffffffffffffffffffffff6101f5366105fa565b005b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061200073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061010073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101145760209061040073ffffffffffffffffffffffffffffffffffffffff6105cf6105d7565b161615158152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011457565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc6101c091011261011457604051906101c0820182811067ffffffffffffffff82111761073f5760405281602435801515810361011457815260443580151581036101145760208201526064358015158103610114576040820152608435801515810361011457606082015260a435801515810361011457608082015260c43580151581036101145760a082015260e43580151581036101145760c08201526101043580151581036101145760e0820152610124358015158103610114576101008201526101443580151581036101145761012082015261016435801515810361011457610140820152610184358015158103610114576101608201526101a4358015158103610114576101808201526101c435908115158203610114576101a00152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9190820391821161077957565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9080511515612000831615151515149081159161096e575b8115610957575b8115610940575b8115610929575b8115610912575b81156108fc575b81156108e6575b81156108cf575b81156108b8575b81156108a1575b811561088a575b8115610873575b811561085c575b5061081a5750565b73ffffffffffffffffffffffffffffffffffffffff907fe65af6a0000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6101a001511515600183161515141590505f610812565b61018081015115156002841615151415915061080b565b610160810151151560048416151514159150610804565b6101408101511515600884161515141591506107fd565b6101208101511515601084161515141591506107f6565b6101008101511515602084161515141591506107ef565b60e08101511515604084161515141591506107e8565b60c08101511515608084161515141591506107e1565b60a0810151151561010084161515141591506107da565b6080810151151561020084161515141591506107d3565b6060810151151561040084161515141591506107cc565b6040810151151561080084161515141591506107c5565b6020810151151561100084161515141591506107be565b608081161580610a37575b610a0d57604081161580610a2b575b610a0d5761040081161580610a1f575b610a0d5761010081161580610a13575b610a0d5773ffffffffffffffffffffffffffffffffffffffff81166109ed575062ffffff1662800000141590565b613fff1615908115916109fe575090565b62800000915062ffffff161490565b50505f90565b506001811615156109bf565b506002811615156109af565b5060048116151561099f565b5060088116151561099056fea164736f6c634300081a000a","sourceMap":"161:2712:78:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081631248f3ff1461057d5750806318f293251461052c5780632edde064146104db57806358372dfd1461045457806369d7482714610404578063802d8a151461039157806395ab7a8114610340578063baecba01146102f0578063c444948f146102ab578063c93db47b1461025c578063d7408d4a1461020b578063d87d83c014610169578063db196143146101185763ddf28096146100b6575f80fd5b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576020601073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b161615156040519015158152f35b5f80fd5b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061100073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b34610114576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576101a16105d7565b6101c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610114576102036020916101fc5a9173ffffffffffffffffffffffffffffffffffffffff6101f5366105fa565b91166107a6565b5a9061076c565b604051908152f35b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061020073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101145760208073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576102e26105d7565b5060206102035a5a9061076c565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576020604073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061080073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576103c86105d7565b6024359062ffffff821682036101145760209173ffffffffffffffffffffffffffffffffffffffff6103fa9216610985565b6040519015158152f35b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610114576020608073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b34610114576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101145761048c6105d7565b6101c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610114576104d99073ffffffffffffffffffffffffffffffffffffffff6101f5366105fa565b005b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061200073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011457602061010073ffffffffffffffffffffffffffffffffffffffff6101066105d7565b346101145760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101145760209061040073ffffffffffffffffffffffffffffffffffffffff6105cf6105d7565b161615158152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011457565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc6101c091011261011457604051906101c0820182811067ffffffffffffffff82111761073f5760405281602435801515810361011457815260443580151581036101145760208201526064358015158103610114576040820152608435801515810361011457606082015260a435801515810361011457608082015260c43580151581036101145760a082015260e43580151581036101145760c08201526101043580151581036101145760e0820152610124358015158103610114576101008201526101443580151581036101145761012082015261016435801515810361011457610140820152610184358015158103610114576101608201526101a4358015158103610114576101808201526101c435908115158203610114576101a00152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9190820391821161077957565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9080511515612000831615151515149081159161096e575b8115610957575b8115610940575b8115610929575b8115610912575b81156108fc575b81156108e6575b81156108cf575b81156108b8575b81156108a1575b811561088a575b8115610873575b811561085c575b5061081a5750565b73ffffffffffffffffffffffffffffffffffffffff907fe65af6a0000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6101a001511515600183161515141590505f610812565b61018081015115156002841615151415915061080b565b610160810151151560048416151514159150610804565b6101408101511515600884161515141591506107fd565b6101208101511515601084161515141591506107f6565b6101008101511515602084161515141591506107ef565b60e08101511515604084161515141591506107e8565b60c08101511515608084161515141591506107e1565b60a0810151151561010084161515141591506107da565b6080810151151561020084161515141591506107d3565b6060810151151561040084161515141591506107cc565b6040810151151561080084161515141591506107c5565b6020810151151561100084161515141591506107be565b608081161580610a37575b610a0d57604081161580610a2b575b610a0d5761040081161580610a1f575b610a0d5761010081161580610a13575b610a0d5773ffffffffffffffffffffffffffffffffffffffff81166109ed575062ffffff1662800000141590565b613fff1615908115916109fe575090565b62800000915062ffffff161490565b50505f90565b506001811615156109bf565b506002811615156109af565b5060048116151561099f565b5060088116151561099056fea164736f6c634300081a000a","sourceMap":"161:2712:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16467:29:50;:34;;161:2712:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;2843:21;161:2712;2756:9;2775:51;2756:9;161:2712;;;;;:::i;:::-;;;2775:51;:::i;:::-;2855:9;2843:21;;:::i;:::-;161:2712;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;2535:21;2442:9;2547;2535:21;;:::i;161:2712::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;499:43;161:2712;;499:43;:::i;:::-;161:2712;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;328:51;161:2712;;;;;:::i;328:51::-;161:2712;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;16467:29:50;:34;;161:2712:78;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;161:2712:78;;;;;-1:-1:-1;161:2712:78;;;;;;;;;;;:::o;:::-;;;;;;;;;;3610:1599:50;;161:2712:78;;;;;16467:29:50;;:34;;161:2712:78;;3729:74:50;;;;:166;;;3610:1599;3729:265;;;;3610:1599;3729:362;;;;3610:1599;3729:467;;;;3610:1599;3729:570;;;;3610:1599;3729:652;;;;3610:1599;3729:732;;;;3610:1599;3729:818;;;;3610:1599;3729:902;;;;3610:1599;3729:1009;;;;3610:1599;3729:1114;;;;3610:1599;3729:1236;;;;3610:1599;3729:1384;;;;3610:1599;3712:1491;;;3610:1599;:::o;3712:1491::-;161:2712:78;1084:176:46;5138:28:50;-1:-1:-1;1084:176:46;161:2712:78;1084:176:46;;;-1:-1:-1;1084:176:46;3729:1384:50;4985:43;;161:2712:78;;;;16467:29:50;;:34;;4985:128;;;-1:-1:-1;3729:1384:50;;;:1236;4863:40;;;161:2712:78;;;;16467:29:50;;:34;;4863:102;;;-1:-1:-1;3729:1236:50;;:1114;4758:32;;;161:2712:78;;;;16467:29:50;;:34;;4758:85;;;-1:-1:-1;3729:1114:50;;:1009;4651:33;;;161:2712:78;;;;16467:29:50;;:34;;4651:87;;;-1:-1:-1;3729:1009:50;;:902;4567:23;;;161:2712:78;;;;16467:29:50;;:34;;4567:64;;;-1:-1:-1;3729:902:50;;:818;4481:24;;;161:2712:78;;;;16467:29:50;;:34;;4481:66;;;-1:-1:-1;3729:818:50;;:732;4401:21;;;161:2712:78;;;;16467:29:50;;:34;;4401:60;;;-1:-1:-1;3729:732:50;;:652;4319:22;;;161:2712:78;;;;16467:29:50;;:34;;4319:62;;;-1:-1:-1;3729:652:50;;:570;4216:32;;;161:2712:78;;;;16467:29:50;;:34;;4216:83;;;-1:-1:-1;3729:570:50;;:467;4111:33;;;161:2712:78;;;;16467:29:50;;:34;;4111:85;;;-1:-1:-1;3729:467:50;;:362;4014:29;;;161:2712:78;;;;16467:29:50;;:34;;4014:77;;;-1:-1:-1;3729:362:50;;:265;3915:30;;;161:2712:78;;;;16467:29:50;;:34;;3915:79;;;-1:-1:-1;3729:265:50;;:166;3823:27;;;161:2712:78;;;;16467:29:50;;:34;;3823:72;;;-1:-1:-1;3729:166:50;;5485:1119;161:2712:78;16467:29:50;;:34;;5703:91;;5485:1119;5699:109;;161:2712:78;16467:29:50;;:34;;5822:89;;5485:1119;5818:107;;161:2712:78;16467:29:50;;:34;;5939:107;;5485:1119;5935:158;;161:2712:78;16467:29:50;;:34;;6119:129;;5485:1119;6102:169;;161:2712:78;;;;;-1:-1:-1;161:2712:78;;552:8:51;1379:24;6497:19:50;;5485:1119::o;6455:142::-;1325:13;6532:38;:42;;;;:64;;;6455:142;5485:1119;:::o;6532:64::-;552:8:51;161:2712:78;;;;1379:24:51;5485:1119:50;:::o;6102:169::-;6259:12;;161:2712:78;6259:12:50;:::o;6119:129::-;6187:61;161:2712:78;16467:29:50;;:34;;6119:129;;5939:107;5988:58;161:2712:78;16467:29:50;;:34;;5939:107;;5822:89;5862:49;161:2712:78;16467:29:50;;:34;;5822:89;;5703:91;5744:50;161:2712:78;16467:29:50;;:34;;5703:91;","linkReferences":{}},"methodIdentifiers":{"getGasCostOfShouldCall(address)":"c444948f","getGasCostOfValidateHookAddress(address,(bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool))":"d87d83c0","isValidHookAddress(address,uint24)":"802d8a15","shouldCallAfterAddLiquidity(address)":"1248f3ff","shouldCallAfterDonate(address)":"ddf28096","shouldCallAfterInitialize(address)":"db196143","shouldCallAfterRemoveLiquidity(address)":"18f29325","shouldCallAfterSwap(address)":"baecba01","shouldCallBeforeAddLiquidity(address)":"95ab7a81","shouldCallBeforeDonate(address)":"c93db47b","shouldCallBeforeInitialize(address)":"2edde064","shouldCallBeforeRemoveLiquidity(address)":"d7408d4a","shouldCallBeforeSwap(address)":"69d74827","validateHookPermissions(address,(bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool))":"58372dfd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"getGasCostOfShouldCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"beforeInitialize\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterInitialize\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeAddLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterAddLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeRemoveLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterRemoveLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeSwap\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterSwap\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeDonate\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterDonate\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeSwapReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterSwapReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterAddLiquidityReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterRemoveLiquidityReturnDelta\",\"type\":\"bool\"}],\"internalType\":\"struct Hooks.Permissions\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"getGasCostOfValidateHookAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"isValidHookAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallAfterAddLiquidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallAfterDonate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallAfterInitialize\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallAfterRemoveLiquidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallAfterSwap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallBeforeAddLiquidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallBeforeDonate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallBeforeInitialize\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallBeforeRemoveLiquidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"shouldCallBeforeSwap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"beforeInitialize\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterInitialize\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeAddLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterAddLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeRemoveLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterRemoveLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeSwap\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterSwap\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeDonate\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterDonate\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeSwapReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterSwapReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterAddLiquidityReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterRemoveLiquidityReturnDelta\",\"type\":\"bool\"}],\"internalType\":\"struct Hooks.Permissions\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"validateHookPermissions\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/HooksTest.sol\":\"HooksTest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"src/libraries/Hooks.sol\":{\"keccak256\":\"0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb\",\"dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx\"]},\"src/libraries/LPFeeLibrary.sol\":{\"keccak256\":\"0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475\",\"dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J\"]},\"src/libraries/ParseBytes.sol\":{\"keccak256\":\"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17\",\"dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa\"]},\"src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"src/test/HooksTest.sol\":{\"keccak256\":\"0xa0cbb040eae30f486f2ba8b4fe07df0403beee8be7580809949aa9e8aada0f77\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://80bed2dd5ec3eb211a4f5255c02e34b42efb88df3331870019c4a6d764dc2664\",\"dweb:/ipfs/QmVBjfc3oigdvayEuHwuh6Q9sYHwpXhPqRzvpqRhhrVHXm\"]},\"src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getGasCostOfShouldCall","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"},{"internalType":"struct Hooks.Permissions","name":"params","type":"tuple","components":[{"internalType":"bool","name":"beforeInitialize","type":"bool"},{"internalType":"bool","name":"afterInitialize","type":"bool"},{"internalType":"bool","name":"beforeAddLiquidity","type":"bool"},{"internalType":"bool","name":"afterAddLiquidity","type":"bool"},{"internalType":"bool","name":"beforeRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"beforeSwap","type":"bool"},{"internalType":"bool","name":"afterSwap","type":"bool"},{"internalType":"bool","name":"beforeDonate","type":"bool"},{"internalType":"bool","name":"afterDonate","type":"bool"},{"internalType":"bool","name":"beforeSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterAddLiquidityReturnDelta","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidityReturnDelta","type":"bool"}]}],"stateMutability":"view","type":"function","name":"getGasCostOfValidateHookAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"}],"stateMutability":"pure","type":"function","name":"isValidHookAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallAfterAddLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallAfterDonate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallAfterInitialize","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallAfterRemoveLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallAfterSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallBeforeAddLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallBeforeDonate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallBeforeInitialize","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallBeforeRemoveLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"}],"stateMutability":"pure","type":"function","name":"shouldCallBeforeSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"hookAddress","type":"address"},{"internalType":"struct Hooks.Permissions","name":"params","type":"tuple","components":[{"internalType":"bool","name":"beforeInitialize","type":"bool"},{"internalType":"bool","name":"afterInitialize","type":"bool"},{"internalType":"bool","name":"beforeAddLiquidity","type":"bool"},{"internalType":"bool","name":"afterAddLiquidity","type":"bool"},{"internalType":"bool","name":"beforeRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"beforeSwap","type":"bool"},{"internalType":"bool","name":"afterSwap","type":"bool"},{"internalType":"bool","name":"beforeDonate","type":"bool"},{"internalType":"bool","name":"afterDonate","type":"bool"},{"internalType":"bool","name":"beforeSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterAddLiquidityReturnDelta","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidityReturnDelta","type":"bool"}]}],"stateMutability":"pure","type":"function","name":"validateHookPermissions"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-contracts/=lib/openzeppelin-contracts/","solmate/=lib/solmate/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/test/HooksTest.sol":"HooksTest"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"src/interfaces/IHooks.sol":{"keccak256":"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d","urls":["bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec","dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G"],"license":"MIT"},"src/interfaces/IPoolManager.sol":{"keccak256":"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e","urls":["bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4","dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi"],"license":"MIT"},"src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"src/libraries/Hooks.sol":{"keccak256":"0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa","urls":["bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb","dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx"],"license":"MIT"},"src/libraries/LPFeeLibrary.sol":{"keccak256":"0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b","urls":["bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475","dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J"],"license":"MIT"},"src/libraries/ParseBytes.sol":{"keccak256":"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15","urls":["bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17","dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa"],"license":"MIT"},"src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"src/test/HooksTest.sol":{"keccak256":"0xa0cbb040eae30f486f2ba8b4fe07df0403beee8be7580809949aa9e8aada0f77","urls":["bzz-raw://80bed2dd5ec3eb211a4f5255c02e34b42efb88df3331870019c4a6d764dc2664","dweb:/ipfs/QmVBjfc3oigdvayEuHwuh6Q9sYHwpXhPqRzvpqRhhrVHXm"],"license":"UNLICENSED"},"src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"src/types/PoolOperation.sol":{"keccak256":"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162","urls":["bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07","dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c"],"license":"MIT"}},"version":1},"id":78}