UNPKG

@uniswap/v4-core

Version:

🦄 Core smart contracts of Uniswap v4

1 lines • 48.9 kB
{"abi":[{"type":"constructor","inputs":[{"name":"_manager","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"nonpayable"},{"type":"function","name":"donate","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":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"hookData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"delta","type":"int256","internalType":"BalanceDelta"}],"stateMutability":"payable"},{"type":"function","name":"manager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"},{"type":"function","name":"unlockCallback","inputs":[{"name":"rawData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60a034607a57601f6112d238819003918201601f19168301916001600160401b03831184841017607e57808492602094604052833981010312607a57516001600160a01b0381168103607a5760805260405161123f9081610093823960805181818160ab015281816107c101528181610a360152610dc10152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063234266d7146107e5578063481c6a7514610777576391dd73461461003a575f80fd5b346106a45760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a45760043567ffffffffffffffff81116106a457366023820112156106a457806004013567ffffffffffffffff81116106a45781019060248201913683116106a4577f00000000000000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff8216928333036106a4576020818303126106a45760248101359067ffffffffffffffff82116106a4570190610120828203126106a45760a060247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc846040519461014986610bc6565b610154848301610c50565b8652030101126106a4576040519261016b84610bc6565b61017760448401610c50565b845261018560648401610c50565b6020850152608483013562ffffff811681036106a457604085015260a48301358060020b81036106a457606085015260c483013573ffffffffffffffffffffffffffffffffffffffff811681036106a457608085015260208201938452604082019260e48101358452606083019661010482013588526101248201359167ffffffffffffffff83116106a45761021e9201602401610cab565b946080830195865261026173ffffffffffffffffffffffffffffffffffffffff8651511673ffffffffffffffffffffffffffffffffffffffff8551163091610d9c565b9150506102a373ffffffffffffffffffffffffffffffffffffffff60208851015116309073ffffffffffffffffffffffffffffffffffffffff87511690610d9c565b92915050610719576106bb576020908551906103445f8751936103618c519b516040519c8d97889687957f234266d7000000000000000000000000000000000000000000000000000000008752600487019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b60a485015260c484015261010060e4840152610104830190610cf1565b03925af19485156106b0575f95610678575b506103b073ffffffffffffffffffffffffffffffffffffffff85515116309073ffffffffffffffffffffffffffffffffffffffff85511690610d9c565b979150506104006103f673ffffffffffffffffffffffffffffffffffffffff60208851015116309073ffffffffffffffffffffffffffffffffffffffff87511690610d9c565b9691505051610d43565b87036105f4576104109051610d43565b830361057057855f610469971261052d575b5f84126104e1575b5f811361049f575b505f831361046d575b858560405190602082015260208152610455604082610c0f565b604051918291602083526020830190610cf1565b0390f35b73ffffffffffffffffffffffffffffffffffffffff80602061049696510151169251169161111f565b5f80808061043b565b6104db9073ffffffffffffffffffffffffffffffffffffffff865151168373ffffffffffffffffffffffffffffffffffffffff8651169161111f565b5f610432565b61052873ffffffffffffffffffffffffffffffffffffffff6020875101511673ffffffffffffffffffffffffffffffffffffffff8551168461052288610d43565b92610e86565b61042a565b61056b73ffffffffffffffffffffffffffffffffffffffff8651511673ffffffffffffffffffffffffffffffffffffffff8551168461052285610d43565b610422565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f64656c7461416674657231206973206e6f7420657175616c20746f202d696e7460448201527f32353628646174612e616d6f756e7431290000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f64656c7461416674657230206973206e6f7420657175616c20746f202d696e7460448201527f32353628646174612e616d6f756e7430290000000000000000000000000000006064820152fd5b9094506020813d6020116106a8575b8161069460209383610c0f565b810103126106a45751935f610373565b5f80fd5b3d9150610687565b6040513d5f823e3d90fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64656c74614265666f726531206973206e6f74203000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64656c74614265666f726530206973206e6f74203000000000000000000000006044820152fd5b346106a4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360161010081126106a45760a0136106a45760405161082481610bc6565b60043573ffffffffffffffffffffffffffffffffffffffff811681036106a457815260243573ffffffffffffffffffffffffffffffffffffffff811681036106a457602082015260443562ffffff811681036106a45760408201526064358060020b81036106a457606082015260843573ffffffffffffffffffffffffffffffffffffffff811681036106a457608082015260e43567ffffffffffffffff81116106a45773ffffffffffffffffffffffffffffffffffffffff6109e1610a1c936109b56108f65f953690600401610cab565b6040519261090384610bc6565b338452602084019081526040840160a4358152610992606086019260c4358452608087019485526040519889976020808a01525116604088015251606087019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b516101008501525161012084015251610120610140840152610160830190610cf1565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610c0f565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352602060048401526024830190610cf1565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19081156106b0575f91610b4c575b50602081519181808201938492010103126106a457514780610a8e575b602082604051908152f35b5f80808093335af115610aa15781610a83565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d0116604051907f90bfb8650000000000000000000000000000000000000000000000000000000082523360048301525f6024830152608060448301528060a00160648301523d60848301523d5f60a484013e7ff4b3b1bc0000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b90503d805f833e610b5d8183610c0f565b8101906020818303126106a45780519067ffffffffffffffff82116106a4570181601f820112156106a457805190610b9482610c71565b92610ba26040519485610c0f565b828452602083830101116106a457815f9260208093018386015e8301015281610a66565b60a0810190811067ffffffffffffffff821117610be257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610be257604052565b359073ffffffffffffffffffffffffffffffffffffffff821682036106a457565b67ffffffffffffffff8111610be257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156106a457803590610cc282610c71565b92610cd06040519485610c0f565b828452602083830101116106a457815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b908160209103126106a4575190565b7f80000000000000000000000000000000000000000000000000000000000000008114610d6f575f0390565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9290610da890846111b3565b9273ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169181610ded84836111b3565b95165f5216602052602060405f206024604051809481937ff135baaa00000000000000000000000000000000000000000000000000000000835260048301525afa9081156106b0575f91610e3f575090565b90506020813d602011610e66575b81610e5a60209383610c0f565b810103126106a4575190565b3d9150610e4d565b908160209103126106a4575180151581036106a45790565b90919073ffffffffffffffffffffffffffffffffffffffff1680610f2657505073ffffffffffffffffffffffffffffffffffffffff600460209260405194859384927f11da60b4000000000000000000000000000000000000000000000000000000008452165af180156106b057610efb5750565b610f1c9060203d602011610f1f575b610f148183610c0f565b810190610d34565b50565b503d610f0a565b90929173ffffffffffffffffffffffffffffffffffffffff1691823b156106a457604051937fa58411940000000000000000000000000000000000000000000000000000000085528260048601525a945f816024818389819bf180156106b0576110f6575b5073ffffffffffffffffffffffffffffffffffffffff1684308214611082576020929160649160405195869485937f23b872dd000000000000000000000000000000000000000000000000000000008552600485015288602485015260448401525af180156110775791602091849361104a575b505b6004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af190811561103e5750610efb5750565b604051903d90823e3d90fd5b61106990833d8511611070575b6110618183610c0f565b810190610e6e565b505f610fff565b503d611057565b6040513d85823e3d90fd5b929050604460209260405194859384927fa9059cbb00000000000000000000000000000000000000000000000000000000845288600485015260248401525af18015611077579160209184936110d9575b50611001565b6110ef90833d8511611070576110618183610c0f565b505f6110d3565b6111039195505f90610c0f565b5f9373ffffffffffffffffffffffffffffffffffffffff610f8b565b91929073ffffffffffffffffffffffffffffffffffffffff16803b156106a4575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967f0b0d9c0900000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af180156106b0576111a75750565b5f6111b191610c0f565b565b73ffffffffffffffffffffffffffffffffffffffff16806111d357503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa9081156106b0575f91610e3f57509056fea164736f6c634300081a000a","sourceMap":"508:2342:87:-:0;;;;;;;;;;;;;-1:-1:-1;;508:2342:87;;;;-1:-1:-1;;;;;508:2342:87;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;508:2342:87;;;;;;628:18:94;;508:2342:87;;;;;;;;628:18:94;508:2342:87;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;508:2342:87;;;;;;-1:-1:-1;508:2342:87;;;;;-1:-1:-1;508:2342:87","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c8063234266d7146107e5578063481c6a7514610777576391dd73461461003a575f80fd5b346106a45760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a45760043567ffffffffffffffff81116106a457366023820112156106a457806004013567ffffffffffffffff81116106a45781019060248201913683116106a4577f00000000000000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff8216928333036106a4576020818303126106a45760248101359067ffffffffffffffff82116106a4570190610120828203126106a45760a060247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc846040519461014986610bc6565b610154848301610c50565b8652030101126106a4576040519261016b84610bc6565b61017760448401610c50565b845261018560648401610c50565b6020850152608483013562ffffff811681036106a457604085015260a48301358060020b81036106a457606085015260c483013573ffffffffffffffffffffffffffffffffffffffff811681036106a457608085015260208201938452604082019260e48101358452606083019661010482013588526101248201359167ffffffffffffffff83116106a45761021e9201602401610cab565b946080830195865261026173ffffffffffffffffffffffffffffffffffffffff8651511673ffffffffffffffffffffffffffffffffffffffff8551163091610d9c565b9150506102a373ffffffffffffffffffffffffffffffffffffffff60208851015116309073ffffffffffffffffffffffffffffffffffffffff87511690610d9c565b92915050610719576106bb576020908551906103445f8751936103618c519b516040519c8d97889687957f234266d7000000000000000000000000000000000000000000000000000000008752600487019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b60a485015260c484015261010060e4840152610104830190610cf1565b03925af19485156106b0575f95610678575b506103b073ffffffffffffffffffffffffffffffffffffffff85515116309073ffffffffffffffffffffffffffffffffffffffff85511690610d9c565b979150506104006103f673ffffffffffffffffffffffffffffffffffffffff60208851015116309073ffffffffffffffffffffffffffffffffffffffff87511690610d9c565b9691505051610d43565b87036105f4576104109051610d43565b830361057057855f610469971261052d575b5f84126104e1575b5f811361049f575b505f831361046d575b858560405190602082015260208152610455604082610c0f565b604051918291602083526020830190610cf1565b0390f35b73ffffffffffffffffffffffffffffffffffffffff80602061049696510151169251169161111f565b5f80808061043b565b6104db9073ffffffffffffffffffffffffffffffffffffffff865151168373ffffffffffffffffffffffffffffffffffffffff8651169161111f565b5f610432565b61052873ffffffffffffffffffffffffffffffffffffffff6020875101511673ffffffffffffffffffffffffffffffffffffffff8551168461052288610d43565b92610e86565b61042a565b61056b73ffffffffffffffffffffffffffffffffffffffff8651511673ffffffffffffffffffffffffffffffffffffffff8551168461052285610d43565b610422565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f64656c7461416674657231206973206e6f7420657175616c20746f202d696e7460448201527f32353628646174612e616d6f756e7431290000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f64656c7461416674657230206973206e6f7420657175616c20746f202d696e7460448201527f32353628646174612e616d6f756e7430290000000000000000000000000000006064820152fd5b9094506020813d6020116106a8575b8161069460209383610c0f565b810103126106a45751935f610373565b5f80fd5b3d9150610687565b6040513d5f823e3d90fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64656c74614265666f726531206973206e6f74203000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64656c74614265666f726530206973206e6f74203000000000000000000000006044820152fd5b346106a4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360161010081126106a45760a0136106a45760405161082481610bc6565b60043573ffffffffffffffffffffffffffffffffffffffff811681036106a457815260243573ffffffffffffffffffffffffffffffffffffffff811681036106a457602082015260443562ffffff811681036106a45760408201526064358060020b81036106a457606082015260843573ffffffffffffffffffffffffffffffffffffffff811681036106a457608082015260e43567ffffffffffffffff81116106a45773ffffffffffffffffffffffffffffffffffffffff6109e1610a1c936109b56108f65f953690600401610cab565b6040519261090384610bc6565b338452602084019081526040840160a4358152610992606086019260c4358452608087019485526040519889976020808a01525116604088015251606087019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b516101008501525161012084015251610120610140840152610160830190610cf1565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610c0f565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352602060048401526024830190610cf1565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19081156106b0575f91610b4c575b50602081519181808201938492010103126106a457514780610a8e575b602082604051908152f35b5f80808093335af115610aa15781610a83565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d0116604051907f90bfb8650000000000000000000000000000000000000000000000000000000082523360048301525f6024830152608060448301528060a00160648301523d60848301523d5f60a484013e7ff4b3b1bc0000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b90503d805f833e610b5d8183610c0f565b8101906020818303126106a45780519067ffffffffffffffff82116106a4570181601f820112156106a457805190610b9482610c71565b92610ba26040519485610c0f565b828452602083830101116106a457815f9260208093018386015e8301015281610a66565b60a0810190811067ffffffffffffffff821117610be257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610be257604052565b359073ffffffffffffffffffffffffffffffffffffffff821682036106a457565b67ffffffffffffffff8111610be257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156106a457803590610cc282610c71565b92610cd06040519485610c0f565b828452602083830101116106a457815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b908160209103126106a4575190565b7f80000000000000000000000000000000000000000000000000000000000000008114610d6f575f0390565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9290610da890846111b3565b9273ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169181610ded84836111b3565b95165f5216602052602060405f206024604051809481937ff135baaa00000000000000000000000000000000000000000000000000000000835260048301525afa9081156106b0575f91610e3f575090565b90506020813d602011610e66575b81610e5a60209383610c0f565b810103126106a4575190565b3d9150610e4d565b908160209103126106a4575180151581036106a45790565b90919073ffffffffffffffffffffffffffffffffffffffff1680610f2657505073ffffffffffffffffffffffffffffffffffffffff600460209260405194859384927f11da60b4000000000000000000000000000000000000000000000000000000008452165af180156106b057610efb5750565b610f1c9060203d602011610f1f575b610f148183610c0f565b810190610d34565b50565b503d610f0a565b90929173ffffffffffffffffffffffffffffffffffffffff1691823b156106a457604051937fa58411940000000000000000000000000000000000000000000000000000000085528260048601525a945f816024818389819bf180156106b0576110f6575b5073ffffffffffffffffffffffffffffffffffffffff1684308214611082576020929160649160405195869485937f23b872dd000000000000000000000000000000000000000000000000000000008552600485015288602485015260448401525af180156110775791602091849361104a575b505b6004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af190811561103e5750610efb5750565b604051903d90823e3d90fd5b61106990833d8511611070575b6110618183610c0f565b810190610e6e565b505f610fff565b503d611057565b6040513d85823e3d90fd5b929050604460209260405194859384927fa9059cbb00000000000000000000000000000000000000000000000000000000845288600485015260248401525af18015611077579160209184936110d9575b50611001565b6110ef90833d8511611070576110618183610c0f565b505f6110d3565b6111039195505f90610c0f565b5f9373ffffffffffffffffffffffffffffffffffffffff610f8b565b91929073ffffffffffffffffffffffffffffffffffffffff16803b156106a4575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967f0b0d9c0900000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af180156106b0576111a75750565b5f6111b191610c0f565b565b73ffffffffffffffffffffffffffffffffffffffff16806111d357503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa9081156106b0575f91610e3f57509056fea164736f6c634300081a000a","sourceMap":"508:2342:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1462:7;508:2342;;;;1440:10;;;:30;508:2342;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1582:62;508:2342;1597:8;;508:2342;;;;;;1638:4;1582:62;;:::i;:::-;1696:8;;;1681:62;508:2342;;1696:8;;:18;508:2342;;1638:4;508:2342;;;;;1681:62;;:::i;:::-;1762:17;;;;508:2342;;;;;1913:8;;;508:2342;;;;;;;;;1951:13;;508:2342;;1898:67;;;;;;;508:2342;1898:67;;508:2342;1898:67;;508:2342;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1898:67;;;;;;;;;508:2342;1898:67;;;508:2342;2017:8;2002:62;508:2342;2017:8;;508:2342;;1638:4;508:2342;;;;;2002:62;;:::i;:::-;2115:8;;;;2196:21;2100:62;508:2342;;2115:8;;:18;508:2342;;1638:4;508:2342;;;;;2100:62;;:::i;:::-;508:2342;;;;;2196:21;:::i;:::-;2181:36;;508:2342;;2304:21;508:2342;;2304:21;:::i;:::-;2289:36;;508:2342;;2394:15;508:2342;;2394:15;;2390:98;;508:2342;;2502:15;;2498:98;;508:2342;;2610:15;;2606:95;;508:2342;2715:15;508:2342;2715:15;;2711:95;;508:2342;;;;;2824:17;508:2342;2824:17;;508:2342;;2824:17;;;508:2342;2824:17;;:::i;:::-;508:2342;;;;;;;;;;;;;:::i;:::-;;;;2711:95;508:2342;2732:8;508:2342;2800:5;2732:8;;:18;508:2342;;;;;2800:5;;:::i;:::-;2711:95;;;;;;2606;2695:5;2627:8;508:2342;2627:8;;508:2342;;;;;;;2695:5;;:::i;:::-;2606:95;;;2498:98;2590:5;508:2342;;2519:8;;:18;508:2342;;;;;;2575:12;;;;:::i;:::-;2590:5;;:::i;:::-;2498:98;;2390;2482:5;508:2342;2411:8;;508:2342;;;;;;2467:12;;;;:::i;2482:5::-;2390:98;;508:2342;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1898:67;;;;508:2342;1898:67;;508:2342;1898:67;;;;;;508:2342;1898:67;;;:::i;:::-;;;508:2342;;;;;1898:67;;;;508:2342;;;;1898:67;;;-1:-1:-1;1898:67:87;;;508:2342;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;539:37:94;508:2342:87;;;;;;;;;;;;;;-1:-1:-1;508:2342:87;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:69;508:2342;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1089:10;508:2342;;;1076:57;;508:2342;;;;1076:57;;508:2342;;;;;;1076:57;;508:2342;;;;;;1076:57;;508:2342;;;;;1065:69;;;508:2342;1065:69;;;508:2342;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1065:69;;;;;;;;:::i;:::-;508:2342;;1050:85;;;;508:2342;1050:85;;508:2342;;1050:85;;508:2342;;;;;;:::i;:::-;1050:85;:7;;508:2342;1050:7;508:2342;1050:85;;;;;;;508:2342;1050:85;;;508:2342;;;;;1026:135;;;;;;;;;;508:2342;;;;;1193:21;1228:14;1224:106;;508:2342;;;;;;;;;1224:106;508:2342;1769:24:107;;;;1089:10:87;1809:163:107;;2085:8;2081:127;;1224:106:87;;;2081:127:107;1065:69:87;3741:1424:46;;;;508:2342:87;3741:1424:46;;3710:21;3741:1424;;1089:10:87;508:2342;3741:1424:46;;;508:2342:87;;3741:1424:46;;;508:2342:87;;3741:1424:46;;;;508:2342:87;3741:1424:46;508:2342:87;3741:1424:46;;;;508:2342:87;3741:1424:46;;;;508:2342:87;;3741:1424:46;;;2163:29:107;508:2342:87;3741:1424:46;;;508:2342:87;;3741:1424:46;;;;;508:2342:87;3741:1424:46;;;1050:85:87;;;;;508:2342;1050:85;;;;;;:::i;:::-;;;508:2342;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:85;;;508:2342;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;508:2342:87;;;;;-1:-1:-1;508:2342:87;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;508:2342:87;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;508:2342:87;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;659:362:94;;;868:24;659:362;868:24;;:::i;:::-;943:7;508:2342:87;943:7:94;;508:2342:87;916:36:94;;;;;;:::i;:::-;1853:233:65;;-1:-1:-1;1853:233:65;;;;;;-1:-1:-1;1853:233:65;2117:21;1853:233;508:2342:87;2117:21:65;;;;508:2342:87;2117:21:65;;;;;508:2342:87;2117:21:65;;;;;;;-1:-1:-1;2117:21:65;;;962:52:94;659:362;:::o;2117:21:65:-;;;1853:233;2117:21;;1853:233;2117:21;;;;;;1853:233;2117:21;;;:::i;:::-;;;508:2342:87;;;;;659:362:94;:::o;2117:21:65:-;;;-1:-1:-1;2117:21:65;;508:2342:87;;;;;;;;;;;;;;;;;;:::o;979:810:151:-;;;;508:2342:87;;4998:58:107;1344:24:151;;508:2342:87;;;1384:31:151;;508:2342:87;;;1384:31:151;;;;;508:2342:87;1384:31:151;;508:2342:87;1384:31:151;;;;;;;;1340:443;979:810::o;1384:31::-;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;979:810::o;1384:31::-;;;;;1340:443;508:2342:87;;;;;1446:22:151;;;;;;508:2342:87;;1446:22:151;508:2342:87;1446:22:151;;;;;;508:2342:87;1446:22:151;1255:528;;;1446:22;1255:528;;;;1446:22;;;;;;;;1340:443;-1:-1:-1;508:2342:87;;1503:4:151;;1486:22;;1503:4;;508:2342:87;;;1528:86:151;508:2342:87;;;1528:86:151;;;;;508:2342:87;1528:86:151;;1446:22;1528:86;;508:2342:87;;1446:22:151;508:2342:87;;;;;;;1528:86:151;;;;;;;508:2342:87;1528:86:151;;;;;1482:261;;;1446:22;508:2342:87;;1756:16:151;;;;508:2342:87;1756:16:151;;;;;;;;;;;;1340:443;979:810::o;1756:16::-;508:2342:87;;;;;;;;;;1528:86:151;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;508:2342:87;;;;;;;;;1482:261:151;508:2342:87;;;1653:75:151;508:2342:87;;;;1653:75:151;;;;;508:2342:87;1653:75:151;;;1446:22;1653:75;;508:2342:87;1446:22:151;508:2342:87;;;1653:75:151;;;;;;;508:2342:87;1653:75:151;;;;;1482:261;;;;1653:75;;;;;;;;;;;;;:::i;:::-;;;;;1446:22;;;;;1255:528;1446:22;;:::i;:::-;1255:528;;508:2342:87;1446:22:151;;2173:230;;;;508:2342:87;;2355:41:151;;;;;2295:101;508:2342:87;;2355:41:151;508:2342:87;;;;;;2355:41:151;;;;;508:2342:87;2355:41:151;;508:2342:87;2355:41:151;;;508:2342:87;;;;;;;;;;2355:41:151;;;;;;;;2173:230;:::o;2355:41::-;2295:101;2355:41;;;:::i;:::-;2173:230::o;4633:271:107:-;508:2342:87;;4998:58:107;4732:24;;4779:13;;4772:20;:::o;4728:170::-;508:2342:87;;4830:57:107;508:2342:87;;;;4830:57:107;;;;;508:2342:87;4830:57:107;;508:2342:87;4830:57:107;;;508:2342:87;4830:57:107;;;;;;;508:2342:87;4830:57:107;;;4823:64;;:::o","linkReferences":{},"immutableReferences":{"57867":[{"start":171,"length":32},{"start":1985,"length":32},{"start":2614,"length":32},{"start":3521,"length":32}]}},"methodIdentifiers":{"donate((address,address,uint24,int24,address),uint256,uint256,bytes)":"234266d7","manager()":"481c6a75","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\":[{\"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\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"donate\",\"outputs\":[{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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/PoolDonateTest.sol\":\"PoolDonateTest\"},\"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/callback/IUnlockCallback.sol\":{\"keccak256\":\"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b\",\"dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK\"]},\"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/CurrencyReserves.sol\":{\"keccak256\":\"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725\",\"dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX\"]},\"src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"src/libraries/FixedPoint128.sol\":{\"keccak256\":\"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb\",\"dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy\"]},\"src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"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/LiquidityMath.sol\":{\"keccak256\":\"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99\",\"dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD\"]},\"src/libraries/Lock.sol\":{\"keccak256\":\"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c\",\"dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF\"]},\"src/libraries/NonzeroDeltaCount.sol\":{\"keccak256\":\"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59\",\"dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm\"]},\"src/libraries/ParseBytes.sol\":{\"keccak256\":\"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17\",\"dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa\"]},\"src/libraries/Position.sol\":{\"keccak256\":\"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2\",\"dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5\"]},\"src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"src/libraries/StateLibrary.sol\":{\"keccak256\":\"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0\",\"dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY\"]},\"src/libraries/TransientStateLibrary.sol\":{\"keccak256\":\"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5\",\"dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV\"]},\"src/test/PoolDonateTest.sol\":{\"keccak256\":\"0x5e517fea38336bb86419f7280d5f80b26fe8cab9eac1cf400e27f87562d3d105\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://5528c6a97eefbb94607d1a2aa07b1ec6f9c9b955b5f4a123ee88beabf6a03deb\",\"dweb:/ipfs/QmYfcaX1vkzjb1s389Rj7VsvCttB5wdarP17vyHWiejbqq\"]},\"src/test/PoolTestBase.sol\":{\"keccak256\":\"0xc3b1c46487231f8416d053652cfb3c773d728705a6a1a542ea48e8d1cca44962\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c2229b5915fcf17c58253b81cd4bbff62f7fbc6df8c370188c771fc40febf15a\",\"dweb:/ipfs/QmRu2Qb341KpA9k9prYH8buJek6vZiE7bxnyC9UkjVGBxV\"]},\"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\"]},\"test/utils/CurrencySettler.sol\":{\"keccak256\":\"0x2569dc02a637111de76e8e8c65f27510e7608273c19652fe6d31d76c983c19b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9fbc9085e011e7208505c8ff7d402e4dba13b5105b25a24eac85b4a5921de58\",\"dweb:/ipfs/QmPyBSC5JvZrePDjdt2AiNt3EEUXgxX1orvTX1JZidz9PP\"]}},\"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":[{"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":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"donate","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}]},{"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/","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/PoolDonateTest.sol":"PoolDonateTest"},"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/callback/IUnlockCallback.sol":{"keccak256":"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719","urls":["bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b","dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK"],"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/CurrencyReserves.sol":{"keccak256":"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3","urls":["bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725","dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX"],"license":"BUSL-1.1"},"src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"src/libraries/FixedPoint128.sol":{"keccak256":"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542","urls":["bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb","dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy"],"license":"MIT"},"src/libraries/FullMath.sol":{"keccak256":"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2","urls":["bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52","dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC"],"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/LiquidityMath.sol":{"keccak256":"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353","urls":["bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99","dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD"],"license":"MIT"},"src/libraries/Lock.sol":{"keccak256":"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5","urls":["bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c","dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF"],"license":"BUSL-1.1"},"src/libraries/NonzeroDeltaCount.sol":{"keccak256":"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87","urls":["bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59","dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm"],"license":"BUSL-1.1"},"src/libraries/ParseBytes.sol":{"keccak256":"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15","urls":["bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17","dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa"],"license":"MIT"},"src/libraries/Position.sol":{"keccak256":"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9","urls":["bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2","dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5"],"license":"BUSL-1.1"},"src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"src/libraries/StateLibrary.sol":{"keccak256":"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952","urls":["bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0","dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY"],"license":"MIT"},"src/libraries/TransientStateLibrary.sol":{"keccak256":"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a","urls":["bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5","dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV"],"license":"MIT"},"src/test/PoolDonateTest.sol":{"keccak256":"0x5e517fea38336bb86419f7280d5f80b26fe8cab9eac1cf400e27f87562d3d105","urls":["bzz-raw://5528c6a97eefbb94607d1a2aa07b1ec6f9c9b955b5f4a123ee88beabf6a03deb","dweb:/ipfs/QmYfcaX1vkzjb1s389Rj7VsvCttB5wdarP17vyHWiejbqq"],"license":"UNLICENSED"},"src/test/PoolTestBase.sol":{"keccak256":"0xc3b1c46487231f8416d053652cfb3c773d728705a6a1a542ea48e8d1cca44962","urls":["bzz-raw://c2229b5915fcf17c58253b81cd4bbff62f7fbc6df8c370188c771fc40febf15a","dweb:/ipfs/QmRu2Qb341KpA9k9prYH8buJek6vZiE7bxnyC9UkjVGBxV"],"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"},"test/utils/CurrencySettler.sol":{"keccak256":"0x2569dc02a637111de76e8e8c65f27510e7608273c19652fe6d31d76c983c19b6","urls":["bzz-raw://e9fbc9085e011e7208505c8ff7d402e4dba13b5105b25a24eac85b4a5921de58","dweb:/ipfs/QmPyBSC5JvZrePDjdt2AiNt3EEUXgxX1orvTX1JZidz9PP"],"license":"MIT"}},"version":1},"id":87}