UNPKG

@uniswap/v4-core

Version:

🦄 Core smart contracts of Uniswap v4

1 lines • 17.2 kB
{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"currency","type":"address","internalType":"Currency"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOfSelf","inputs":[{"name":"currency","type":"address","internalType":"Currency"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fromId","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"Currency"}],"stateMutability":"pure"},{"type":"function","name":"isAddressZero","inputs":[{"name":"currency","type":"address","internalType":"Currency"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"toId","inputs":[{"name":"currency","type":"address","internalType":"Currency"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"transfer","inputs":[{"name":"currency","type":"address","internalType":"Currency"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60808060405234601557610648908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081631192cde9146104125750806386bd3f91146103ba578063ac4a1c3a14610379578063beabacc814610105578063c277f1ac146100b45763f7888aec1461005e575f80fd5b346100b05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05760206100a861009a610466565b6100a2610489565b906105bc565b604051908152f35b5f80fd5b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b057602060405173ffffffffffffffffffffffffffffffffffffffff600435168152f35b346100b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05761013c610466565b610144610489565b906044359073ffffffffffffffffffffffffffffffffffffffff811690816102375750505f80808093855af11561017757005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011673ffffffffffffffffffffffffffffffffffffffff604051927f90bfb8650000000000000000000000000000000000000000000000000000000084521660048301525f6024830152608060448301528060a00160648301523d60848301523d5f60a484013e7ff4b3b1bc0000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b60205f60448194968260409573ffffffffffffffffffffffffffffffffffffffff988751998a947fa9059cbb00000000000000000000000000000000000000000000000000000000865216600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156102af57005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d0116604051917f90bfb86500000000000000000000000000000000000000000000000000000000835260048301527fa9059cbb000000000000000000000000000000000000000000000000000000006024830152608060448301528060a00160648301523d60848301523d5f60a484013e7ff27f64e40000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05760206100a86103b5610466565b61051a565b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b057602073ffffffffffffffffffffffffffffffffffffffff610408610466565b1615604051908152f35b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05760209073ffffffffffffffffffffffffffffffffffffffff610461610466565b168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100b057565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100b057565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104ed57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff168061053a57504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa9081156105b1575f91610582575090565b90506020813d6020116105a9575b8161059d602093836104ac565b810103126100b0575190565b3d9150610590565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff16806105dc57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa9081156105b1575f9161058257509056fea164736f6c634300081a000a","sourceMap":"131:770:69:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081631192cde9146104125750806386bd3f91146103ba578063ac4a1c3a14610379578063beabacc814610105578063c277f1ac146100b45763f7888aec1461005e575f80fd5b346100b05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05760206100a861009a610466565b6100a2610489565b906105bc565b604051908152f35b5f80fd5b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b057602060405173ffffffffffffffffffffffffffffffffffffffff600435168152f35b346100b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05761013c610466565b610144610489565b906044359073ffffffffffffffffffffffffffffffffffffffff811690816102375750505f80808093855af11561017757005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011673ffffffffffffffffffffffffffffffffffffffff604051927f90bfb8650000000000000000000000000000000000000000000000000000000084521660048301525f6024830152608060448301528060a00160648301523d60848301523d5f60a484013e7ff4b3b1bc0000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b60205f60448194968260409573ffffffffffffffffffffffffffffffffffffffff988751998a947fa9059cbb00000000000000000000000000000000000000000000000000000000865216600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156102af57005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d0116604051917f90bfb86500000000000000000000000000000000000000000000000000000000835260048301527fa9059cbb000000000000000000000000000000000000000000000000000000006024830152608060448301528060a00160648301523d60848301523d5f60a484013e7ff27f64e40000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05760206100a86103b5610466565b61051a565b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b057602073ffffffffffffffffffffffffffffffffffffffff610408610466565b1615604051908152f35b346100b05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b05760209073ffffffffffffffffffffffffffffffffffffffff610461610466565b168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100b057565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100b057565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104ed57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff168061053a57504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa9081156105b1575f91610582575090565b90506020813d6020116105a9575b8161059d602093836104ac565b810103126100b0575190565b3d9150610590565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff16806105dc57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa9081156105b1575f9161058257509056fea164736f6c634300081a000a","sourceMap":"131:770:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:25;131:770;;:::i;:::-;;;:::i;:::-;515:25;;:::i;:::-;131:770;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;4998:58:107;1769:24;;1809:163;;131:770:69;1809:163:107;;;;;;;2085:8;2081:127;;131:770:69;2081:127:107;3741:1424:46;;;;;131:770:69;;3741:1424:46;;3710:21;3741:1424;;;131:770:69;3741:1424:46;;;131:770:69;;3741:1424:46;;;;131:770:69;3741:1424:46;;;;;;;;;;;;;;;;131:770:69;3741:1424:46;;;;2163:29:107;3741:1424:46;;;;131:770:69;3741:1424:46;;;;;;;;;;1765:2574:107;131:770:69;;;2238:1774:107;;;;131:770:69;2238:1774:107;131:770:69;2238:1774:107;;;;;;;;;;131:770:69;2238:1774:107;;;131:770:69;2238:1774:107;;;;;;;;;;131:770:69;2238:1774:107;;;;;;;;;;;131:770:69;2238:1774:107;;;;;4124:8;4120:209;;131:770:69;4120:209:107;3741:1424:46;2238:1774:107;3741:1424:46;;;131:770:69;3741:1424:46;;3710:21;3741:1424;;131:770:69;3741:1424:46;;;2238:1774:107;131:770:69;3741:1424:46;;;;131:770:69;3741:1424:46;;;;;;;;;;;;;;;;131:770:69;3741:1424:46;;;;4268:28:107;3741:1424:46;;;;131:770:69;3741:1424:46;;;;;;;;;;131:770:69;;;;;;;;;;;;376:24;131:770;;:::i;:::-;376:24;:::i;131:770::-;;;;;;;;;;;;;;;:::i;:::-;;4998:58:107;131:770:69;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;131:770:69;;;;;-1:-1:-1;131:770:69;4351:276:107;131:770:69;;4998:58:107;4439:24;;4486:21;;4479:28;:::o;4435:186::-;131:770:69;4545:65:107;131:770:69;;;4545:65:107;;;;131:770:69;4545:65:107;;4604:4;4545:65;;;131:770:69;4545:65:107;;;;;;;131:770:69;4545:65:107;;;4538:72;;:::o;4545:65::-;;;131:770:69;4545:65:107;;131:770:69;4545:65:107;;;;;;131:770:69;4545:65:107;;;:::i;:::-;;;131:770:69;;;;;4538:72:107;:::o;4545:65::-;;;-1:-1:-1;4545:65:107;;;131:770:69;;;;;;;;;4633:271:107;131:770:69;;4998:58:107;4732:24;;4779:13;;4772:20;:::o;4728:170::-;131:770:69;;4830:57:107;131:770:69;;;;4830:57:107;;;;;131:770:69;4830:57:107;;131:770:69;4830:57:107;;;131:770:69;4830:57:107;;;;;;;131:770:69;4830:57:107;;;4823:64;;:::o","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,address)":"f7888aec","balanceOfSelf(address)":"ac4a1c3a","fromId(uint256)":"c277f1ac","isAddressZero(address)":"86bd3f91","toId(address)":"1192cde9","transfer(address,address,uint256)":"beabacc8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"balanceOfSelf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"fromId\",\"outputs\":[{\"internalType\":\"Currency\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"isAddressZero\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"toId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/CurrencyTest.sol\":\"CurrencyTest\"},\"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/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"src/test/CurrencyTest.sol\":{\"keccak256\":\"0x95fa31cdf4bde4b266367175d1bee5f2a3bb61bd634670db9a4b389775940c87\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ab70def14d1b283e029ecce48c3f61a9092f7961916e427233e22a8f836a0199\",\"dweb:/ipfs/QmQ8LCkckqd3k9YgZNVUgU56behu9YKpHQcZhLak5dAMEj\"]},\"src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOfSelf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"pure","type":"function","name":"fromId","outputs":[{"internalType":"Currency","name":"","type":"address"}]},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"stateMutability":"pure","type":"function","name":"isAddressZero","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"stateMutability":"pure","type":"function","name":"toId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer"}],"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/CurrencyTest.sol":"CurrencyTest"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"src/test/CurrencyTest.sol":{"keccak256":"0x95fa31cdf4bde4b266367175d1bee5f2a3bb61bd634670db9a4b389775940c87","urls":["bzz-raw://ab70def14d1b283e029ecce48c3f61a9092f7961916e427233e22a8f836a0199","dweb:/ipfs/QmQ8LCkckqd3k9YgZNVUgU56behu9YKpHQcZhLak5dAMEj"],"license":"UNLICENSED"},"src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"}},"version":1},"id":69}