diff --git a/Cargo.lock b/Cargo.lock index 36e1387..82f2c1d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -675,7 +675,7 @@ dependencies = [ [[package]] name = "arena-core" -version = "0.1.3" +version = "0.1.4" dependencies = [ "alloy", "alloy-contract", diff --git a/Cargo.toml b/Cargo.toml index e90fc56..ce8f703 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "arena-core" -version = "0.1.3" +version = "0.1.4" edition = "2021" repository = "https://github.com/arena-rs/arena" description = "Framework for holistic economic modelling and simulation of Uniswap v4 strategies, hooks and pools." diff --git a/src/artifacts/PoolModifyLiquidityTest.json b/src/artifacts/PoolModifyLiquidityTest.json new file mode 100644 index 0000000..d36aed5 --- /dev/null +++ b/src/artifacts/PoolModifyLiquidityTest.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_manager","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"nonpayable"},{"type":"function","name":"manager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"},{"type":"function","name":"modifyLiquidity","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"params","type":"tuple","internalType":"struct IPoolManager.ModifyLiquidityParams","components":[{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidityDelta","type":"int256","internalType":"int256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}]},{"name":"hookData","type":"bytes","internalType":"bytes"},{"name":"settleUsingBurn","type":"bool","internalType":"bool"},{"name":"takeClaims","type":"bool","internalType":"bool"}],"outputs":[{"name":"delta","type":"int256","internalType":"BalanceDelta"}],"stateMutability":"payable"},{"type":"function","name":"modifyLiquidity","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"params","type":"tuple","internalType":"struct IPoolManager.ModifyLiquidityParams","components":[{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidityDelta","type":"int256","internalType":"int256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}]},{"name":"hookData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"delta","type":"int256","internalType":"BalanceDelta"}],"stateMutability":"payable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"rawData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60a034607a57601f61180a38819003918201601f19168301916001600160401b03831184841017607e57808492602094604052833981010312607a57516001600160a01b0381168103607a576080526040516117779081610093823960805181818160b50152818161099001528181610ac101526111390152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80630a5b11e414610ae5578063481c6a7514610a775780635a6bcfda14610790576391dd734614610045575f80fd5b346107795760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107795760043567ffffffffffffffff8111610779573660238201121561077957806004013567ffffffffffffffff81116107795781016024810190368211610779577f00000000000000000000000000000000000000000000000000000000000000009273ffffffffffffffffffffffffffffffffffffffff841690813303610779576020818403126107795760248101359067ffffffffffffffff82116107795701906101a082840312610779576040519161012d83610c27565b61013960248201610ce9565b835260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08286030112610779576040519361017485610c70565b61018060448301610ce9565b855261018e60648301610ce9565b6020860152608482013562ffffff811681036107795760408601526101b560a48301610d0a565b606086015260c482013573ffffffffffffffffffffffffffffffffffffffff81168103610779577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c83608093602493858a01526020880198895203010112610779576040519561022487610c8c565b61023060e48301610d0a565b875261023f6101048301610d0a565b6020880152610124820135604088015261014482013560608801526040840196875261016482013567ffffffffffffffff81116107795761039f96602461028892850101610e8a565b916060850192835260406102b36101a46102a56101848501610ed0565b936080890194855201610ed0565b9360a087019485526102e060a08951208b51805160020b6060602083015160020b92015192309089610f80565b5050956103715f8c6103b38c519151955187519e8f97889687957f5a6bcfda000000000000000000000000000000000000000000000000000000008752600487019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b8051600290810b60a48701526020820151900b60c4860152604081015160e486015260600151610104850152565b610140610124840152610144830190610edd565b03925af1968715610785575f9761074d575b506103eb60a08751208951805160020b6060602083015160020b92015192309087610f80565b50509061042a73ffffffffffffffffffffffffffffffffffffffff88515116309073ffffffffffffffffffffffffffffffffffffffff89511690611114565b939150506fffffffffffffffffffffffffffffffff61047e73ffffffffffffffffffffffffffffffffffffffff60208b51015116309073ffffffffffffffffffffffffffffffffffffffff8b511690611114565b9891505016600f0b9060408b510151915f8382019384129112908015821691151617610720576fffffffffffffffffffffffffffffffff16600f0b036106c2576040610548995101515f81125f1461067d57505f82138015610674575b6104e490610f20565b5f8212801561066b575b6104f89015610f20565b5f821261061d575b5f85126105ca575b505f8113610583575b505f831361054c575b868660405190602082015260208152610534604082610ca8565b604051918291602083526020830190610edd565b0390f35b73ffffffffffffffffffffffffffffffffffffffff80602061057997510151169451169151151593611545565b5f8080808061051a565b6105c49073ffffffffffffffffffffffffffffffffffffffff875151169073ffffffffffffffffffffffffffffffffffffffff875116848651151593611545565b5f610511565b6106179073ffffffffffffffffffffffffffffffffffffffff602089510151169073ffffffffffffffffffffffffffffffffffffffff8851168561060d89610f54565b925115159361120d565b5f610508565b61066673ffffffffffffffffffffffffffffffffffffffff8851511673ffffffffffffffffffffffffffffffffffffffff88511661065a85610f54565b9086855115159361120d565b610500565b505f85126104ee565b505f85136104db565b5f12156104f8575f821280156106b9575b61069790610f20565b5f821380156106b0575b6106ab9015610f20565b6104f8565b505f85136106a1565b505f851261068e565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6c6971756964697479206368616e676520696e636f72726563740000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9096506040813d60401161077d575b8161076960409383610ca8565b810103126107795751955f6103c5565b5f80fd5b3d915061075c565b6040513d5f823e3d90fd5b6101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610779576107c436610d18565b6107cd36610de4565b90610124359167ffffffffffffffff83116107795761093b5f9273ffffffffffffffffffffffffffffffffffffffff9261080e610976963690600401610e8a565b916108fc6040519361081f85610c27565b3385526020850192835260408501938452606085019081526108e760808601948986526108b560a08801958b87526040519a8b996020808c0152511660408a015251606089019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b518051600290810b6101008901526020820151900b610120880152604081015161014088015260600151610160870152565b516101a06101808601526101e0850190610edd565b915115156101a08401525115156101c0830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ca8565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352602060048401526024830190610edd565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1908115610785575f916109fd575b50602081805181010312610779576020015147806109e4575b602082604051908152f35b5f80808093335af1156109f757816109d9565b33611656565b90503d805f833e610a0e8183610ca8565b8101906020818303126107795780519067ffffffffffffffff8211610779570181601f8201121561077957805190610a4582610e50565b92610a536040519485610ca8565b8284526020838301011161077957815f9260208093018386015e83010152816109c0565b34610779575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261077957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6101807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261077957610b1936610d18565b610b2236610de4565b906101243567ffffffffffffffff811161077957610b44903690600401610e8a565b91610144359283151580940361077957610164359283151580940361077957610976945f946108fc61093b946108e773ffffffffffffffffffffffffffffffffffffffff976108b560405197610b9989610c27565b3389526020890190815260408901928352606089019485526080890197885260a089019687526040519a8b996020808c0152511660408a015251606089019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b60c0810190811067ffffffffffffffff821117610c4357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff821117610c4357604052565b6080810190811067ffffffffffffffff821117610c4357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c4357604052565b359073ffffffffffffffffffffffffffffffffffffffff8216820361077957565b35908160020b820361077957565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126107795760405190610d4f82610c70565b8160043573ffffffffffffffffffffffffffffffffffffffff8116810361077957815260243573ffffffffffffffffffffffffffffffffffffffff8116810361077957602082015260443562ffffff811681036107795760408201526064358060020b81036107795760608201526084359073ffffffffffffffffffffffffffffffffffffffff821682036107795760800152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c60809101126107795760405190610e1b82610c8c565b8160a4358060020b810361077957815260c4358060020b810361077957602082015260e4356040820152606061010435910152565b67ffffffffffffffff8111610c4357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561077957803590610ea182610e50565b92610eaf6040519485610ca8565b8284526020838301011161077957815f926020809301838601378301015290565b3590811515820361077957565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b15610f2757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b7f80000000000000000000000000000000000000000000000000000000000000008114610720575f0390565b94939290926040519460268601526006850152600384015282525f603a600c8401209281604082015281602082015252604051602081019182526006604082015260408152610fd0606082610ca8565b51902091600683018093116107205760445f9273ffffffffffffffffffffffffffffffffffffffff946040519060208201928352604082015260408152611018606082610ca8565b51902060405194859384927f35fd631a000000000000000000000000000000000000000000000000000000008452600484015260036024840152165afa908115610785575f91611078575b50602081015160408201516060909201519092565b90503d805f833e6110898183610ca8565b8101906020818303126107795780519067ffffffffffffffff821161077957019080601f830112156107795781519167ffffffffffffffff8311610c43578260051b90604051936110dd6020840186610ca8565b845260208085019282010192831161077957602001905b828210611104575050505f611063565b81518152602091820191016110f4565b929061112090846116c2565b9273ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918161116584836116c2565b95165f5216602052602060405f206024604051809481937ff135baaa00000000000000000000000000000000000000000000000000000000835260048301525afa908115610785575f916111b7575090565b90506020813d6020116111de575b816111d260209383610ca8565b81010312610779575190565b3d91506111c5565b90816020910312610779575180151581036107795790565b90816020910312610779575190565b9293156112af5773ffffffffffffffffffffffffffffffffffffffff16803b15610779576040517ff5298aca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529290911660248301526044820192909252905f908290818381606481015b03925af18015610785576112a35750565b5f6112ad91610ca8565b565b9173ffffffffffffffffffffffffffffffffffffffff168061134d57505073ffffffffffffffffffffffffffffffffffffffff600460209260405194859384927f11da60b4000000000000000000000000000000000000000000000000000000008452165af18015610785576113225750565b6113439060203d602011611346575b61133b8183610ca8565b8101906111fe565b50565b503d611331565b90929173ffffffffffffffffffffffffffffffffffffffff1691823b1561077957604051937fa58411940000000000000000000000000000000000000000000000000000000085525f948360048201525f8160248183895af180156107855761151c575b5073ffffffffffffffffffffffffffffffffffffffff16843082146114a8576020929160649160405195869485937f23b872dd000000000000000000000000000000000000000000000000000000008552600485015288602485015260448401525af1801561149d57916020918493611470575b505b6004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af190811561146457506113225750565b604051903d90823e3d90fd5b61148f90833d8511611496575b6114878183610ca8565b8101906111e6565b505f611425565b503d61147d565b6040513d85823e3d90fd5b929050604460209260405194859384927fa9059cbb00000000000000000000000000000000000000000000000000000000845288600485015260248401525af1801561149d579160209184936114ff575b50611427565b61151590833d8511611496576114878183610ca8565b505f6114f9565b6115299195505f90610ca8565b5f9373ffffffffffffffffffffffffffffffffffffffff6113b1565b9293156115ce5773ffffffffffffffffffffffffffffffffffffffff16803b15610779576040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529290911660248301526044820192909252905f90829081838160648101611292565b90929073ffffffffffffffffffffffffffffffffffffffff16803b15610779575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967f0b0d9c0900000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af18015610785576112a35750565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d604051937f8549db59000000000000000000000000000000000000000000000000000000008552600485015260406024850152806044850152805f606486013e011660640190fd5b73ffffffffffffffffffffffffffffffffffffffff16806116e257503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115610785575f916111b757509056fea2646970667358221220f201a3db834d256ef9c17bd0bfc3ae58e68d2e0119e691002c2c47fe55c36f3464736f6c634300081a0033","sourceMap":"679:3173:91:-:0;;;;;;;;;;;;;-1:-1:-1;;679:3173:91;;;;-1:-1:-1;;;;;679:3173:91;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;679:3173:91;;;;;;700:18:97;;679:3173:91;;;;;;;;700:18:97;679:3173:91;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;679:3173:91;;;;;;-1:-1:-1;679:3173:91;;;;;-1:-1:-1;679:3173:91","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80630a5b11e414610ae5578063481c6a7514610a775780635a6bcfda14610790576391dd734614610045575f80fd5b346107795760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107795760043567ffffffffffffffff8111610779573660238201121561077957806004013567ffffffffffffffff81116107795781016024810190368211610779577f00000000000000000000000000000000000000000000000000000000000000009273ffffffffffffffffffffffffffffffffffffffff841690813303610779576020818403126107795760248101359067ffffffffffffffff82116107795701906101a082840312610779576040519161012d83610c27565b61013960248201610ce9565b835260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08286030112610779576040519361017485610c70565b61018060448301610ce9565b855261018e60648301610ce9565b6020860152608482013562ffffff811681036107795760408601526101b560a48301610d0a565b606086015260c482013573ffffffffffffffffffffffffffffffffffffffff81168103610779577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c83608093602493858a01526020880198895203010112610779576040519561022487610c8c565b61023060e48301610d0a565b875261023f6101048301610d0a565b6020880152610124820135604088015261014482013560608801526040840196875261016482013567ffffffffffffffff81116107795761039f96602461028892850101610e8a565b916060850192835260406102b36101a46102a56101848501610ed0565b936080890194855201610ed0565b9360a087019485526102e060a08951208b51805160020b6060602083015160020b92015192309089610f80565b5050956103715f8c6103b38c519151955187519e8f97889687957f5a6bcfda000000000000000000000000000000000000000000000000000000008752600487019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b8051600290810b60a48701526020820151900b60c4860152604081015160e486015260600151610104850152565b610140610124840152610144830190610edd565b03925af1968715610785575f9761074d575b506103eb60a08751208951805160020b6060602083015160020b92015192309087610f80565b50509061042a73ffffffffffffffffffffffffffffffffffffffff88515116309073ffffffffffffffffffffffffffffffffffffffff89511690611114565b939150506fffffffffffffffffffffffffffffffff61047e73ffffffffffffffffffffffffffffffffffffffff60208b51015116309073ffffffffffffffffffffffffffffffffffffffff8b511690611114565b9891505016600f0b9060408b510151915f8382019384129112908015821691151617610720576fffffffffffffffffffffffffffffffff16600f0b036106c2576040610548995101515f81125f1461067d57505f82138015610674575b6104e490610f20565b5f8212801561066b575b6104f89015610f20565b5f821261061d575b5f85126105ca575b505f8113610583575b505f831361054c575b868660405190602082015260208152610534604082610ca8565b604051918291602083526020830190610edd565b0390f35b73ffffffffffffffffffffffffffffffffffffffff80602061057997510151169451169151151593611545565b5f8080808061051a565b6105c49073ffffffffffffffffffffffffffffffffffffffff875151169073ffffffffffffffffffffffffffffffffffffffff875116848651151593611545565b5f610511565b6106179073ffffffffffffffffffffffffffffffffffffffff602089510151169073ffffffffffffffffffffffffffffffffffffffff8851168561060d89610f54565b925115159361120d565b5f610508565b61066673ffffffffffffffffffffffffffffffffffffffff8851511673ffffffffffffffffffffffffffffffffffffffff88511661065a85610f54565b9086855115159361120d565b610500565b505f85126104ee565b505f85136104db565b5f12156104f8575f821280156106b9575b61069790610f20565b5f821380156106b0575b6106ab9015610f20565b6104f8565b505f85136106a1565b505f851261068e565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6c6971756964697479206368616e676520696e636f72726563740000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9096506040813d60401161077d575b8161076960409383610ca8565b810103126107795751955f6103c5565b5f80fd5b3d915061075c565b6040513d5f823e3d90fd5b6101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610779576107c436610d18565b6107cd36610de4565b90610124359167ffffffffffffffff83116107795761093b5f9273ffffffffffffffffffffffffffffffffffffffff9261080e610976963690600401610e8a565b916108fc6040519361081f85610c27565b3385526020850192835260408501938452606085019081526108e760808601948986526108b560a08801958b87526040519a8b996020808c0152511660408a015251606089019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b518051600290810b6101008901526020820151900b610120880152604081015161014088015260600151610160870152565b516101a06101808601526101e0850190610edd565b915115156101a08401525115156101c0830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ca8565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352602060048401526024830190610edd565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1908115610785575f916109fd575b50602081805181010312610779576020015147806109e4575b602082604051908152f35b5f80808093335af1156109f757816109d9565b33611656565b90503d805f833e610a0e8183610ca8565b8101906020818303126107795780519067ffffffffffffffff8211610779570181601f8201121561077957805190610a4582610e50565b92610a536040519485610ca8565b8284526020838301011161077957815f9260208093018386015e83010152816109c0565b34610779575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261077957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6101807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261077957610b1936610d18565b610b2236610de4565b906101243567ffffffffffffffff811161077957610b44903690600401610e8a565b91610144359283151580940361077957610164359283151580940361077957610976945f946108fc61093b946108e773ffffffffffffffffffffffffffffffffffffffff976108b560405197610b9989610c27565b3389526020890190815260408901928352606089019485526080890197885260a089019687526040519a8b996020808c0152511660408a015251606089019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b60c0810190811067ffffffffffffffff821117610c4357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff821117610c4357604052565b6080810190811067ffffffffffffffff821117610c4357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c4357604052565b359073ffffffffffffffffffffffffffffffffffffffff8216820361077957565b35908160020b820361077957565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126107795760405190610d4f82610c70565b8160043573ffffffffffffffffffffffffffffffffffffffff8116810361077957815260243573ffffffffffffffffffffffffffffffffffffffff8116810361077957602082015260443562ffffff811681036107795760408201526064358060020b81036107795760608201526084359073ffffffffffffffffffffffffffffffffffffffff821682036107795760800152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c60809101126107795760405190610e1b82610c8c565b8160a4358060020b810361077957815260c4358060020b810361077957602082015260e4356040820152606061010435910152565b67ffffffffffffffff8111610c4357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561077957803590610ea182610e50565b92610eaf6040519485610ca8565b8284526020838301011161077957815f926020809301838601378301015290565b3590811515820361077957565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b15610f2757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b7f80000000000000000000000000000000000000000000000000000000000000008114610720575f0390565b94939290926040519460268601526006850152600384015282525f603a600c8401209281604082015281602082015252604051602081019182526006604082015260408152610fd0606082610ca8565b51902091600683018093116107205760445f9273ffffffffffffffffffffffffffffffffffffffff946040519060208201928352604082015260408152611018606082610ca8565b51902060405194859384927f35fd631a000000000000000000000000000000000000000000000000000000008452600484015260036024840152165afa908115610785575f91611078575b50602081015160408201516060909201519092565b90503d805f833e6110898183610ca8565b8101906020818303126107795780519067ffffffffffffffff821161077957019080601f830112156107795781519167ffffffffffffffff8311610c43578260051b90604051936110dd6020840186610ca8565b845260208085019282010192831161077957602001905b828210611104575050505f611063565b81518152602091820191016110f4565b929061112090846116c2565b9273ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918161116584836116c2565b95165f5216602052602060405f206024604051809481937ff135baaa00000000000000000000000000000000000000000000000000000000835260048301525afa908115610785575f916111b7575090565b90506020813d6020116111de575b816111d260209383610ca8565b81010312610779575190565b3d91506111c5565b90816020910312610779575180151581036107795790565b90816020910312610779575190565b9293156112af5773ffffffffffffffffffffffffffffffffffffffff16803b15610779576040517ff5298aca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529290911660248301526044820192909252905f908290818381606481015b03925af18015610785576112a35750565b5f6112ad91610ca8565b565b9173ffffffffffffffffffffffffffffffffffffffff168061134d57505073ffffffffffffffffffffffffffffffffffffffff600460209260405194859384927f11da60b4000000000000000000000000000000000000000000000000000000008452165af18015610785576113225750565b6113439060203d602011611346575b61133b8183610ca8565b8101906111fe565b50565b503d611331565b90929173ffffffffffffffffffffffffffffffffffffffff1691823b1561077957604051937fa58411940000000000000000000000000000000000000000000000000000000085525f948360048201525f8160248183895af180156107855761151c575b5073ffffffffffffffffffffffffffffffffffffffff16843082146114a8576020929160649160405195869485937f23b872dd000000000000000000000000000000000000000000000000000000008552600485015288602485015260448401525af1801561149d57916020918493611470575b505b6004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af190811561146457506113225750565b604051903d90823e3d90fd5b61148f90833d8511611496575b6114878183610ca8565b8101906111e6565b505f611425565b503d61147d565b6040513d85823e3d90fd5b929050604460209260405194859384927fa9059cbb00000000000000000000000000000000000000000000000000000000845288600485015260248401525af1801561149d579160209184936114ff575b50611427565b61151590833d8511611496576114878183610ca8565b505f6114f9565b6115299195505f90610ca8565b5f9373ffffffffffffffffffffffffffffffffffffffff6113b1565b9293156115ce5773ffffffffffffffffffffffffffffffffffffffff16803b15610779576040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529290911660248301526044820192909252905f90829081838160648101611292565b90929073ffffffffffffffffffffffffffffffffffffffff16803b15610779575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967f0b0d9c0900000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af18015610785576112a35750565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d604051937f8549db59000000000000000000000000000000000000000000000000000000008552600485015260406024850152806044850152805f606486013e011660640190fd5b73ffffffffffffffffffffffffffffffffffffffff16806116e257503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115610785575f916111b757509056fea2646970667358221220f201a3db834d256ef9c17bd0bfc3ae58e68d2e0119e691002c2c47fe55c36f3464736f6c634300081a0033","sourceMap":"679:3173:91:-:0;;;;;;;;;;;;;;;;;;;;;;1782:76;679:3173;1782:76;;;679:3173;;;;;;1782:76;;;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2193:7;679:3173;;;;2171:10;;;:30;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2316:141;679:3173;2353:8;;357:89:112;2385:11:91;;679:3173;;;;;;2408:21;;679:3173;;;2431:16;;679:3173;2378:4;;2316:141;;;:::i;:::-;2516:8;;;679:3173;;2516:8;679:3173;2516:8;;2526:11;;2539:13;;679:3173;;2492:61;;;;;;;679:3173;2492:61;;679:3173;2492:61;;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2492:61;;;;;;;;;679:3173;2492:61;;;679:3173;2630:8;2593:141;679:3173;2630:8;;357:89:112;2662:11:91;;679:3173;;;;;;2685:21;;679:3173;;;2708:16;;679:3173;2378:4;;2593:141;;;:::i;:::-;2781:8;;;2766:62;679:3173;2781:8;;679:3173;;2378:4;679:3173;;;;;2766:62;;:::i;:::-;2874:8;;;;679:3173;2859:62;679:3173;;2874:8;;:18;679:3173;;2378:4;679:3173;;;;;2859:62;;:::i;:::-;679:3173;;;;;;;2979:11;679:3173;2979:11;;:26;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;2953:78;679:3173;;;;3086:11;;:26;679:3173;;3086:30;;3082:290;679:3173;;;3139:10;679:3173;3139:10;;:24;;;;3082:290;3132:32;;;:::i;:::-;679:3173;3187:10;;:24;;;;3082:290;3178:35;3185:27;;3178:35;:::i;:::-;679:3173;3386:10;;3382:103;;3082:290;679:3173;3499:10;;3495:103;;3082:290;3612:10;679:3173;3612:10;;3608:95;;3082:290;3717:10;679:3173;3717:10;;3713:95;;3082:290;679:3173;;;;3826:17;679:3173;3826:17;;679:3173;;3826:17;;;679:3173;3826:17;;:::i;:::-;679:3173;;;;;;;;;;;;;:::i;:::-;;;;3713:95;679:3173;3729:8;679:3173;3792:15;3729:8;;:18;679:3173;;;;;;;;;3792:15;;:::i;:::-;3713:95;;;;;;;3608;3687:15;3624:8;679:3173;3624:8;;679:3173;;;;;;;;;;;;3687:15;;:::i;:::-;3608:95;;;3495:103;3577:20;3511:8;679:3173;;3511:8;;:18;679:3173;;;;;;;3567:7;;;;:::i;:::-;679:3173;;;;3577:20;;:::i;:::-;3495:103;;;3382;3464:20;679:3173;3398:8;;679:3173;;;;;;3454:7;;;:::i;:::-;679:3173;;;;;;3464:20;;:::i;:::-;3382:103;;3187:24;-1:-1:-1;679:3173:91;3201:10;;3187:24;;3139;-1:-1:-1;679:3173:91;3153:10;;3139:24;;3082:290;679:3173;-1:-1:-1;3230:142:91;3082:290;3230:142;679:3173;3287:10;;:24;;;;3230:142;3280:32;;;:::i;:::-;679:3173;3335:10;;:24;;;;3230:142;3326:35;3333:27;;3326:35;:::i;:::-;3082:290;;3335:24;-1:-1:-1;679:3173:91;3349:10;;3335:24;;3287;-1:-1:-1;679:3173:91;3301:10;;3287:24;;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:61;;;;679:3173;2492:61;;679:3173;2492:61;;;;;;679:3173;2492:61;;;:::i;:::-;;;679:3173;;;;;2492:61;;;;679:3173;;;;2492:61;;;-1:-1:-1;2492:61:91;;;679:3173;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;1771:88;679:3173;;;;;;;;;;;;:::i;:::-;1402:52;679:3173;;;;;;;:::i;:::-;1795:10;679:3173;;1782:76;;;679:3173;;;;1782:76;;679:3173;;;1782:76;;;679:3173;;;;1782:76;;;679:3173;;;;;1782:76;;;679:3173;;;;;;1771:88;;;1782:76;1771:88;;;679:3173;;;;;;;;1782:76;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1771:88;;;;;;;;:::i;:::-;679:3173;;1756:104;;;;679:3173;1756:104;;1782:76;679:3173;1756:104;;679:3173;;;;;;:::i;:::-;1756:104;:7;;679:3173;1756:7;679:3173;1756:104;;;;;;;679:3173;1756:104;;;679:3173;;1782:76;679:3173;;;1732:166;;679:3173;;;;1782:76;1732:166;679:3173;1930:21;1965:14;1961:100;;679:3173;1782:76;679:3173;;;;;;;1961:100;679:3173;1885:19:111;;;;1795:10:91;1920:163:111;;2196:8;2192:75;;1961:100:91;;;2192:75:111;1795:10:91;2264:2:111;:::i;1756:104:91:-;;;;;679:3173;1756:104;;;;;;:::i;:::-;;;679:3173;1782:76;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;1782:76;679:3173;;;;;;;;;;1782:76;679:3173;;;;;;;;;;;1756:104;;;679:3173;;;;;;;;;;;;;;;611:37:97;679:3173:91;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:88;679:3173;;;;;;;;;;;:::i;:::-;1795:10;679:3173;;1782:76;;;679:3173;;;;1782:76;;679:3173;;;1782:76;;;679:3173;;;1782:76;;;679:3173;;;1782:76;;;679:3173;;;;;1771:88;;;1782:76;1771:88;;;679:3173;;;;;;;;1782:76;679:3173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;679:3173:91;;;;;-1:-1:-1;679:3173:91;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;679:3173:91;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;679:3173:91;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;10043:602:64:-;;;;;;2443:609:60;;;;;;;;;;;;;;;;;-1:-1:-1;2443:609:60;;;;;;;;;;;;;;;;;;679:3173:91;2443:609:60;14715:51:64;;679:3173:91;;;2443:609:60;;1163:1:64;;679:3173:91;2443:609:60;14715:51:64;;;;;;:::i;:::-;679:3173:91;14705:62:64;;1163:1;2443:609:60;1163:1:64;;;;;;;11562:25;-1:-1:-1;679:3173:91;;;2443:609:60;679:3173:91;15732:45:64;2443:609:60;15732:45:64;;679:3173:91;;;2443:609:60;1163:1:64;;679:3173:91;2443:609:60;15732:45:64;;;14715:51;15732:45;;:::i;:::-;679:3173:91;15722:56:64;;2443:609:60;679:3173:91;11562:25:64;;;;;679:3173:91;11562:25:64;;;;;679:3173:91;2443:609:60;679:3173:91;;;;;11562:25:64;;;;;;;-1:-1:-1;11562:25:64;;;10043:602;-1:-1:-1;2443:609:60;11598:204:64;;;2443:609:60;11598:204:64;;;14715:51;11598:204;;;;;;10043:602::o;11562:25::-;;;;;-1:-1:-1;11562:25:64;;;;;;:::i;:::-;;;679:3173:91;2443:609:60;679:3173:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:609:60;679:3173:91;;;2443:609:60;679:3173:91;;;;:::i;:::-;;;2443:609:60;679:3173:91;;;;;;;;;;;;2443:609:60;679:3173:91;;;;;;;;11562:25:64;;;;;;679:3173:91;;;;;2443:609:60;679:3173:91;;;;;;;731:362:97;;;940:24;731:362;940:24;;:::i;:::-;1015:7;679:3173:91;1015:7:97;;679:3173:91;988:36:97;;;;;;:::i;:::-;1845:233:68;;-1:-1:-1;1845:233:68;;;;;;-1:-1:-1;1845:233:68;2109:21;1845:233;679:3173:91;2109:21:68;;;;679:3173:91;2109:21:68;;;;;679:3173:91;2109:21:68;;;;;;;-1:-1:-1;2109:21:68;;;1034:52:97;731:362;:::o;2109:21:68:-;;;1845:233;2109:21;;1845:233;2109:21;;;;;;1845:233;2109:21;;;:::i;:::-;;;679:3173:91;;;;;731:362:97;:::o;2109:21:68:-;;;-1:-1:-1;2109:21:68;;679:3173:91;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;979:805:117:-;;;1255:523;;;679:3173:91;;1279:44:117;;;;;679:3173:91;;;1279:44:117;;679:3173:91;;;;1279:44:117;;;679:3173:91;;;;;;;;;;;;;;;;;-1:-1:-1;;679:3173:91;;;-1:-1:-1;679:3173:91;;;;1279:44:117;;;;;;;;;;;1255:523;979:805::o;1279:44::-;-1:-1:-1;1279:44:117;;;:::i;:::-;979:805::o;1255:523::-;1344:19;679:3173:91;;4932:52:111;1344:19:117;;679:3173:91;;;1379:31:117;;679:3173:91;;;1379:31:117;;;;;679:3173:91;1379:31:117;;679:3173:91;1379:31:117;;;;;;;;1340:438;979:805::o;1379:31::-;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;979:805::o;1379:31::-;;;;;1340:438;679:3173:91;;;;;1441:22:117;;;;;;679:3173:91;;1441:22:117;679:3173:91;1441:22:117;;-1:-1:-1;1441:22:117;;;;;679:3173:91;-1:-1:-1;1441:22:117;;;;;;;;;;;;;1340:438;-1:-1:-1;679:3173:91;;1498:4:117;;1481:22;;1498:4;;679:3173:91;;;1523:86:117;679:3173:91;;;1523:86:117;;;;;679:3173:91;1523:86:117;;1441:22;1523:86;;679:3173:91;;1441:22:117;679:3173:91;;;;;;;1523:86:117;;;;;;;679:3173:91;1523:86:117;;;;;1477:261;;;1441:22;679:3173:91;;1751:16:117;;;;679:3173:91;1751:16:117;;;;;;;;;;;;1340:438;979:805::o;1751:16::-;679:3173:91;;;;;;;;;;1523:86:117;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;679:3173:91;;;;;;;;;1477:261:117;679:3173:91;;;1648:75:117;679:3173:91;;;;1648:75:117;;;;;679:3173:91;1648:75:117;;;1441:22;1648:75;;679:3173:91;1441:22:117;679:3173:91;;;1648:75:117;;;;;;;679:3173:91;1648:75:117;;;;;1477:261;;;;1648:75;;;;;;;;;;;;;:::i;:::-;;;;;1441:22;;;;;-1:-1:-1;1441:22:117;;:::i;:::-;-1:-1:-1;;679:3173:91;1441:22:117;;2168:230;;;2290:101;;;679:3173:91;;2299:48:117;;;;;679:3173:91;;;2299:48:117;;679:3173:91;;;;2299:48:117;;;679:3173:91;;;;;;;;;;;;;;;;;-1:-1:-1;;679:3173:91;;;-1:-1:-1;679:3173:91;;;;2299:48:117;679:3173:91;2290:101:117;679:3173:91;;;;;2350:41:117;;;;;-1:-1:-1;679:3173:91;;2350:41:117;679:3173:91;;;;;;2350:41:117;;;;;679:3173:91;2350:41:117;;679:3173:91;2350:41:117;;;679:3173:91;;;;;;;;;;2350:41:117;;;;;;;;2290:101;2168:230::o;3363:643:49:-;3449:551;;;;;;2206:35:111;3449:551:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;4577:266:111;679:3173:91;;4932:52:111;4676:19;;4718:13;;4711:20;:::o;4672:165::-;679:3173:91;;4769:57:111;679:3173:91;;;;4769:57:111;;;;;679:3173:91;4769:57:111;;679:3173:91;4769:57:111;;;679:3173:91;4769:57:111;;;;;;;679:3173:91;4769:57:111;;;4762:64;;:::o","linkReferences":{},"immutableReferences":{"64782":[{"start":181,"length":32},{"start":2448,"length":32},{"start":2753,"length":32},{"start":4409,"length":32}]}},"methodIdentifiers":{"manager()":"481c6a75","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"5a6bcfda","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes,bool,bool)":"0a5b11e4","unlockCallback(bytes)":"91dd7346"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"_manager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct IPoolManager.ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"settleUsingBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"takeClaims\",\"type\":\"bool\"}],\"name\":\"modifyLiquidity\",\"outputs\":[{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct IPoolManager.ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"modifyLiquidity\",\"outputs\":[{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"rawData\",\"type\":\"bytes\"}],\"name\":\"unlockCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/PoolModifyLiquidityTest.sol\":\"PoolModifyLiquidityTest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/forge-gas-snapshot/src/\",\":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\":\"0xdbaf1db938b70f77eb4ddbad5b8d2a1fc648c7d65ca2a312aba16cc013c85df0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2d9c85116a2e51281dd40577c798d6d5968be1f8908f43ba152849809deaa\",\"dweb:/ipfs/QmZP4kk9KJzoxv81EgsTfHnJeU8YUxX3yWZudJHbxQjpa8\"]},\"src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0x7dd9b494e616cbf623c21e2b8c4e8375acf27d307b02700d4965170bff3bb838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://381e66840cc15dc602b56a55554aa4ae581e4cfc7ddbfb51f838e6b40981664b\",\"dweb:/ipfs/QmeLdh22eqpj53C8562oN7pE4oWR1sjD82TKdV3sMq3tYu\"]},\"src/interfaces/IProtocolFeeController.sol\":{\"keccak256\":\"0xc2d7f3605da9767e36cf25d4d4fa9b95663a6659e26ce28cf29b8b88acb79a4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7a43cda35b8a9254ed3e46cfd8649361f09121d17ef554bd3d190b9a8d57cc6\",\"dweb:/ipfs/QmRBDQoqCWddH5hY1JdxMyYtY8jMZhWAwtuFJBc3r8V31G\"]},\"src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x68700020df618c5715737e57630876ec22ccde2d31191a5608babb9f140ed297\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56b7bb6786f48fff8c9d04e9054955b8cf3d9f5bf819ccda7be192ad2004a27f\",\"dweb:/ipfs/QmZKmUvcYnyihEFySD6SY9osMkP8M1Y7a4kPxLQycEyThw\"]},\"src/interfaces/callback/IUnlockCallback.sol\":{\"keccak256\":\"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b\",\"dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK\"]},\"src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xc1c23330c1511ecfd45c67a683962b4e2555b82f1dacd40cc8b46ae5a6e250e7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5ce10b7970482a65f9e9a365b810eeb154a5d4a8229a26653028d84b9622a410\",\"dweb:/ipfs/QmTSwXxZ2FTkM5duBZgbpFs8SRVDR5NPAnW4YimeDhb1s8\"]},\"src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"src/libraries/CurrencyReserves.sol\":{\"keccak256\":\"0xdeffc5cf2f8f7d3f802998941061392c0c926a32c7105ffd9f902ab84d3a31c6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://869bd659c5593bc525ce4d44771d85eb8acb74a7f0492802bdcc79d2bfdfcaf7\",\"dweb:/ipfs/QmSrTWzUHrou7ZxcuFXQhvzXmEgbLeCtwAqeS6k9vD22h3\"]},\"src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x2b70cc5e6ca761f4b3110bd7ea6c6064167df260a669b08b2c96c115d5c944ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f2ae8f2d7da6103f3d884935fb5da10c5463b4d229b31de9e592c4d2275e0bc\",\"dweb:/ipfs/QmWeVnC18TEqGy7fp2GApReNUuZFfDAEsWkycDV8N1LAmy\"]},\"src/libraries/FixedPoint128.sol\":{\"keccak256\":\"0xc7e80dc41f28887d0d915a75c0b2783ae659e5384dd1a3ed1251a42e058d8835\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2df62bf1d9d4349236fd0bc7a96b3a3be95f4c049603e4a20c8473cca9402b4d\",\"dweb:/ipfs/QmVR5dmMkoypmhaBeBj8cGegHpJycbofUDg59dHm42i9MT\"]},\"src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"src/libraries/Hooks.sol\":{\"keccak256\":\"0x028173d4dfa579c49e1d6aa0b0f4d9e0b5b5812bb573586fff53f33926720699\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98cf56f5917c23331a641363c31d353d58c9a3053bb7d64e62bed5161a23174a\",\"dweb:/ipfs/QmfVufa7owRy4VxYYGHN87F3YGNWvuSq1cpCpJjATvf6CM\"]},\"src/libraries/LPFeeLibrary.sol\":{\"keccak256\":\"0xfbebd6766871b795d945a74b6110931f73fc775aeeecc2682d6d6ca841a01ece\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://36fcc7098454971ae16d790ee9aee227c22c5cbbd7ff6e27e58ac29b901d5896\",\"dweb:/ipfs/QmboCGTWtycGpda7E169pD67Fox2H9b1YRsNHcsxBRrhfo\"]},\"src/libraries/LiquidityMath.sol\":{\"keccak256\":\"0x4a04b9383e2fb943c2c3ae7d0c9071b58dd97b6dac0a409fe1c79c3ca897bbcf\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b33cf0ff936f62aa7f3b82922fa0ac52ac24471561e87fbf7ab8372607f6dfc\",\"dweb:/ipfs/Qmcr6omwzJjQPu6HQ8E9vFXaTgrtqfb2KbfxbuQavfUzFa\"]},\"src/libraries/Lock.sol\":{\"keccak256\":\"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c\",\"dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF\"]},\"src/libraries/NonZeroDeltaCount.sol\":{\"keccak256\":\"0x6b7e23f470b8352efdbf459a34dd0dcfdbe03e623cb4de67f4ad9be326691586\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b86af075e2331f7a065b15d91253f2ce6b845dfe09493338f2d7cdab6f9e4cc2\",\"dweb:/ipfs/QmdzHJQapqAS42rMrYPgdvb4Sae7NVy3ESkNc1TuBRcxUC\"]},\"src/libraries/ParseBytes.sol\":{\"keccak256\":\"0xf0795198d1e651b0b33fd1708d80a14f501bb2a1486905676d35f364e880f579\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5aea527fcec51d7274f0c189dc2479a6aa708fc91857187a4d7db46bb1d6c7a8\",\"dweb:/ipfs/QmUTrwTPSZ7EHBaTyfAA78rZVP17iQzmAmvDcQ8GhDRAEf\"]},\"src/libraries/Position.sol\":{\"keccak256\":\"0x0309a650890f1cd93e2b4b1e9a40032d5feb8c6a0ccc24be24373bfd7590ff80\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://63aae574b22048f1453da8f9142374e334683bb3a069c2312f73e6b857842bce\",\"dweb:/ipfs/QmcJZK3kU4jsWfJKBpRq2kaouutEDHcytgMX8ZaGeBsbgu\"]},\"src/libraries/SafeCast.sol\":{\"keccak256\":\"0xbccc4f8d5d467d162d7f0ab5a7f22bcccf05ae07577b9728c9e3030c63977e60\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0003ea7a515ba709a3fdeaa19e7930c1f883b3b4fbdbf389d4f2f85b25eb72b4\",\"dweb:/ipfs/QmYs8uNcYRGuGUbeBfF27fhArNaQ5Y9iMCTMfgic5d39fM\"]},\"src/libraries/StateLibrary.sol\":{\"keccak256\":\"0xc6ec44163ec8070201159b62deba112acc572c487cae1abaf0e9974f7c9ade3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5517ebf580a3aa8ea9f0e0253c9c739c610a6a04fae1285f705721264aad1a\",\"dweb:/ipfs/QmZQuTAJhnhRwTQhQywfy3hK1iG5FwubTRrEXYzaPJxVMs\"]},\"src/libraries/TransientStateLibrary.sol\":{\"keccak256\":\"0x1bc28f30c176c7c598522da0d8907a90c4cd8ecce81775bb4deb3a9b78782f86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb5c05fb51e59ef168ba884c4ea3627525dba9feea0de9ffa0587438f70fd095\",\"dweb:/ipfs/Qmbx3ntPDZ9VeGsAnVNSM5DKmhPg92yobh5ZHbvdGWtHUd\"]},\"src/test/PoolModifyLiquidityTest.sol\":{\"keccak256\":\"0x4578759af55db566eee1d19c19a285710b1d301b511e37df4a1072c2d5a47ade\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://aa6588f1f695efe625241fdbad07730611c8bec77d963698c6412775b7dd68a7\",\"dweb:/ipfs/QmeDGAKa9sR6Wk5ibyzt4YGa6tdtjmFPzJafMbBgkWRB9d\"]},\"src/test/PoolTestBase.sol\":{\"keccak256\":\"0x71db5a5215d858124dd2ccf73c4474421651f248e4c85d33455d95abced0a23c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://fac0df901621d44a1b98ce4569616940ca6700e7829357bdf18509237b822072\",\"dweb:/ipfs/Qmf9sWokQvzmKfAY6Vd4QzyTyhikqCb8zUowrFPe9DRxs5\"]},\"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\":\"0x03fa1f70ccb3895c63d484ed08892dad57ccb01a194d19b85425348c4fb6a711\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://69bb811fe4ce219a033e950d2bfbd34a511ac5d4db7836c86e8c471c7a61b75a\",\"dweb:/ipfs/QmX2LoUGmRn28P1UfwQcfexJ2kdR8kG6UZrsM8d1Nit69G\"]},\"src/types/PoolId.sol\":{\"keccak256\":\"0x6946552d4f78712c769df47a9187aa0add8737bb6d06ef04b63a33a3c0ff59f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://637851aaa9e06ff59b517e6da17dad3476968c0bc62e141158f76526a8f9c79f\",\"dweb:/ipfs/QmVUxPCRCBE23XQdCrroeUuFqNTtq2LvJaDYmp43QGNsMB\"]},\"src/types/PoolKey.sol\":{\"keccak256\":\"0x10a2ff74d87d105f52c6c10f0c6ea0548c12a75dfb979abab8a8b7d647305162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0680665f799067c0f0238e864e363c265ff23188dfe6ae1c4738f7d0a281ccf\",\"dweb:/ipfs/QmRCkZhaPknrV9cHkUiU3HVyMYYT3UaD8RfptHi4qB62zY\"]},\"test/utils/CurrencySettler.sol\":{\"keccak256\":\"0xf5d04aa76b3ac6ff75396661e75ec612035ebd73d23eb6f4e207dbd46392688e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67a67b94a2987309f06003374ddfc30ab8e81d9fec3b1585e93871eec6966d96\",\"dweb:/ipfs/QmYLzboZNfXoNufKX8UYMGhHVChqMK96vwFWjKeoWcfb24\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}]},{"inputs":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"struct IPoolManager.ModifyLiquidityParams","name":"params","type":"tuple","components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}]},{"internalType":"bytes","name":"hookData","type":"bytes"},{"internalType":"bool","name":"settleUsingBurn","type":"bool"},{"internalType":"bool","name":"takeClaims","type":"bool"}],"stateMutability":"payable","type":"function","name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}]},{"inputs":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"struct IPoolManager.ModifyLiquidityParams","name":"params","type":"tuple","components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}]},{"internalType":"bytes","name":"hookData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}]},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=lib/openzeppelin-contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/forge-gas-snapshot/src/","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":"ipfs"},"compilationTarget":{"src/test/PoolModifyLiquidityTest.sol":"PoolModifyLiquidityTest"},"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":"0xdbaf1db938b70f77eb4ddbad5b8d2a1fc648c7d65ca2a312aba16cc013c85df0","urls":["bzz-raw://4ad2d9c85116a2e51281dd40577c798d6d5968be1f8908f43ba152849809deaa","dweb:/ipfs/QmZP4kk9KJzoxv81EgsTfHnJeU8YUxX3yWZudJHbxQjpa8"],"license":"MIT"},"src/interfaces/IPoolManager.sol":{"keccak256":"0x7dd9b494e616cbf623c21e2b8c4e8375acf27d307b02700d4965170bff3bb838","urls":["bzz-raw://381e66840cc15dc602b56a55554aa4ae581e4cfc7ddbfb51f838e6b40981664b","dweb:/ipfs/QmeLdh22eqpj53C8562oN7pE4oWR1sjD82TKdV3sMq3tYu"],"license":"MIT"},"src/interfaces/IProtocolFeeController.sol":{"keccak256":"0xc2d7f3605da9767e36cf25d4d4fa9b95663a6659e26ce28cf29b8b88acb79a4c","urls":["bzz-raw://c7a43cda35b8a9254ed3e46cfd8649361f09121d17ef554bd3d190b9a8d57cc6","dweb:/ipfs/QmRBDQoqCWddH5hY1JdxMyYtY8jMZhWAwtuFJBc3r8V31G"],"license":"MIT"},"src/interfaces/IProtocolFees.sol":{"keccak256":"0x68700020df618c5715737e57630876ec22ccde2d31191a5608babb9f140ed297","urls":["bzz-raw://56b7bb6786f48fff8c9d04e9054955b8cf3d9f5bf819ccda7be192ad2004a27f","dweb:/ipfs/QmZKmUvcYnyihEFySD6SY9osMkP8M1Y7a4kPxLQycEyThw"],"license":"MIT"},"src/interfaces/callback/IUnlockCallback.sol":{"keccak256":"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719","urls":["bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b","dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK"],"license":"MIT"},"src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xc1c23330c1511ecfd45c67a683962b4e2555b82f1dacd40cc8b46ae5a6e250e7","urls":["bzz-raw://5ce10b7970482a65f9e9a365b810eeb154a5d4a8229a26653028d84b9622a410","dweb:/ipfs/QmTSwXxZ2FTkM5duBZgbpFs8SRVDR5NPAnW4YimeDhb1s8"],"license":"GPL-2.0-or-later"},"src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"src/libraries/CurrencyReserves.sol":{"keccak256":"0xdeffc5cf2f8f7d3f802998941061392c0c926a32c7105ffd9f902ab84d3a31c6","urls":["bzz-raw://869bd659c5593bc525ce4d44771d85eb8acb74a7f0492802bdcc79d2bfdfcaf7","dweb:/ipfs/QmSrTWzUHrou7ZxcuFXQhvzXmEgbLeCtwAqeS6k9vD22h3"],"license":"BUSL-1.1"},"src/libraries/CustomRevert.sol":{"keccak256":"0x2b70cc5e6ca761f4b3110bd7ea6c6064167df260a669b08b2c96c115d5c944ff","urls":["bzz-raw://0f2ae8f2d7da6103f3d884935fb5da10c5463b4d229b31de9e592c4d2275e0bc","dweb:/ipfs/QmWeVnC18TEqGy7fp2GApReNUuZFfDAEsWkycDV8N1LAmy"],"license":"MIT"},"src/libraries/FixedPoint128.sol":{"keccak256":"0xc7e80dc41f28887d0d915a75c0b2783ae659e5384dd1a3ed1251a42e058d8835","urls":["bzz-raw://2df62bf1d9d4349236fd0bc7a96b3a3be95f4c049603e4a20c8473cca9402b4d","dweb:/ipfs/QmVR5dmMkoypmhaBeBj8cGegHpJycbofUDg59dHm42i9MT"],"license":"GPL-2.0-or-later"},"src/libraries/FullMath.sol":{"keccak256":"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2","urls":["bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52","dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC"],"license":"MIT"},"src/libraries/Hooks.sol":{"keccak256":"0x028173d4dfa579c49e1d6aa0b0f4d9e0b5b5812bb573586fff53f33926720699","urls":["bzz-raw://98cf56f5917c23331a641363c31d353d58c9a3053bb7d64e62bed5161a23174a","dweb:/ipfs/QmfVufa7owRy4VxYYGHN87F3YGNWvuSq1cpCpJjATvf6CM"],"license":"MIT"},"src/libraries/LPFeeLibrary.sol":{"keccak256":"0xfbebd6766871b795d945a74b6110931f73fc775aeeecc2682d6d6ca841a01ece","urls":["bzz-raw://36fcc7098454971ae16d790ee9aee227c22c5cbbd7ff6e27e58ac29b901d5896","dweb:/ipfs/QmboCGTWtycGpda7E169pD67Fox2H9b1YRsNHcsxBRrhfo"],"license":"GPL-2.0-or-later"},"src/libraries/LiquidityMath.sol":{"keccak256":"0x4a04b9383e2fb943c2c3ae7d0c9071b58dd97b6dac0a409fe1c79c3ca897bbcf","urls":["bzz-raw://0b33cf0ff936f62aa7f3b82922fa0ac52ac24471561e87fbf7ab8372607f6dfc","dweb:/ipfs/Qmcr6omwzJjQPu6HQ8E9vFXaTgrtqfb2KbfxbuQavfUzFa"],"license":"GPL-2.0-or-later"},"src/libraries/Lock.sol":{"keccak256":"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5","urls":["bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c","dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF"],"license":"BUSL-1.1"},"src/libraries/NonZeroDeltaCount.sol":{"keccak256":"0x6b7e23f470b8352efdbf459a34dd0dcfdbe03e623cb4de67f4ad9be326691586","urls":["bzz-raw://b86af075e2331f7a065b15d91253f2ce6b845dfe09493338f2d7cdab6f9e4cc2","dweb:/ipfs/QmdzHJQapqAS42rMrYPgdvb4Sae7NVy3ESkNc1TuBRcxUC"],"license":"BUSL-1.1"},"src/libraries/ParseBytes.sol":{"keccak256":"0xf0795198d1e651b0b33fd1708d80a14f501bb2a1486905676d35f364e880f579","urls":["bzz-raw://5aea527fcec51d7274f0c189dc2479a6aa708fc91857187a4d7db46bb1d6c7a8","dweb:/ipfs/QmUTrwTPSZ7EHBaTyfAA78rZVP17iQzmAmvDcQ8GhDRAEf"],"license":"GPL-2.0-or-later"},"src/libraries/Position.sol":{"keccak256":"0x0309a650890f1cd93e2b4b1e9a40032d5feb8c6a0ccc24be24373bfd7590ff80","urls":["bzz-raw://63aae574b22048f1453da8f9142374e334683bb3a069c2312f73e6b857842bce","dweb:/ipfs/QmcJZK3kU4jsWfJKBpRq2kaouutEDHcytgMX8ZaGeBsbgu"],"license":"BUSL-1.1"},"src/libraries/SafeCast.sol":{"keccak256":"0xbccc4f8d5d467d162d7f0ab5a7f22bcccf05ae07577b9728c9e3030c63977e60","urls":["bzz-raw://0003ea7a515ba709a3fdeaa19e7930c1f883b3b4fbdbf389d4f2f85b25eb72b4","dweb:/ipfs/QmYs8uNcYRGuGUbeBfF27fhArNaQ5Y9iMCTMfgic5d39fM"],"license":"GPL-2.0-or-later"},"src/libraries/StateLibrary.sol":{"keccak256":"0xc6ec44163ec8070201159b62deba112acc572c487cae1abaf0e9974f7c9ade3f","urls":["bzz-raw://da5517ebf580a3aa8ea9f0e0253c9c739c610a6a04fae1285f705721264aad1a","dweb:/ipfs/QmZQuTAJhnhRwTQhQywfy3hK1iG5FwubTRrEXYzaPJxVMs"],"license":"MIT"},"src/libraries/TransientStateLibrary.sol":{"keccak256":"0x1bc28f30c176c7c598522da0d8907a90c4cd8ecce81775bb4deb3a9b78782f86","urls":["bzz-raw://fb5c05fb51e59ef168ba884c4ea3627525dba9feea0de9ffa0587438f70fd095","dweb:/ipfs/Qmbx3ntPDZ9VeGsAnVNSM5DKmhPg92yobh5ZHbvdGWtHUd"],"license":"MIT"},"src/test/PoolModifyLiquidityTest.sol":{"keccak256":"0x4578759af55db566eee1d19c19a285710b1d301b511e37df4a1072c2d5a47ade","urls":["bzz-raw://aa6588f1f695efe625241fdbad07730611c8bec77d963698c6412775b7dd68a7","dweb:/ipfs/QmeDGAKa9sR6Wk5ibyzt4YGa6tdtjmFPzJafMbBgkWRB9d"],"license":"UNLICENSED"},"src/test/PoolTestBase.sol":{"keccak256":"0x71db5a5215d858124dd2ccf73c4474421651f248e4c85d33455d95abced0a23c","urls":["bzz-raw://fac0df901621d44a1b98ce4569616940ca6700e7829357bdf18509237b822072","dweb:/ipfs/Qmf9sWokQvzmKfAY6Vd4QzyTyhikqCb8zUowrFPe9DRxs5"],"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":"0x03fa1f70ccb3895c63d484ed08892dad57ccb01a194d19b85425348c4fb6a711","urls":["bzz-raw://69bb811fe4ce219a033e950d2bfbd34a511ac5d4db7836c86e8c471c7a61b75a","dweb:/ipfs/QmX2LoUGmRn28P1UfwQcfexJ2kdR8kG6UZrsM8d1Nit69G"],"license":"MIT"},"src/types/PoolId.sol":{"keccak256":"0x6946552d4f78712c769df47a9187aa0add8737bb6d06ef04b63a33a3c0ff59f8","urls":["bzz-raw://637851aaa9e06ff59b517e6da17dad3476968c0bc62e141158f76526a8f9c79f","dweb:/ipfs/QmVUxPCRCBE23XQdCrroeUuFqNTtq2LvJaDYmp43QGNsMB"],"license":"MIT"},"src/types/PoolKey.sol":{"keccak256":"0x10a2ff74d87d105f52c6c10f0c6ea0548c12a75dfb979abab8a8b7d647305162","urls":["bzz-raw://a0680665f799067c0f0238e864e363c265ff23188dfe6ae1c4738f7d0a281ccf","dweb:/ipfs/QmRCkZhaPknrV9cHkUiU3HVyMYYT3UaD8RfptHi4qB62zY"],"license":"MIT"},"test/utils/CurrencySettler.sol":{"keccak256":"0xf5d04aa76b3ac6ff75396661e75ec612035ebd73d23eb6f4e207dbd46392688e","urls":["bzz-raw://67a67b94a2987309f06003374ddfc30ab8e81d9fec3b1585e93871eec6966d96","dweb:/ipfs/QmYLzboZNfXoNufKX8UYMGhHVChqMK96vwFWjKeoWcfb24"],"license":"MIT"}},"version":1},"id":91} \ No newline at end of file diff --git a/src/error.rs b/src/error.rs new file mode 100644 index 0000000..232f07a --- /dev/null +++ b/src/error.rs @@ -0,0 +1,13 @@ +use thiserror::Error; + +/// Error type for Arena. +#[derive(Error, Debug)] +pub enum ArenaError { + /// Contract interaction failed. + #[error("alloy contract error {0}")] + ContractError(#[from] alloy_contract::Error), + + /// Conversion error when parsing ether values. + #[error("alloy conversion error {0}")] + ConversionError(#[from] alloy::primitives::utils::UnitsError), +}