UNPKG

@uniswap/v4-core

Version:

🦄 Core smart contracts of Uniswap v4

1 lines • 17.7 kB
{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"callParams","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calledWith","inputs":[{"name":"fnSig","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"calledWithSelector","inputs":[{"name":"selector","type":"bytes32","internalType":"bytes32"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"calls","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setImplementation","inputs":[{"name":"_impl","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"timesCalled","inputs":[{"name":"fnSig","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"timesCalledSelector","inputs":[{"name":"selector","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x608080604052346015576106ea908161001a8239f35b5f80fdfe60806040526004361015610015575b3661052b57005b5f3560e01c80633e43e5e51461007f5780635837e5b714610070578063891725b11461007a578063bbd7fc9a14610075578063cff1026514610070578063d784d4261461006b5763d80a40770361000e5761047c565b6103ff565b610156565b610362565b61019d565b346101245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043567ffffffffffffffff8111610124576100f96100f27fffffffff00000000000000000000000000000000000000000000000000000000923690600401610128565b36916102c9565b60208151910120165f525f60205261012060405f2054604051918291829190602083019252565b0390f35b5f80fd5b9181601f840112156101245782359167ffffffffffffffff8311610124576020838186019501011161012457565b346101245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610124576004355f525f602052602060405f2054604051908152f35b346101245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043567ffffffffffffffff8111610124576101ec903690600401610128565b9060243567ffffffffffffffff81116101245761023b6102317fffffffff00000000000000000000000000000000000000000000000000000000923690600401610128565b93909436916102c9565b60208151910120165f52600160205260405f2081600111610124576101209260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61028994019101610512565b5460405190151581529081906020820190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b92919267ffffffffffffffff821161033e57604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116830183811067ffffffffffffffff82111761033e57604052829481845281830111610124578281602093845f960137010152565b61029c565b6040518151909260209284929081908501845e82019081520301902090565b346101245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760243560043567ffffffffffffffff8211610124573660238301121561012457602080916103cc6101209436906024816004013591016102c9565b905f526001825260405f20604051938285935191829101845e820190815203019020546040519081529081906020820190565b346101245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043573ffffffffffffffffffffffffffffffffffffffff8116809103610124577fffffffffffffffffffffffff000000000000000000000000000000000000000060025416176002555f80f35b346101245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043560243567ffffffffffffffff8111610124576104ce903690600401610128565b90915f52600160205260405f2081600111610124576101209260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610289940191015b6020919283604051948593843782019081520301902090565b36600511610124577fffffffffff0000000000000000000000000000000000000000000000000000005f35167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb360167ffffffffffffffff811161033e57604051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601a3601160116820182811067ffffffffffffffff82111761033e5760405280825261063d9261063791600560208501375f60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb36860101015261061d815f525f60205260405f2090565b610627815461064e565b90555f52600160205260405f2090565b90610343565b610647815461064e565b90556106a8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461067b5760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8073ffffffffffffffffffffffffffffffffffffffff60025416368280378136915af43d5f803e156106d9573d5ff35b3d5ffdfea164736f6c634300081a000a","sourceMap":"326:1710:81:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610015575b3661052b57005b5f3560e01c80633e43e5e51461007f5780635837e5b714610070578063891725b11461007a578063bbd7fc9a14610075578063cff1026514610070578063d784d4261461006b5763d80a40770361000e5761047c565b6103ff565b610156565b610362565b61019d565b346101245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043567ffffffffffffffff8111610124576100f96100f27fffffffff00000000000000000000000000000000000000000000000000000000923690600401610128565b36916102c9565b60208151910120165f525f60205261012060405f2054604051918291829190602083019252565b0390f35b5f80fd5b9181601f840112156101245782359167ffffffffffffffff8311610124576020838186019501011161012457565b346101245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610124576004355f525f602052602060405f2054604051908152f35b346101245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043567ffffffffffffffff8111610124576101ec903690600401610128565b9060243567ffffffffffffffff81116101245761023b6102317fffffffff00000000000000000000000000000000000000000000000000000000923690600401610128565b93909436916102c9565b60208151910120165f52600160205260405f2081600111610124576101209260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61028994019101610512565b5460405190151581529081906020820190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b92919267ffffffffffffffff821161033e57604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116830183811067ffffffffffffffff82111761033e57604052829481845281830111610124578281602093845f960137010152565b61029c565b6040518151909260209284929081908501845e82019081520301902090565b346101245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760243560043567ffffffffffffffff8211610124573660238301121561012457602080916103cc6101209436906024816004013591016102c9565b905f526001825260405f20604051938285935191829101845e820190815203019020546040519081529081906020820190565b346101245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043573ffffffffffffffffffffffffffffffffffffffff8116809103610124577fffffffffffffffffffffffff000000000000000000000000000000000000000060025416176002555f80f35b346101245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101245760043560243567ffffffffffffffff8111610124576104ce903690600401610128565b90915f52600160205260405f2081600111610124576101209260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610289940191015b6020919283604051948593843782019081520301902090565b36600511610124577fffffffffff0000000000000000000000000000000000000000000000000000005f35167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb360167ffffffffffffffff811161033e57604051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601a3601160116820182811067ffffffffffffffff82111761033e5760405280825261063d9261063791600560208501375f60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb36860101015261061d815f525f60205260405f2090565b610627815461064e565b90555f52600160205260405f2090565b90610343565b610647815461064e565b90556106a8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461067b5760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8073ffffffffffffffffffffffffffffffffffffffff60025416368280378136915af43d5f803e156106d9573d5ff35b3d5ffdfea164736f6c634300081a000a","sourceMap":"326:1710:81:-:0;;;;;;;;;-1:-1:-1;326:1710:81;2603:64:23;326:1710:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;823:23;815:61;326:1710;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;326:1710:81;-1:-1:-1;326:1710:81;;;;-1:-1:-1;326:1710:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;1252:23;1244:61;-1:-1:-1;326:1710:81;1323:10;326:1710;;;-1:-1:-1;326:1710:81;;1323:10;326:1710;;;;;1323:10;1280:17;326:1710;;;;;;:::i;:::-;;;;1323:36;;;326:1710;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;326:1710:81;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;326:1710:81;409:63;326:1710;;;-1:-1:-1;326:1710:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1621:12;326:1710;;;1621:12;326:1710;-1:-1:-1;326:1710:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;326:1710:81;1035:10;326:1710;;;-1:-1:-1;326:1710:81;;1035:10;326:1710;;;;;1035:10;326:1710;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1899:100::-;1762:8;1772:1;326:1710;;;;1762:8;326:1710;;;1762:8;326:1710;;;;;;;;1762:8;326:1710;;1762:8;326:1710;1762:8;326:1710;;;;;;;;;;;;;;;;;;;;;;1856:20;326:1710;1772:1;326:1710;;;;1762:8;326:1710;;1762:8;326:1710;;;;;1829:15;;1762:8;326:1710;1762:8;326:1710;;;1762:8;326:1710;;;1829:15;:17;326:1710;;1829:17;:::i;:::-;326:1710;;;;1856:10;326:1710;;;;;;;1856:20;326:1710;;:::i;:::-;1856:30;326:1710;;1856:30;:::i;:::-;326:1710;;1899:100;:::i;326:1710::-;;;;;;;;;:::o;:::-;;;;;;;;;;2323:83:23;-1:-1:-1;326:1710:81;;1543:4;326:1710;;1019:819:23;;;;;;;;;;-1:-1:-1;1019:819:23;;;;;;-1:-1:-1;1019:819:23;;;-1:-1:-1;1019:819:23","linkReferences":{}},"methodIdentifiers":{"callParams(bytes32,bytes)":"bbd7fc9a","calledWith(string,bytes)":"891725b1","calledWithSelector(bytes32,bytes)":"d80a4077","calls(bytes32)":"cff10265","setImplementation(address)":"d784d426","timesCalled(string)":"3e43e5e5","timesCalledSelector(bytes32)":"5837e5b7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"callParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fnSig\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"calledWith\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"selector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"calledWithSelector\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"calls\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_impl\",\"type\":\"address\"}],\"name\":\"setImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fnSig\",\"type\":\"string\"}],\"name\":\"timesCalled\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"selector\",\"type\":\"bytes32\"}],\"name\":\"timesCalledSelector\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"allows for proxying to an implementation contract if real logic or return values are needed\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mock contract that tracks the number of calls to various functions by selector\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/MockContract.sol\":\"MockContract\"},\"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\":{\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"src/test/MockContract.sol\":{\"keccak256\":\"0xfa4a0f59e231a3bd89497785fa6d02e6676a7dc4b99b1b0181ad7e9566a60467\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://2581e02adbf5779bc7e6b9a836058f64d188acaa031fa2183bc899cce3ed1054\",\"dweb:/ipfs/QmfHky8cGYwkw5Mpp3HQoVoe111DcheV2hQGUMT5rPxVre\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"callParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"fnSig","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"view","type":"function","name":"calledWith","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"selector","type":"bytes32"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"view","type":"function","name":"calledWithSelector","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"calls","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_impl","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setImplementation"},{"inputs":[{"internalType":"string","name":"fnSig","type":"string"}],"stateMutability":"view","type":"function","name":"timesCalled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"selector","type":"bytes32"}],"stateMutability":"view","type":"function","name":"timesCalledSelector","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"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/MockContract.sol":"MockContract"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"src/test/MockContract.sol":{"keccak256":"0xfa4a0f59e231a3bd89497785fa6d02e6676a7dc4b99b1b0181ad7e9566a60467","urls":["bzz-raw://2581e02adbf5779bc7e6b9a836058f64d188acaa031fa2183bc899cce3ed1054","dweb:/ipfs/QmfHky8cGYwkw5Mpp3HQoVoe111DcheV2hQGUMT5rPxVre"],"license":"UNLICENSED"}},"version":1},"id":81}