@uniswap/v4-periphery
Version:
🦄 Peripheral smart contracts for interacting with Uniswap v4
1 lines • 33.7 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"_competitionDeadline","type":"uint256","internalType":"uint256"},{"name":"_exclusiveDeployer","type":"address","internalType":"address"},{"name":"_exclusiveDeployLength","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"bestAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"bestAddressSalt","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"bestAddressSubmitter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"competitionDeadline","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deploy","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"exclusiveDeployDeadline","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initCodeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"updateBestAddress","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"NewAddressFound","inputs":[{"name":"bestAddress","type":"address","indexed":true,"internalType":"address"},{"name":"submitter","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CompetitionNotOver","inputs":[{"name":"currentTime","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CompetitionOver","inputs":[{"name":"currentTime","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Create2EmptyBytecode","inputs":[]},{"type":"error","name":"Create2FailedDeployment","inputs":[]},{"type":"error","name":"Create2InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidBytecode","inputs":[]},{"type":"error","name":"InvalidSender","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"NotAllowedToDeploy","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"deployer","type":"address","internalType":"address"}]},{"type":"error","name":"WorseAddress","inputs":[{"name":"newAddress","type":"address","internalType":"address"},{"name":"bestAddress","type":"address","internalType":"address"},{"name":"newScore","type":"uint256","internalType":"uint256"},{"name":"bestScore","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x610100346100f057601f610b7538819003918201601f19168301916001600160401b038311848410176100f4578084926080946040528339810103126100f057805160208201516040830151929091906001600160a01b03841684036100f057606001519060a0528160805281018091116100dc5760e05260c052604051610a6c9081610109823960805181818160b2015281816104180152610601015260a05181818160ef015281816103520152818161047401526105db015260c0518181816103bf0152610640015260e0518181816104ec015261071d0152f35b634e487b7160e01b5f52601160045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081627743601461050f5750806360f871bb146104b7578063756f06831461043b578063a94557b8146103e3578063d5f3948814610375578063db4c545e1461031d578063e87a6f84146102cc578063edb6e1ca146102925763fd3989f51461007e575f80fd5b3461028e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e576004357f000000000000000000000000000000000000000000000000000000000000000080421161025f57508060601c338114159081610255575b50610226577f00000000000000000000000000000000000000000000000000000000000000009061012761011d30848461091a565b9230905f5461091a565b610130836107c8565b610139826107c8565b10156101ba57505f55337fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155610175816107c8565b6040519081527f7e8d398a63ed37daa88e8998642ec9be730043b51e67affe790111f209e4046b602073ffffffffffffffffffffffffffffffffffffffff33941692a3005b826084916101c7826107c8565b73ffffffffffffffffffffffffffffffffffffffff6101e5836107c8565b9281604051957f29551db800000000000000000000000000000000000000000000000000000000875216600486015216602484015260448301526064820152fd5b7f8c7d9949000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b905015155f6100e8565b7fafa178b0000000000000000000000000000000000000000000000000000000005f524260045260245260445ffd5b5f80fd5b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760205f54604051908152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206104995f5430907f00000000000000000000000000000000000000000000000000000000000000009061091a565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760043567ffffffffffffffff811161028e573660238201121561028e57806004013567ffffffffffffffff811161079b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116830183811067ffffffffffffffff82111761079b576040528083526020830191366024838301011161028e57815f92602460209301853784010152815181207f000000000000000000000000000000000000000000000000000000000000000003610773577f000000000000000000000000000000000000000000000000000000000000000080421115610744575073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803314158061071a575b6106eb57505f54908251156106c35773ffffffffffffffffffffffffffffffffffffffff9251905ff5161561069b57005b7f741752c2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4ca249dc000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc419b2d2000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b507f000000000000000000000000000000000000000000000000000000000000000042111561066a565b7f0474c5c1000000000000000000000000000000000000000000000000000000005f524260045260245260445ffd5b7f23639643000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016906107f78261093a565b610805600a820291846109b1565b8061081157505f925050565b600481036109045750603c01915b5f5b602881106108dc57507f44000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008260121a60f81b1614908161088a575b5061088357565b9060140190565b60131a60f81b7fff00000000000000000000000000000000000000000000000000000000000000167f44000000000000000000000000000000000000000000000000000000000000001490505f61087c565b600460ff6108ea8385610a0b565b16146108f9575b600101610821565b6001909301926108f1565b600490939193111561081f57916028019161081f565b90605592600b92604051926040840152602083015281520160ff81532090565b5f919082906028905b81831061094f57505050565b9092919360ff61095f8684610a0b565b166109a9576001810180911161097c576001909401919290610943565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b925050915090565b915f9260ff6028169283811015610a02579192905b8183106109d257505050565b90929193600460ff6109e48785610a0b565b16036109a9576001810180911161097c5760019094019192906109c6565b50509150505f90565b8160011c906014821015610a3257901a90600116610a2c5760041c60ff1690565b600f1690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea164736f6c634300081a000a","sourceMap":"403:2954:89:-:0;;;;;;;;;;;;;-1:-1:-1;;403:2954:89;;;;-1:-1:-1;;;;;403:2954:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;403:2954:89;;;;;;;;;1421:28;;;1459:42;403:2954;1459:42;403:2954;;;;;;;1511:71;;1592:29;;403:2954;;;;;;;;;;;;;;;;;;;;;;;;1421:28;403:2954;;;;;;;;;;;;;;;;;;;;1592:29;403:2954;;;;;;;;;;1511:71;403:2954;;;;;;;;;;;;;;;-1:-1:-1;403:2954:89;;;;;-1:-1:-1;403:2954:89;;-1:-1:-1;403:2954:89;;;;;;-1:-1:-1;403:2954:89;;;;;-1:-1:-1;403:2954:89","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081627743601461050f5750806360f871bb146104b7578063756f06831461043b578063a94557b8146103e3578063d5f3948814610375578063db4c545e1461031d578063e87a6f84146102cc578063edb6e1ca146102925763fd3989f51461007e575f80fd5b3461028e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e576004357f000000000000000000000000000000000000000000000000000000000000000080421161025f57508060601c338114159081610255575b50610226577f00000000000000000000000000000000000000000000000000000000000000009061012761011d30848461091a565b9230905f5461091a565b610130836107c8565b610139826107c8565b10156101ba57505f55337fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155610175816107c8565b6040519081527f7e8d398a63ed37daa88e8998642ec9be730043b51e67affe790111f209e4046b602073ffffffffffffffffffffffffffffffffffffffff33941692a3005b826084916101c7826107c8565b73ffffffffffffffffffffffffffffffffffffffff6101e5836107c8565b9281604051957f29551db800000000000000000000000000000000000000000000000000000000875216600486015216602484015260448301526064820152fd5b7f8c7d9949000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b905015155f6100e8565b7fafa178b0000000000000000000000000000000000000000000000000000000005f524260045260245260445ffd5b5f80fd5b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760205f54604051908152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206104995f5430907f00000000000000000000000000000000000000000000000000000000000000009061091a565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461028e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461028e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028e5760043567ffffffffffffffff811161028e573660238201121561028e57806004013567ffffffffffffffff811161079b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116830183811067ffffffffffffffff82111761079b576040528083526020830191366024838301011161028e57815f92602460209301853784010152815181207f000000000000000000000000000000000000000000000000000000000000000003610773577f000000000000000000000000000000000000000000000000000000000000000080421115610744575073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803314158061071a575b6106eb57505f54908251156106c35773ffffffffffffffffffffffffffffffffffffffff9251905ff5161561069b57005b7f741752c2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4ca249dc000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc419b2d2000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b507f000000000000000000000000000000000000000000000000000000000000000042111561066a565b7f0474c5c1000000000000000000000000000000000000000000000000000000005f524260045260245260445ffd5b7f23639643000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016906107f78261093a565b610805600a820291846109b1565b8061081157505f925050565b600481036109045750603c01915b5f5b602881106108dc57507f44000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008260121a60f81b1614908161088a575b5061088357565b9060140190565b60131a60f81b7fff00000000000000000000000000000000000000000000000000000000000000167f44000000000000000000000000000000000000000000000000000000000000001490505f61087c565b600460ff6108ea8385610a0b565b16146108f9575b600101610821565b6001909301926108f1565b600490939193111561081f57916028019161081f565b90605592600b92604051926040840152602083015281520160ff81532090565b5f919082906028905b81831061094f57505050565b9092919360ff61095f8684610a0b565b166109a9576001810180911161097c576001909401919290610943565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b925050915090565b915f9260ff6028169283811015610a02579192905b8183106109d257505050565b90929193600460ff6109e48785610a0b565b16036109a9576001810180911161097c5760019094019192906109c6565b50509150505f90565b8160011c906014821015610a3257901a90600116610a2c5760041c60ff1690565b600f1690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea164736f6c634300081a000a","sourceMap":"403:2954:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:19;1748:15;;:37;1744:128;;403:2954;;;;1961:10;1943:28;;;:60;;;;403:2954;1939:104;;;2104:12;2342:4:26;2299:49;;2342:4;2299:49;;;:::i;:::-;2150:13:89;2342:4:26;403:2954:89;;;2299:49:26;:::i;:::-;563:12:148;;;:::i;:::-;578:13;;;:::i;:::-;-1:-1:-1;2177:36:89;2173:154;;403:2954;;;1961:10;403:2954;;;;;;;2458:18;;;:::i;:::-;403:2954;;;;;2418:59;403:2954;;1961:10;403:2954;;2418:59;;403:2954;2173:154;2275:18;2236:80;2275:18;;;;:::i;:::-;403:2954;2295:20;;;:::i;:::-;403:2954;;;;2236:80;;;;403:2954;;2236:80;;403:2954;;;;;;;;;;;;;;2236:80;1939:104;2012:31;403:2954;2012:31;403:2954;;1961:10;403:2954;;;;2012:31;1943:60;1975:28;;;;1943:60;;;1744:128;1808:53;403:2954;1808:53;1748:15;403:2954;;;;;;1808:53;403:2954;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;673:35;403:2954;;;;;;;;;;;;;;;;;;;;;;862:37;403:2954;;;;;;;;;;;;;;;;;;1076:33;403:2954;;;;;;;;;;;;;;;;;;761:44;403:2954;;;;;;;;;;;;;;;2299:49:26;403:2954:89;;2342:4:26;3335:12:89;;2299:49:26;;:::i;:::-;403:2954:89;;;;;;;;;;;;;;;;;;;;;;1193:48;403:2954;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2602:19;;2625:12;2602:35;2598:90;;2721:19;2702:15;;:38;;2698:132;;2858:8;403:2954;2858:8;403:2954;2844:10;;:22;;:68;;;403:2954;2840:198;;403:2954;;;;;;1662:20:26;1658:80;;403:2954:89;1790:100:26;;;403:2954:89;1790:100:26;403:2954:89;1903:18:26;1899:81;;403:2954:89;1899:81:26;1944:25;403:2954:89;1944:25:26;403:2954:89;;1944:25:26;1658:80;1705:22;403:2954:89;1705:22:26;403:2954:89;;1705:22:26;2840:198:89;2987:40;403:2954;2987:40;2844:10;403:2954;;;;;;2987:40;2844:68;2889:23;;2702:15;2870:42;;2844:68;;2698:132;2763:56;403:2954;2763:56;2702:15;403:2954;;;;;;2763:56;2598:90;2660:17;403:2954;2660:17;403:2954;;2660:17;403:2954;;;;;;;;;;1107:1494:148;403:2954:89;;;;;1397:38:148;403:2954:89;1397:38:148;:::i;:::-;1601:53;1488:2;403:2954:89;;1601:53:148;;;:::i;:::-;1734:21;;;-1:-1:-1;403:2954:89;;-1:-1:-1;;1775:8:148:o;1730:333::-;1652:1;1808:21;;1652:1;;403:2954:89;1913:2:148;403:2954:89;1804:259:148;;403:2954:89;2143:24:148;403:2954:89;2143:24:148;;;;2483:13;403:2954:89;;2483:13:148;2493:2;2483:13;403:2954:89;;;2483:21:148;:46;;;;2123:283;2479:106;;;1107:1494::o;2479:106::-;403:2954:89;2147:16:148;403:2954:89;2479:106:148;1107:1494::o;2483:46::-;2518:2;2508:13;403:2954:89;;;;;2508:21:148;;-1:-1:-1;2483:46:148;;;2169:3;1652:1;403:2954:89;2214:23:148;;;;:::i;:::-;403:2954:89;2311:18:148;2307:85;;2169:3;403:2954:89;;2128:13:148;;2307:85;403:2954:89;;;;;2307:85:148;;1804:259;1652:1;1940:20;;;;;1936:127;1804:259;1936:127;403:2954:89;2046:2:148;403:2954:89;1936:127:148;1804:259;;2598:1772:26;;2766:1598;2598:1772;2766:1598;2598:1772;2766:1598;;;;;;;;;;;;;;;;;;2598:1772;:::o;2774:502:148:-;403:2954:89;;;;;;;3054:24:148;;;;;;2774:502;;;:::o;3080:3::-;3121:23;;;;403:2954:89;3121:23:148;;;;:::i;:::-;403:2954:89;3158:78:148;;3258:1;403:2954:89;;;;;;;3258:1:148;3249:10;3080:3;403:2954:89;3030:22:148;;;;;403:2954:89;;;;;;;;;;3158:78:148;3209:12;;;;;;:::o;2774:502::-;;403:2954:89;2956:20:148;403:2954:89;;;2942:34:148;;;;;2938:77;;3030:22;;;3054:24;;;;;;2774:502;;;:::o;3080:3::-;3121:23;;;;403:2954:89;;3121:23:148;;;;:::i;:::-;403:2954:89;3162:27:148;3158:78;;3258:1;403:2954:89;;;;;;;3258:1:148;3249:10;3080:3;403:2954:89;3030:22:148;;;;;2938:77;2992:12;;;;;403:2954:89;2992:12:148;:::o;3462:410::-;403:2954:89;;;3594:22:148;;;;;;;;;;403:2954:89;;;;3744:1:148;403:2954:89;;;;3462:410:148:o;3627:239::-;3851:4;3840:15;3627:239;3462:410::o;3594:22::-;403:2954:89;;;;;;;;","linkReferences":{},"immutableReferences":{"50625":[{"start":178,"length":32},{"start":1048,"length":32},{"start":1537,"length":32}],"50628":[{"start":239,"length":32},{"start":850,"length":32},{"start":1140,"length":32},{"start":1499,"length":32}],"50631":[{"start":959,"length":32},{"start":1600,"length":32}],"50634":[{"start":1260,"length":32},{"start":1821,"length":32}]}},"methodIdentifiers":{"bestAddress()":"756f0683","bestAddressSalt()":"edb6e1ca","bestAddressSubmitter()":"e87a6f84","competitionDeadline()":"a94557b8","deploy(bytes)":"00774360","deployer()":"d5f39488","exclusiveDeployDeadline()":"60f871bb","initCodeHash()":"db4c545e","updateBestAddress(bytes32)":"fd3989f5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_competitionDeadline\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_exclusiveDeployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_exclusiveDeployLength\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"CompetitionNotOver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"CompetitionOver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Create2EmptyBytecode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Create2FailedDeployment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"Create2InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBytecode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"NotAllowedToDeploy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bestAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newScore\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bestScore\",\"type\":\"uint256\"}],\"name\":\"WorseAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bestAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"}],\"name\":\"NewAddressFound\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"bestAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bestAddressSalt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bestAddressSubmitter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"competitionDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"deploy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exclusiveDeployDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initCodeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"updateBestAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Create2EmptyBytecode()\":[{\"details\":\"There's no code to deploy.\"}],\"Create2FailedDeployment()\":[{\"details\":\"The deployment failed.\"}],\"Create2InsufficientBalance(uint256,uint256)\":[{\"details\":\"Not enough balance for performing a CREATE2 deploy.\"}]},\"kind\":\"dev\",\"methods\":{\"bestAddress()\":{\"details\":\"returns the best address found so far\"},\"deploy(bytes)\":{\"details\":\"The bytecode must match the initCodeHash\",\"params\":{\"bytecode\":\"The bytecode of the Uniswap v4 PoolManager contract\"}},\"updateBestAddress(bytes32)\":{\"details\":\"The first 20 bytes of the salt must be either address(0) or msg.sender\",\"params\":{\"salt\":\"The salt to use to compute the new address with CREATE2\"}}},\"stateVariables\":{\"bestAddressSalt\":{\"details\":\"The salt for the best address found so far\"},\"bestAddressSubmitter\":{\"details\":\"The submitter of the best address found so far\"},\"competitionDeadline\":{\"details\":\"The deadline for the competition\"},\"deployer\":{\"details\":\"The deployer who can initiate the deployment of the v4 PoolManager, until the exclusive deploy deadline.After this deadline anyone can deploy.\"},\"exclusiveDeployDeadline\":{\"details\":\"The deadline for exclusive deployment by deployer after deadline\"},\"initCodeHash\":{\"details\":\"The init code hash of the V4 contract\"}},\"title\":\"UniswapV4DeployerCompetition\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(bytes)\":{\"notice\":\"deploys the Uniswap v4 PoolManager contract\"},\"updateBestAddress(bytes32)\":{\"notice\":\"Updates the best address if the new address has a better vanity score\"}},\"notice\":\"A contract to crowdsource a salt for the best Uniswap V4 address\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/UniswapV4DeployerCompetition.sol\":\"UniswapV4DeployerCompetition\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/\",\":@uniswap/v4-core/=lib/v4-core/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/v4-core/lib/forge-std/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/src/\"],\"viaIR\":true},\"sources\":{\"lib/v4-core/lib/openzeppelin-contracts/contracts/utils/Create2.sol\":{\"keccak256\":\"0x2b9807d194b92f1068d868e9587d27037264a9a067c778486f86ae21c61cbd5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22d71f40aa38a20cf466d8647452a6e3f746353474f8c8af40f03aa8cae38420\",\"dweb:/ipfs/QmQ752Hz5av7YDK8pFojzb5qgeXQvfsdkdwkHVzaXoYAZR\"]},\"src/UniswapV4DeployerCompetition.sol\":{\"keccak256\":\"0x2bf167b262dd86c0737ec1d9cdfc9af4f7866fdc3357730cf8ac317f9dbde981\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c642f829e10afe86cfefc78dbdde5a6ad59d61324fd9b405a8396d3021427e23\",\"dweb:/ipfs/QmU7G5hqSmJ4aUsK3uVZJekzLPPadWjFXgmJW6LASJWVz5\"]},\"src/interfaces/IUniswapV4DeployerCompetition.sol\":{\"keccak256\":\"0xa1d0a1b4dacfdb56ff47314cc021c0b649bccb56d58c471d73d02635c0f096c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://328343cd44e09d46f602f47e5500dce8200da580c255c7cd434f03a033428f1c\",\"dweb:/ipfs/QmeDjPzqSQepkEpGtV4ofwUrWBytiWw3d8HyAUTyV6eUki\"]},\"src/libraries/VanityAddressLib.sol\":{\"keccak256\":\"0xf39fa029edfcb062a053b029a60478014ed54cd62ae43d8aea8db3c727d815c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3528c34e3535a186ea96a07a0d5ab7b50eb3646f079dd15516d4e9983e174b2a\",\"dweb:/ipfs/QmZcsDDSWW3eFRMg9bzTYSPBFkc2QjuH4vrTkzDZpViZyX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_initCodeHash","type":"bytes32"},{"internalType":"uint256","name":"_competitionDeadline","type":"uint256"},{"internalType":"address","name":"_exclusiveDeployer","type":"address"},{"internalType":"uint256","name":"_exclusiveDeployLength","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"currentTime","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"type":"error","name":"CompetitionNotOver"},{"inputs":[{"internalType":"uint256","name":"currentTime","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"type":"error","name":"CompetitionOver"},{"inputs":[],"type":"error","name":"Create2EmptyBytecode"},{"inputs":[],"type":"error","name":"Create2FailedDeployment"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"Create2InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidBytecode"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"InvalidSender"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"deployer","type":"address"}],"type":"error","name":"NotAllowedToDeploy"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"},{"internalType":"address","name":"bestAddress","type":"address"},{"internalType":"uint256","name":"newScore","type":"uint256"},{"internalType":"uint256","name":"bestScore","type":"uint256"}],"type":"error","name":"WorseAddress"},{"inputs":[{"internalType":"address","name":"bestAddress","type":"address","indexed":true},{"internalType":"address","name":"submitter","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false}],"type":"event","name":"NewAddressFound","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"bestAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"bestAddressSalt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"bestAddressSubmitter","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"competitionDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"deploy"},{"inputs":[],"stateMutability":"view","type":"function","name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"exclusiveDeployDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"initCodeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateBestAddress"}],"devdoc":{"kind":"dev","methods":{"bestAddress()":{"details":"returns the best address found so far"},"deploy(bytes)":{"details":"The bytecode must match the initCodeHash","params":{"bytecode":"The bytecode of the Uniswap v4 PoolManager contract"}},"updateBestAddress(bytes32)":{"details":"The first 20 bytes of the salt must be either address(0) or msg.sender","params":{"salt":"The salt to use to compute the new address with CREATE2"}}},"version":1},"userdoc":{"kind":"user","methods":{"deploy(bytes)":{"notice":"deploys the Uniswap v4 PoolManager contract"},"updateBestAddress(bytes32)":{"notice":"Updates the best address if the new address has a better vanity score"}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/","@uniswap/v4-core/=lib/v4-core/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/v4-core/lib/forge-std/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/src/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/UniswapV4DeployerCompetition.sol":"UniswapV4DeployerCompetition"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/v4-core/lib/openzeppelin-contracts/contracts/utils/Create2.sol":{"keccak256":"0x2b9807d194b92f1068d868e9587d27037264a9a067c778486f86ae21c61cbd5e","urls":["bzz-raw://22d71f40aa38a20cf466d8647452a6e3f746353474f8c8af40f03aa8cae38420","dweb:/ipfs/QmQ752Hz5av7YDK8pFojzb5qgeXQvfsdkdwkHVzaXoYAZR"],"license":"MIT"},"src/UniswapV4DeployerCompetition.sol":{"keccak256":"0x2bf167b262dd86c0737ec1d9cdfc9af4f7866fdc3357730cf8ac317f9dbde981","urls":["bzz-raw://c642f829e10afe86cfefc78dbdde5a6ad59d61324fd9b405a8396d3021427e23","dweb:/ipfs/QmU7G5hqSmJ4aUsK3uVZJekzLPPadWjFXgmJW6LASJWVz5"],"license":"MIT"},"src/interfaces/IUniswapV4DeployerCompetition.sol":{"keccak256":"0xa1d0a1b4dacfdb56ff47314cc021c0b649bccb56d58c471d73d02635c0f096c4","urls":["bzz-raw://328343cd44e09d46f602f47e5500dce8200da580c255c7cd434f03a033428f1c","dweb:/ipfs/QmeDjPzqSQepkEpGtV4ofwUrWBytiWw3d8HyAUTyV6eUki"],"license":"MIT"},"src/libraries/VanityAddressLib.sol":{"keccak256":"0xf39fa029edfcb062a053b029a60478014ed54cd62ae43d8aea8db3c727d815c8","urls":["bzz-raw://3528c34e3535a186ea96a07a0d5ab7b50eb3646f079dd15516d4e9983e174b2a","dweb:/ipfs/QmZcsDDSWW3eFRMg9bzTYSPBFkc2QjuH4vrTkzDZpViZyX"],"license":"MIT"}},"version":1},"id":89}