@uniswap/v4-periphery
Version:
🦄 Peripheral smart contracts for interacting with Uniswap v4
1 lines • 33.6 kB
JSON
{"abi":[{"type":"function","name":"externalRevertError1","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"externalRevertError2","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"externalRevertString","inputs":[{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"functionThatReturnsTuple","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tuple","type":"tuple","internalType":"struct MockMulticall.Tuple","components":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"functionThatRevertsWithString","inputs":[{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"msgValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"msgValueDouble","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"payableStoresMsgValue","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"payableStoresMsgValueDouble","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"returnSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"revertContract","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RevertContract"}],"stateMutability":"view"},{"type":"function","name":"revertWith36Bytes","inputs":[{"name":"a","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"revertWith4Bytes","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"revertWith68Bytes","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"revertWithBytes","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"error","name":"Error36Bytes","inputs":[{"name":"a","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"Error4Bytes","inputs":[]},{"type":"error","name":"Error68Bytes","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ErrorBytes","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]}],"bytecode":{"object":"0x6080604052604051600e906056565b604051809103905ff0801580156026573d5f803e3d5ffd5b50600280546001600160a01b0319166001600160a01b03929092169190911790553480156051575f80fd5b506063565b6102d780610ac883390190565b610a58806100705f395ff3fe6080604052600436106100ef575f3560e01c80635170a9d011610087578063ac9650d811610057578063ac9650d8146102bc578063ad64e404146102dc578063ddf363d7146102e4578063fa6b6154146102f8575f80fd5b80635170a9d014610249578063580026801461025b5780636e8055c51461027a5780639c01753e1461029d575f80fd5b80633b16a6a3116100c25780633b16a6a31461019d5780633b83b70c146101f75780634ec951bb14610216578063510ccffe14610235575f80fd5b80630b9666ba146100f35780631438a8fa146101145780632071722414610128578063223612d314610147575b5f80fd5b3480156100fe575f80fd5b5061011261010d3660046106bf565b610300565b005b34801561011f575f80fd5b50610112610389565b348015610133575f80fd5b506101126101423660046107a1565b6103bb565b348015610152575f80fd5b506002546101739073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101a8575f80fd5b506101dc6101b73660046106bf565b6040805180820182525f80825260209182015281518083019092529281529182015290565b60408051825181526020928301519281019290925201610194565b348015610202575f80fd5b506101126102113660046107a1565b610440565b348015610221575f80fd5b506101126102303660046107a1565b61047d565b348015610240575f80fd5b506101126104b1565b348015610254575f80fd5b5033610173565b348015610266575f80fd5b506101126102753660046106bf565b61052e565b348015610285575f80fd5b5061028f60015481565b604051908152602001610194565b3480156102a8575f80fd5b506101126102b73660046107ee565b61056a565b6102cf6102ca366004610815565b6105a1565b60405161019491906108d2565b6101126106af565b3480156102ef575f80fd5b5061028f5f5481565b610112345f55565b6002546040517fbafcdb49000000000000000000000000000000000000000000000000000000008152600481018490526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169063bafcdb49906044015f6040518083038186803b15801561036f575f80fd5b505afa158015610381573d5f803e3d5ffd5b505050505050565b6040517fa55c4f1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002546040517f698a2e7600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063698a2e7690610411908490600401610953565b5f6040518083038186803b158015610427575f80fd5b505afa158015610439573d5f803e3d5ffd5b5050505050565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104749190610953565b60405180910390fd5b806040517f2dea06070000000000000000000000000000000000000000000000000000000081526004016104749190610953565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639bac78156040518163ffffffff1660e01b81526004015f6040518083038186803b158015610516575f80fd5b505afa158015610528573d5f803e3d5ffd5b50505050565b6040517f251d66070000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610474565b6040517fd04addd700000000000000000000000000000000000000000000000000000000815260ff82166004820152602401610474565b60608167ffffffffffffffff8111156105bc576105bc6106df565b6040519080825280602002602001820160405280156105ef57816020015b60608152602001906001900390816105da5790505b5090505f5b828110156106a8575f803086868581811061061157610611610965565b90506020028101906106239190610992565b6040516106319291906109fa565b5f60405180830381855af49150503d805f8114610669576040519150601f19603f3d011682016040523d82523d5f602084013e61066e565b606091505b50915091508161068057805160208201fd5b8084848151811061069357610693610965565b602090810291909101015250506001016105f4565b5092915050565b6106ba346002610a09565b600155565b5f80604083850312156106d0575f80fd5b50508035926020909101359150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8067ffffffffffffffff841115610726576107266106df565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715610773576107736106df565b60405283815290508082840185101561078a575f80fd5b838360208301375f60208583010152509392505050565b5f602082840312156107b1575f80fd5b813567ffffffffffffffff8111156107c7575f80fd5b8201601f810184136107d7575f80fd5b6107e68482356020840161070c565b949350505050565b5f602082840312156107fe575f80fd5b813560ff8116811461080e575f80fd5b9392505050565b5f8060208385031215610826575f80fd5b823567ffffffffffffffff81111561083c575f80fd5b8301601f8101851361084c575f80fd5b803567ffffffffffffffff811115610862575f80fd5b8560208260051b8401011115610876575f80fd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015610947577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452610932858351610886565b945060209384019391909101906001016108f8565b50929695505050505050565b602081525f61080e6020830184610886565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109c5575f80fd5b83018035915067ffffffffffffffff8211156109df575f80fd5b6020019150368190038213156109f3575f80fd5b9250929050565b818382375f9101908152919050565b8082028115828204841417610a45577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9291505056fea164736f6c634300081a000a6080604052348015600e575f80fd5b506102bb8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063698a2e76146100435780639bac781514610058578063bafcdb4914610060575b5f80fd5b61005661005136600461014b565b610073565b005b6100566100b0565b61005661006e36600461023b565b6100e2565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100a7919061025b565b60405180910390fd5b6040517fd845fc9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f9407b1cb00000000000000000000000000000000000000000000000000000000815260048101839052602481018290526044016100a7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6020828403121561015b575f80fd5b813567ffffffffffffffff811115610171575f80fd5b8201601f81018413610181575f80fd5b803567ffffffffffffffff81111561019b5761019b61011e565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156102075761020761011e565b60405281815282820160200186101561021e575f80fd5b816020840160208301375f91810160200191909152949350505050565b5f806040838503121561024c575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea164736f6c634300081a000a","sourceMap":"558:1797:224:-:0;;;1026:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;987:59:224;;;-1:-1:-1;;;;;;987:59:224;-1:-1:-1;;;;;987:59:224;;;;;;;;;;558:1797;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100ef575f3560e01c80635170a9d011610087578063ac9650d811610057578063ac9650d8146102bc578063ad64e404146102dc578063ddf363d7146102e4578063fa6b6154146102f8575f80fd5b80635170a9d014610249578063580026801461025b5780636e8055c51461027a5780639c01753e1461029d575f80fd5b80633b16a6a3116100c25780633b16a6a31461019d5780633b83b70c146101f75780634ec951bb14610216578063510ccffe14610235575f80fd5b80630b9666ba146100f35780631438a8fa146101145780632071722414610128578063223612d314610147575b5f80fd5b3480156100fe575f80fd5b5061011261010d3660046106bf565b610300565b005b34801561011f575f80fd5b50610112610389565b348015610133575f80fd5b506101126101423660046107a1565b6103bb565b348015610152575f80fd5b506002546101739073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101a8575f80fd5b506101dc6101b73660046106bf565b6040805180820182525f80825260209182015281518083019092529281529182015290565b60408051825181526020928301519281019290925201610194565b348015610202575f80fd5b506101126102113660046107a1565b610440565b348015610221575f80fd5b506101126102303660046107a1565b61047d565b348015610240575f80fd5b506101126104b1565b348015610254575f80fd5b5033610173565b348015610266575f80fd5b506101126102753660046106bf565b61052e565b348015610285575f80fd5b5061028f60015481565b604051908152602001610194565b3480156102a8575f80fd5b506101126102b73660046107ee565b61056a565b6102cf6102ca366004610815565b6105a1565b60405161019491906108d2565b6101126106af565b3480156102ef575f80fd5b5061028f5f5481565b610112345f55565b6002546040517fbafcdb49000000000000000000000000000000000000000000000000000000008152600481018490526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169063bafcdb49906044015f6040518083038186803b15801561036f575f80fd5b505afa158015610381573d5f803e3d5ffd5b505050505050565b6040517fa55c4f1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002546040517f698a2e7600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063698a2e7690610411908490600401610953565b5f6040518083038186803b158015610427575f80fd5b505afa158015610439573d5f803e3d5ffd5b5050505050565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104749190610953565b60405180910390fd5b806040517f2dea06070000000000000000000000000000000000000000000000000000000081526004016104749190610953565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639bac78156040518163ffffffff1660e01b81526004015f6040518083038186803b158015610516575f80fd5b505afa158015610528573d5f803e3d5ffd5b50505050565b6040517f251d66070000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610474565b6040517fd04addd700000000000000000000000000000000000000000000000000000000815260ff82166004820152602401610474565b60608167ffffffffffffffff8111156105bc576105bc6106df565b6040519080825280602002602001820160405280156105ef57816020015b60608152602001906001900390816105da5790505b5090505f5b828110156106a8575f803086868581811061061157610611610965565b90506020028101906106239190610992565b6040516106319291906109fa565b5f60405180830381855af49150503d805f8114610669576040519150601f19603f3d011682016040523d82523d5f602084013e61066e565b606091505b50915091508161068057805160208201fd5b8084848151811061069357610693610965565b602090810291909101015250506001016105f4565b5092915050565b6106ba346002610a09565b600155565b5f80604083850312156106d0575f80fd5b50508035926020909101359150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8067ffffffffffffffff841115610726576107266106df565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715610773576107736106df565b60405283815290508082840185101561078a575f80fd5b838360208301375f60208583010152509392505050565b5f602082840312156107b1575f80fd5b813567ffffffffffffffff8111156107c7575f80fd5b8201601f810184136107d7575f80fd5b6107e68482356020840161070c565b949350505050565b5f602082840312156107fe575f80fd5b813560ff8116811461080e575f80fd5b9392505050565b5f8060208385031215610826575f80fd5b823567ffffffffffffffff81111561083c575f80fd5b8301601f8101851361084c575f80fd5b803567ffffffffffffffff811115610862575f80fd5b8560208260051b8401011115610876575f80fd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015610947577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452610932858351610886565b945060209384019391909101906001016108f8565b50929695505050505050565b602081525f61080e6020830184610886565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109c5575f80fd5b83018035915067ffffffffffffffff8211156109df575f80fd5b6020019150368190038213156109f3575f80fd5b9250929050565b818382375f9101908152919050565b8082028115828204841417610a45577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9291505056fea164736f6c634300081a000a","sourceMap":"558:1797:224:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1838:120;;;;;;;;;;-1:-1:-1;1838:120:224;;;;;:::i;:::-;;:::i;:::-;;1964:79;;;;;;;;;;;;;:::i;1610:120::-;;;;;;;;;;-1:-1:-1;1610:120:224;;;;;:::i;:::-;;:::i;987:59::-;;;;;;;;;;-1:-1:-1;987:59:224;;;;;;;;;;;2049:42:262;2037:55;;;2019:74;;2007:2;1992:18;987:59:224;;;;;;;;1163:143;;;;;;;;;;-1:-1:-1;1163:143:224;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;1280:19:224;;;;;;;;;;;;;;;;1163:143;;;;;2316:13:262;;2298:32;;2386:4;2374:17;;;2368:24;2346:20;;;2339:54;;;;2271:18;1163:143:224;2104:295:262;1053:104:224;;;;;;;;;;-1:-1:-1;1053:104:224;;;;;:::i;:::-;;:::i;2255:98::-;;;;;;;;;;-1:-1:-1;2255:98:224;;;;;:::i;:::-;;:::i;1736:96::-;;;;;;;;;;;;;:::i;1514:90::-;;;;;;;;;;-1:-1:-1;1587:10:224;1514:90;;2144:105;;;;;;;;;;-1:-1:-1;2144:105:224;;;;;:::i;:::-;;:::i;951:29::-;;;;;;;;;;;;;;;;;;;3236:25:262;;;3224:2;3209:18;951:29:224;3090:177:262;2049:89:224;;;;;;;;;;-1:-1:-1;2049:89:224;;;;;:::i;:::-;;:::i;311:522:145:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1405:103:224:-;;;:::i;922:23::-;;;;;;;;;;;;;;;;1312:87;;1383:9;1372:8;:20;1312:87;1838:120;1914:14;;:37;;;;;;;;5541:25:262;;;5582:18;;;5575:34;;;1914:14:224;;;;;:31;;5514:18:262;;1914:37:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1838:120;;:::o;1964:79::-;2023:13;;;;;;;;;;;;;;1610:120;1685:14;;:38;;;;;:14;;;;;:31;;:38;;1717:5;;1685:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:120;:::o;1053:104::-;1144:5;1137:13;;;;;;;;;;;:::i;:::-;;;;;;;;2255:98;2341:4;2330:16;;;;;;;;;;;:::i;1736:96::-;1792:14;;;;;;;;;;;:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1736:96::o;2144:105::-;2224:18;;;;;;;;5541:25:262;;;5582:18;;;5575:34;;;5514:18;;2224::224;5367:248:262;2049:89:224;2116:15;;;;;6238:4:262;6226:17;;2116:15:224;;;6208:36:262;6181:18;;2116:15:224;6066:184:262;311:522:145;379:22;435:4;423:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:34;;462:9;457:370;477:15;;;457:370;;;514:12;;559:4;578;;583:1;578:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;551:35;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;513:73;;;;606:7;601:182;;743:6;737:13;730:4;722:6;718:17;711:40;601:182;810:6;797:7;805:1;797:10;;;;;;;;:::i;:::-;;;;;;;;;;:19;-1:-1:-1;;494:3:145;;457:370;;;;311:522;;;;:::o;1405:103:224:-;1488:13;1492:9;1488:1;:13;:::i;:::-;1471:14;:30;1405:103::o;14:346:262:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;204:23:262;;;324:2;309:18;;;296:32;;-1:-1:-1;14:346:262:o;365:184::-;417:77;414:1;407:88;514:4;511:1;504:15;538:4;535:1;528:15;554:834;619:5;651:1;675:18;667:6;664:30;661:56;;;697:18;;:::i;:::-;-1:-1:-1;911:2:262;905:9;761:66;756:2;744:15;;740:88;;969:2;957:15;953:88;941:101;;1093:22;;;1072:18;1057:34;;1054:62;1051:88;;;1119:18;;:::i;:::-;1155:2;1148:22;1203;;;1188:6;-1:-1:-1;1188:6:262;1240:16;;;1237:25;-1:-1:-1;1234:45:262;;;1275:1;1272;1265:12;1234:45;1325:6;1320:3;1313:4;1305:6;1301:17;1288:44;1380:1;1373:4;1364:6;1356;1352:19;1348:30;1341:41;;554:834;;;;;:::o;1393:451::-;1462:6;1515:2;1503:9;1494:7;1490:23;1486:32;1483:52;;;1531:1;1528;1521:12;1483:52;1571:9;1558:23;1604:18;1596:6;1593:30;1590:50;;;1636:1;1633;1626:12;1590:50;1659:22;;1712:4;1704:13;;1700:27;-1:-1:-1;1690:55:262;;1741:1;1738;1731:12;1690:55;1764:74;1830:7;1825:2;1812:16;1807:2;1803;1799:11;1764:74;:::i;:::-;1754:84;1393:451;-1:-1:-1;;;;1393:451:262:o;3272:269::-;3329:6;3382:2;3370:9;3361:7;3357:23;3353:32;3350:52;;;3398:1;3395;3388:12;3350:52;3437:9;3424:23;3487:4;3480:5;3476:16;3469:5;3466:27;3456:55;;3507:1;3504;3497:12;3456:55;3530:5;3272:269;-1:-1:-1;;;3272:269:262:o;3546:621::-;3643:6;3651;3704:2;3692:9;3683:7;3679:23;3675:32;3672:52;;;3720:1;3717;3710:12;3672:52;3760:9;3747:23;3793:18;3785:6;3782:30;3779:50;;;3825:1;3822;3815:12;3779:50;3848:22;;3901:4;3893:13;;3889:27;-1:-1:-1;3879:55:262;;3930:1;3927;3920:12;3879:55;3970:2;3957:16;3996:18;3988:6;3985:30;3982:50;;;4028:1;4025;4018:12;3982:50;4081:7;4076:2;4066:6;4063:1;4059:14;4055:2;4051:23;4047:32;4044:45;4041:65;;;4102:1;4099;4092:12;4041:65;4133:2;4125:11;;;;;4155:6;;-1:-1:-1;3546:621:262;-1:-1:-1;;;3546:621:262:o;4172:347::-;4213:3;4251:5;4245:12;4278:6;4273:3;4266:19;4334:6;4327:4;4320:5;4316:16;4309:4;4304:3;4300:14;4294:47;4386:1;4379:4;4370:6;4365:3;4361:16;4357:27;4350:38;4508:4;4438:66;4433:2;4425:6;4421:15;4417:88;4412:3;4408:98;4404:109;4397:116;;;4172:347;;;;:::o;4524:838::-;4684:4;4732:2;4721:9;4717:18;4762:2;4751:9;4744:21;4785:6;4820;4814:13;4851:6;4843;4836:22;4889:2;4878:9;4874:18;4867:25;;4951:2;4941:6;4938:1;4934:14;4923:9;4919:30;4915:39;4901:53;;4989:2;4981:6;4977:15;5010:1;5020:313;5034:6;5031:1;5028:13;5020:313;;;5123:66;5111:9;5103:6;5099:22;5095:95;5090:3;5083:108;5214:39;5246:6;5237;5231:13;5214:39;:::i;:::-;5204:49;-1:-1:-1;5288:2:262;5311:12;;;;5276:15;;;;;5056:1;5049:9;5020:313;;;-1:-1:-1;5350:6:262;;4524:838;-1:-1:-1;;;;;;4524:838:262:o;5620:219::-;5769:2;5758:9;5751:21;5732:4;5789:44;5829:2;5818:9;5814:18;5806:6;5789:44;:::i;6255:184::-;6307:77;6304:1;6297:88;6404:4;6401:1;6394:15;6428:4;6425:1;6418:15;6444:580;6521:4;6527:6;6587:11;6574:25;6677:66;6666:8;6650:14;6646:29;6642:102;6622:18;6618:127;6608:155;;6759:1;6756;6749:12;6608:155;6786:33;;6838:20;;;-1:-1:-1;6881:18:262;6870:30;;6867:50;;;6913:1;6910;6903:12;6867:50;6946:4;6934:17;;-1:-1:-1;6977:14:262;6973:27;;;6963:38;;6960:58;;;7014:1;7011;7004:12;6960:58;6444:580;;;;;:::o;7029:271::-;7212:6;7204;7199:3;7186:33;7168:3;7238:16;;7263:13;;;7238:16;7029:271;-1:-1:-1;7029:271:262:o;7305:322::-;7378:9;;;7409;;7426:15;;;7420:22;;7406:37;7396:225;;7477:77;7474:1;7467:88;7578:4;7575:1;7568:15;7606:4;7603:1;7596:15;7396:225;7305:322;;;;:::o","linkReferences":{}},"methodIdentifiers":{"externalRevertError1()":"510ccffe","externalRevertError2(uint256,uint256)":"0b9666ba","externalRevertString(string)":"20717224","functionThatReturnsTuple(uint256,uint256)":"3b16a6a3","functionThatRevertsWithString(string)":"3b83b70c","msgValue()":"ddf363d7","msgValueDouble()":"6e8055c5","multicall(bytes[])":"ac9650d8","payableStoresMsgValue()":"fa6b6154","payableStoresMsgValueDouble()":"ad64e404","returnSender()":"5170a9d0","revertContract()":"223612d3","revertWith36Bytes(uint8)":"9c01753e","revertWith4Bytes()":"1438a8fa","revertWith68Bytes(uint256,uint256)":"58002680","revertWithBytes(bytes)":"4ec951bb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"a\",\"type\":\"uint8\"}],\"name\":\"Error36Bytes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Error4Bytes\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"Error68Bytes\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ErrorBytes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"externalRevertError1\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"externalRevertError2\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"externalRevertString\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"functionThatReturnsTuple\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"internalType\":\"struct MockMulticall.Tuple\",\"name\":\"tuple\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"functionThatRevertsWithString\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgValueDouble\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payableStoresMsgValue\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payableStoresMsgValueDouble\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"returnSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertContract\",\"outputs\":[{\"internalType\":\"contract RevertContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"a\",\"type\":\"uint8\"}],\"name\":\"revertWith36Bytes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWith4Bytes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"revertWith68Bytes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"revertWithBytes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"multicall(bytes[])\":{\"details\":\"The `msg.value` is passed onto all subcalls, even if a previous subcall has consumed the ether. Subcalls can instead use `address(this).value` to see the available ETH, and consume it using {value: x}.\",\"params\":{\"data\":\"The encoded function data for each of the calls to make to this contract\"},\"returns\":{\"results\":\"The results from each of the calls passed in via data\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"multicall(bytes[])\":{\"notice\":\"Call multiple functions in the current contract and return the data from all of them if they all succeed\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockMulticall.sol\":\"MockMulticall\"},\"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/\"]},\"sources\":{\"src/base/Multicall_v4.sol\":{\"keccak256\":\"0x654c6e65bd9bbf12b2cc393f8523db04e85ec45e829200de3895709479d6d569\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7ee5441ed14cdad5328f8e844403c2969fe2ecd9d110d7b80954bfa41f52d69\",\"dweb:/ipfs/QmQ1r1qmGyg1JXUgmjzi3WxjAmkLtMpUVsRWfYJsRRo3sP\"]},\"src/interfaces/IMulticall_v4.sol\":{\"keccak256\":\"0x336bec303f7ff86497d2679464c5adad5040f412b3d0769ce5e1d2a42f7e2c08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7734f047d98d331c8abc51ad9f358ceee0a6dcae8d89ac49084b84de0d2d42e7\",\"dweb:/ipfs/QmWij2h7mU36LsXhb9P6pkYXrSCua4ixeWaVFSrsEcEmPQ\"]},\"test/mocks/MockMulticall.sol\":{\"keccak256\":\"0xe5f6a11357bd534586098e86e51b152ea1c5a7c40610584afbe297447390250a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f967ba19f8b563033656a266f79887f284a2c797a7bfdfcbb51e12efc639bd85\",\"dweb:/ipfs/QmX2joNwfrSbcKPZjUPGqfKidmukvURSeKgmPNzuutHBad\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"a","type":"uint8"}],"type":"error","name":"Error36Bytes"},{"inputs":[],"type":"error","name":"Error4Bytes"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"type":"error","name":"Error68Bytes"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"type":"error","name":"ErrorBytes"},{"inputs":[],"stateMutability":"view","type":"function","name":"externalRevertError1"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"stateMutability":"view","type":"function","name":"externalRevertError2"},{"inputs":[{"internalType":"string","name":"error","type":"string"}],"stateMutability":"view","type":"function","name":"externalRevertString"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"stateMutability":"pure","type":"function","name":"functionThatReturnsTuple","outputs":[{"internalType":"struct MockMulticall.Tuple","name":"tuple","type":"tuple","components":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"functionThatRevertsWithString"},{"inputs":[],"stateMutability":"view","type":"function","name":"msgValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"msgValueDouble","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"stateMutability":"payable","type":"function","name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"payableStoresMsgValue"},{"inputs":[],"stateMutability":"payable","type":"function","name":"payableStoresMsgValueDouble"},{"inputs":[],"stateMutability":"view","type":"function","name":"returnSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"revertContract","outputs":[{"internalType":"contract RevertContract","name":"","type":"address"}]},{"inputs":[{"internalType":"uint8","name":"a","type":"uint8"}],"stateMutability":"pure","type":"function","name":"revertWith36Bytes"},{"inputs":[],"stateMutability":"pure","type":"function","name":"revertWith4Bytes"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"stateMutability":"pure","type":"function","name":"revertWith68Bytes"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"revertWithBytes"}],"devdoc":{"kind":"dev","methods":{"multicall(bytes[])":{"details":"The `msg.value` is passed onto all subcalls, even if a previous subcall has consumed the ether. Subcalls can instead use `address(this).value` to see the available ETH, and consume it using {value: x}.","params":{"data":"The encoded function data for each of the calls to make to this contract"},"returns":{"results":"The results from each of the calls passed in via data"}}},"version":1},"userdoc":{"kind":"user","methods":{"multicall(bytes[])":{"notice":"Call multiple functions in the current contract and return the data from all of them if they all succeed"}},"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":{"test/mocks/MockMulticall.sol":"MockMulticall"},"evmVersion":"cancun","libraries":{}},"sources":{"src/base/Multicall_v4.sol":{"keccak256":"0x654c6e65bd9bbf12b2cc393f8523db04e85ec45e829200de3895709479d6d569","urls":["bzz-raw://d7ee5441ed14cdad5328f8e844403c2969fe2ecd9d110d7b80954bfa41f52d69","dweb:/ipfs/QmQ1r1qmGyg1JXUgmjzi3WxjAmkLtMpUVsRWfYJsRRo3sP"],"license":"MIT"},"src/interfaces/IMulticall_v4.sol":{"keccak256":"0x336bec303f7ff86497d2679464c5adad5040f412b3d0769ce5e1d2a42f7e2c08","urls":["bzz-raw://7734f047d98d331c8abc51ad9f358ceee0a6dcae8d89ac49084b84de0d2d42e7","dweb:/ipfs/QmWij2h7mU36LsXhb9P6pkYXrSCua4ixeWaVFSrsEcEmPQ"],"license":"MIT"},"test/mocks/MockMulticall.sol":{"keccak256":"0xe5f6a11357bd534586098e86e51b152ea1c5a7c40610584afbe297447390250a","urls":["bzz-raw://f967ba19f8b563033656a266f79887f284a2c797a7bfdfcbb51e12efc639bd85","dweb:/ipfs/QmX2joNwfrSbcKPZjUPGqfKidmukvURSeKgmPNzuutHBad"],"license":"MIT"}},"version":1},"id":224}