From c2487b2e38c131994ece37ec003c037a9fce7a19 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Sat, 10 Aug 2024 22:59:36 +0300 Subject: [PATCH 1/7] Original --- .../GetUniswapV3TickDataBatchRequestABI.json | 128 +++++++++++++++++- 1 file changed, 127 insertions(+), 1 deletion(-) diff --git a/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json b/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json index 31ac986..ae69020 100644 --- a/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json +++ b/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json @@ -1 +1,127 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"pool","type":"address","internalType":"address"},{"name":"zeroForOne","type":"bool","internalType":"bool"},{"name":"currentTick","type":"int24","internalType":"int24"},{"name":"numTicks","type":"uint16","internalType":"uint16"},{"name":"tickSpacing","type":"int24","internalType":"int24"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50604051610f9d380380610f9d83398181016040528101906100329190610981565b60008261ffff1667ffffffffffffffff811115610052576100516109fc565b5b60405190808252806020026020018201604052801561008b57816020015b61007861084a565b8152602001906001900390816100705790505b50905060005b8361ffff168110156103ae576000806100b28988878b6103de60201b60201c565b9150915060008973ffffffffffffffffffffffffffffffffffffffff1663f30dba93846040518263ffffffff1660e01b81526004016100f19190610a3a565b61010060405180830381865afa15801561010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101339190610bad565b5050505050509150507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761860020b8360020b1215610217577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276189250818585815181106101a1576101a0610c63565b5b60200260200101516000019015159081151581525050828585815181106101cb576101ca610c63565b5b60200260200101516020019060020b908160020b81525050808585815181106101f7576101f6610c63565b5b602002602001015160400190600f0b9081600f0b815250505050506103ae565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861024190610cc1565b60020b8360020b13156102fb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761892508185858151811061028557610284610c63565b5b60200260200101516000019015159081151581525050828585815181106102af576102ae610c63565b5b60200260200101516020019060020b908160020b81525050808585815181106102db576102da610c63565b5b602002602001015160400190600f0b9081600f0b815250505050506103ae565b8185858151811061030f5761030e610c63565b5b602002602001015160000190151590811515815250508285858151811061033957610338610c63565b5b60200260200101516020019060020b908160020b815250508085858151811061036557610364610c63565b5b602002602001015160400190600f0b9081600f0b81525050838061038890610d09565b9450508861039657826103a4565b6001836103a39190610d51565b5b9750505050610091565b600082436040516020016103c3929190610ed9565b60405160208183030381529060405290506020810180590381f35b60008060008460020b8660020b816103f9576103f8610f09565b5b05905060008660020b128015610429575060008560020b8760020b8161042257610421610f09565b5b0760020b14155b15610438578080600190039150505b8315610529576000806104508361061e60201b60201c565b9150915060008160ff166001901b60018360ff166001901b030190506000818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016104a89190610f54565b602060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610f6f565b169050600081141595508561050557888360ff1686030261051e565b886105158261064860201b60201c565b840360ff168603025b965050505050610614565b60008061053e6001840161061e60201b60201c565b91509150600060018260ff166001901b031990506000818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b815260040161058e9190610f54565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190610f6f565b16905060008114159550856105f157888360ff0360ff1660018701010261060d565b88836106028361072360201b60201c565b0360ff166001870101025b9650505050505b5094509492505050565b60008060088360020b901d91506101008360020b816106405761063f610f09565b5b079050915091565b600080821161065657600080fd5b700100000000000000000000000000000000821061067c57608082901c91506080810190505b68010000000000000000821061069a57604082901c91506040810190505b64010000000082106106b457602082901c91506020810190505b6201000082106106cc57601082901c91506010810190505b61010082106106e357600882901c91506008810190505b601082106106f957600482901c91506004810190505b6004821061070f57600282901c91506002810190505b6002821061071e576001810190505b919050565b600080821161073157600080fd5b60ff905060006fffffffffffffffffffffffffffffffff80168316111561075d57608081039050610765565b608082901c91505b600067ffffffffffffffff8016831611156107855760408103905061078d565b604082901c91505b600063ffffffff8016831611156107a9576020810390506107b1565b602082901c91505b600061ffff8016831611156107cb576010810390506107d3565b601082901c91505b600060ff8016831611156107ec576008810390506107f4565b600882901c91505b6000600f8316111561080b57600481039050610813565b600482901c91505b600060038316111561082a57600281039050610832565b600282901c91505b6000600183161115610845576001810390505b919050565b6040518060600160405280600015158152602001600060020b81526020016000600f0b81525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108a382610878565b9050919050565b6108b381610898565b81146108be57600080fd5b50565b6000815190506108d0816108aa565b92915050565b60008115159050919050565b6108eb816108d6565b81146108f657600080fd5b50565b600081519050610908816108e2565b92915050565b60008160020b9050919050565b6109248161090e565b811461092f57600080fd5b50565b6000815190506109418161091b565b92915050565b600061ffff82169050919050565b61095e81610947565b811461096957600080fd5b50565b60008151905061097b81610955565b92915050565b600080600080600060a0868803121561099d5761099c610873565b5b60006109ab888289016108c1565b95505060206109bc888289016108f9565b94505060406109cd88828901610932565b93505060606109de8882890161096c565b92505060806109ef88828901610932565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a348161090e565b82525050565b6000602082019050610a4f6000830184610a2b565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b610a7a81610a55565b8114610a8557600080fd5b50565b600081519050610a9781610a71565b92915050565b600081600f0b9050919050565b610ab381610a9d565b8114610abe57600080fd5b50565b600081519050610ad081610aaa565b92915050565b6000819050919050565b610ae981610ad6565b8114610af457600080fd5b50565b600081519050610b0681610ae0565b92915050565b60008160060b9050919050565b610b2281610b0c565b8114610b2d57600080fd5b50565b600081519050610b3f81610b19565b92915050565b610b4e81610878565b8114610b5957600080fd5b50565b600081519050610b6b81610b45565b92915050565b600063ffffffff82169050919050565b610b8a81610b71565b8114610b9557600080fd5b50565b600081519050610ba781610b81565b92915050565b600080600080600080600080610100898b031215610bce57610bcd610873565b5b6000610bdc8b828c01610a88565b9850506020610bed8b828c01610ac1565b9750506040610bfe8b828c01610af7565b9650506060610c0f8b828c01610af7565b9550506080610c208b828c01610b30565b94505060a0610c318b828c01610b5c565b93505060c0610c428b828c01610b98565b92505060e0610c538b828c016108f9565b9150509295985092959890939650565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ccc8261090e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008203610cfe57610cfd610c92565b5b816000039050919050565b6000610d1482610ad6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d4657610d45610c92565b5b600182019050919050565b6000610d5c8261090e565b9150610d678361090e565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000082121715610da657610da5610c92565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610de1816108d6565b82525050565b610df08161090e565b82525050565b610dff81610a9d565b82525050565b606082016000820151610e1b6000850182610dd8565b506020820151610e2e6020850182610de7565b506040820151610e416040850182610df6565b50505050565b6000610e538383610e05565b60608301905092915050565b6000602082019050919050565b6000610e7782610dac565b610e818185610db7565b9350610e8c83610dc8565b8060005b83811015610ebd578151610ea48882610e47565b9750610eaf83610e5f565b925050600181019050610e90565b5085935050505092915050565b610ed381610ad6565b82525050565b60006040820190508181036000830152610ef38185610e6c565b9050610f026020830184610eca565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160010b9050919050565b610f4e81610f38565b82525050565b6000602082019050610f696000830184610f45565b92915050565b600060208284031215610f8557610f84610873565b5b6000610f9384828501610af7565b9150509291505056fe","sourceMap":"188:5308:4:-:0;;;439:2417;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;593:26;637:8;622:24;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;593:53;;733:15;763:1544;780:8;770:18;;:7;:18;763:1544;;;822:14;854:16;887:174;941:4;967:11;1000;1033:10;887:32;;;:174;;:::i;:::-;804:257;;;;1132:19;1187:4;1167:48;;;1216:8;1167:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1129:96;;;;;;;;;271:7;1397:19;;:8;:19;;;1393:752;;;271:7;1436:19;;1505:11;1473:8;1482:7;1473:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1559:8;1534;1543:7;1534:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1618:12;1585:8;1594:7;1585:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1648:5;;;;;1393:752;271:7;319:9;;;:::i;:::-;1678:19;;:8;:19;;;1674:471;;;271:7;1717:19;;1786:11;1754:8;1763:7;1754:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1840:8;1815;1824:7;1815:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1899:12;1866:8;1875:7;1866:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1929:5;;;;;1674:471;2005:11;1973:8;1982:7;1973:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2059:8;2034;2043:7;2034:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2118:12;2085:8;2094:7;2085:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2159:9;;;;;:::i;:::-;;;;2260:10;:36;;2288:8;2260:36;;;2284:1;2273:8;:12;;;;:::i;:::-;2260:36;2246:50;;790:1517;;;763:1544;;;2509:27;2550:8;2560:12;2539:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2509:64;;2780:4;2764:14;2760:25;2829:9;2820:7;2816:23;2805:9;2798:42;3100:2394;3258:10;3270:16;3322;3348:11;3341:18;;:4;:18;;;;;;;:::i;:::-;;;3322:37;;3384:1;3377:4;:8;;;:35;;;;;3411:1;3396:11;3389:18;;:4;:18;;;;;;;:::i;:::-;;;:23;;;;3377:35;3373:53;;;3414:12;;;;;;;;3373:53;3480:3;3476:2002;;;3504:13;3519:12;3535:20;3544:10;3535:8;;;:20;;:::i;:::-;3503:52;;;;3645:12;3686:6;3681:11;;:1;:11;;3676:1;3666:6;3661:11;;:1;:11;;3660:17;:33;3645:48;;3711:14;3796:4;3748;3728:36;;;3765:7;3728:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;3711:89;;3965:1;3955:6;:11;;3941:25;;4105:11;:272;;4366:11;4354:6;4347:14;;4328:10;:34;4327:50;4105:272;;;4293:11;4228:34;4255:6;4228:26;;;:34;;:::i;:::-;4219:6;:43;4212:51;;4140:10;:149;4139:165;4105:272;4098:279;;3485:907;;;;3476:2002;;;4518:13;4533:12;4549:24;4571:1;4558:10;:14;4549:8;;;:24;;:::i;:::-;4517:56;;;;4653:12;4686:1;4676:6;4671:11;;:1;:11;;4670:17;4668:20;4653:35;;4706:14;4791:4;4743;4723:36;;;4760:7;4723:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4706:89;;4952:1;4942:6;:11;;4928:25;;5092:11;:371;;5452:11;5440:6;5422:15;:24;5415:32;;5381:1;5344:10;:38;:104;5343:120;5092:371;;;5309:11;5272:6;5234:35;5262:6;5234:27;;;:35;;:::i;:::-;:44;5227:52;;5164:1;5127:10;:38;:178;5126:194;5092:371;5085:378;;4398:1080;;;;3476:2002;3298:2190;3100:2394;;;;;;;:::o;2862:232::-;2938:13;2953:12;3029:1;3021:4;:9;;;;3005:26;;3072:3;3065:4;:10;;;;;;;:::i;:::-;;;3045:32;;2862:232;;;:::o;6098:877::-;6160:7;6191:1;6187;:5;6179:14;;;;;;6237:35;6232:1;:40;6228:114;;6298:3;6292:9;;;;;6324:3;6319:8;;;;6228:114;6364:19;6359:1;:24;6355:96;;6409:2;6403:8;;;;;6434:2;6429:7;;;;6355:96;6473:11;6468:1;:16;6464:88;;6510:2;6504:8;;;;;6535:2;6530:7;;;;6464:88;6574:7;6569:1;:12;6565:84;;6607:2;6601:8;;;;;6632:2;6627:7;;;;6565:84;6671:5;6666:1;:10;6662:80;;6702:1;6696:7;;;;;6726:1;6721:6;;;;6662:80;6764:4;6759:1;:9;6755:79;;6794:1;6788:7;;;;;6818:1;6813:6;;;;6755:79;6856:3;6851:1;:8;6847:78;;6885:1;6879:7;;;;;6909:1;6904:6;;;;6847:78;6947:3;6942:1;:8;6938:20;;6957:1;6952:6;;;;6938:20;6098:877;;;:::o;7466:1072::-;7529:7;7560:1;7556;:5;7548:14;;;;;;7601:3;7597:7;;7646:1;7626:17;7622:21;;:1;:21;:25;7618:120;;;7672:3;7667:8;;;;7618:120;;;7720:3;7714:9;;;;;7618:120;7778:1;7759:16;7755:20;;:1;:20;:24;7751:117;;;7804:2;7799:7;;;;7751:117;;;7851:2;7845:8;;;;;7751:117;7908:1;7889:16;7885:20;;:1;:20;:24;7881:117;;;7934:2;7929:7;;;;7881:117;;;7981:2;7975:8;;;;;7881:117;8038:1;8019:16;8015:20;;:1;:20;:24;8011:117;;;8064:2;8059:7;;;;8011:117;;;8111:2;8105:8;;;;;8011:117;8167:1;8149:15;8145:19;;:1;:19;:23;8141:114;;;8193:1;8188:6;;;;8141:114;;;8239:1;8233:7;;;;;8141:114;8282:1;8276:3;8272:1;:7;:11;8268:102;;;8308:1;8303:6;;;;8268:102;;;8354:1;8348:7;;;;;8268:102;8397:1;8391:3;8387:1;:7;:11;8383:102;;;8423:1;8418:6;;;;8383:102;;;8469:1;8463:7;;;;;8383:102;8512:1;8506:3;8502:1;:7;:11;8498:23;;;8520:1;8515:6;;;;8498:23;7466:1072;;;:::o;188:5308::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:7:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:90::-;879:7;922:5;915:13;908:21;897:32;;845:90;;;:::o;941:116::-;1011:21;1026:5;1011:21;:::i;:::-;1004:5;1001:32;991:60;;1047:1;1044;1037:12;991:60;941:116;:::o;1063:137::-;1117:5;1148:6;1142:13;1133:22;;1164:30;1188:5;1164:30;:::i;:::-;1063:137;;;;:::o;1206:90::-;1241:7;1284:5;1281:1;1270:20;1259:31;;1206:90;;;:::o;1302:118::-;1373:22;1389:5;1373:22;:::i;:::-;1366:5;1363:33;1353:61;;1410:1;1407;1400:12;1353:61;1302:118;:::o;1426:139::-;1481:5;1512:6;1506:13;1497:22;;1528:31;1553:5;1528:31;:::i;:::-;1426:139;;;;:::o;1571:89::-;1607:7;1647:6;1640:5;1636:18;1625:29;;1571:89;;;:::o;1666:120::-;1738:23;1755:5;1738:23;:::i;:::-;1731:5;1728:34;1718:62;;1776:1;1773;1766:12;1718:62;1666:120;:::o;1792:141::-;1848:5;1879:6;1873:13;1864:22;;1895:32;1921:5;1895:32;:::i;:::-;1792:141;;;;:::o;1939:961::-;2037:6;2045;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2383:2;2409:61;2462:7;2453:6;2442:9;2438:22;2409:61;:::i;:::-;2399:71;;2354:126;2519:2;2545:62;2599:7;2590:6;2579:9;2575:22;2545:62;:::i;:::-;2535:72;;2490:127;2656:2;2682:63;2737:7;2728:6;2717:9;2713:22;2682:63;:::i;:::-;2672:73;;2627:128;2794:3;2821:62;2875:7;2866:6;2855:9;2851:22;2821:62;:::i;:::-;2811:72;;2765:128;1939:961;;;;;;;;:::o;2906:180::-;2954:77;2951:1;2944:88;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3092:112;3175:22;3191:5;3175:22;:::i;:::-;3170:3;3163:35;3092:112;;:::o;3210:214::-;3299:4;3337:2;3326:9;3322:18;3314:26;;3350:67;3414:1;3403:9;3399:17;3390:6;3350:67;:::i;:::-;3210:214;;;;:::o;3430:118::-;3467:7;3507:34;3500:5;3496:46;3485:57;;3430:118;;;:::o;3554:122::-;3627:24;3645:5;3627:24;:::i;:::-;3620:5;3617:35;3607:63;;3666:1;3663;3656:12;3607:63;3554:122;:::o;3682:143::-;3739:5;3770:6;3764:13;3755:22;;3786:33;3813:5;3786:33;:::i;:::-;3682:143;;;;:::o;3831:92::-;3867:7;3911:5;3907:2;3896:21;3885:32;;3831:92;;;:::o;3929:120::-;4001:23;4018:5;4001:23;:::i;:::-;3994:5;3991:34;3981:62;;4039:1;4036;4029:12;3981:62;3929:120;:::o;4055:141::-;4111:5;4142:6;4136:13;4127:22;;4158:32;4184:5;4158:32;:::i;:::-;4055:141;;;;:::o;4202:77::-;4239:7;4268:5;4257:16;;4202:77;;;:::o;4285:122::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:63;;4397:1;4394;4387:12;4338:63;4285:122;:::o;4413:143::-;4470:5;4501:6;4495:13;4486:22;;4517:33;4544:5;4517:33;:::i;:::-;4413:143;;;;:::o;4562:90::-;4597:7;4640:5;4637:1;4626:20;4615:31;;4562:90;;;:::o;4658:118::-;4729:22;4745:5;4729:22;:::i;:::-;4722:5;4719:33;4709:61;;4766:1;4763;4756:12;4709:61;4658:118;:::o;4782:139::-;4837:5;4868:6;4862:13;4853:22;;4884:31;4909:5;4884:31;:::i;:::-;4782:139;;;;:::o;4927:122::-;5000:24;5018:5;5000:24;:::i;:::-;4993:5;4990:35;4980:63;;5039:1;5036;5029:12;4980:63;4927:122;:::o;5055:143::-;5112:5;5143:6;5137:13;5128:22;;5159:33;5186:5;5159:33;:::i;:::-;5055:143;;;;:::o;5204:93::-;5240:7;5280:10;5273:5;5269:22;5258:33;;5204:93;;;:::o;5303:120::-;5375:23;5392:5;5375:23;:::i;:::-;5368:5;5365:34;5355:62;;5413:1;5410;5403:12;5355:62;5303:120;:::o;5429:141::-;5485:5;5516:6;5510:13;5501:22;;5532:32;5558:5;5532:32;:::i;:::-;5429:141;;;;:::o;5576:1434::-;5702:6;5710;5718;5726;5734;5742;5750;5758;5807:3;5795:9;5786:7;5782:23;5778:33;5775:120;;;5814:79;;:::i;:::-;5775:120;5934:1;5959:64;6015:7;6006:6;5995:9;5991:22;5959:64;:::i;:::-;5949:74;;5905:128;6072:2;6098:63;6153:7;6144:6;6133:9;6129:22;6098:63;:::i;:::-;6088:73;;6043:128;6210:2;6236:64;6292:7;6283:6;6272:9;6268:22;6236:64;:::i;:::-;6226:74;;6181:129;6349:2;6375:64;6431:7;6422:6;6411:9;6407:22;6375:64;:::i;:::-;6365:74;;6320:129;6488:3;6515:62;6569:7;6560:6;6549:9;6545:22;6515:62;:::i;:::-;6505:72;;6459:128;6626:3;6653:64;6709:7;6700:6;6689:9;6685:22;6653:64;:::i;:::-;6643:74;;6597:130;6766:3;6793:63;6848:7;6839:6;6828:9;6824:22;6793:63;:::i;:::-;6783:73;;6737:129;6905:3;6932:61;6985:7;6976:6;6965:9;6961:22;6932:61;:::i;:::-;6922:71;;6876:127;5576:1434;;;;;;;;;;;:::o;7016:180::-;7064:77;7061:1;7054:88;7161:4;7158:1;7151:15;7185:4;7182:1;7175:15;7202:180;7250:77;7247:1;7240:88;7347:4;7344:1;7337:15;7371:4;7368:1;7361:15;7388:226;7422:3;7445:22;7461:5;7445:22;:::i;:::-;7436:31;;7489:66;7482:5;7479:77;7476:103;;7559:18;;:::i;:::-;7476:103;7602:5;7599:1;7595:13;7588:20;;7388:226;;;:::o;7620:233::-;7659:3;7682:24;7700:5;7682:24;:::i;:::-;7673:33;;7728:66;7721:5;7718:77;7715:103;;7798:18;;:::i;:::-;7715:103;7845:1;7838:5;7834:13;7827:20;;7620:233;;;:::o;7859:313::-;7897:4;7917:18;7933:1;7917:18;:::i;:::-;7912:23;;7949:18;7965:1;7949:18;:::i;:::-;7944:23;;7991:1;7988;7984:9;7976:17;;8123:8;8117:4;8113:19;8032:66;8026:4;8022:77;8006:136;8003:162;;;8145:18;;:::i;:::-;8003:162;7859:313;;;;:::o;8178:140::-;8271:6;8305:5;8299:12;8289:22;;8178:140;;;:::o;8324:210::-;8449:11;8483:6;8478:3;8471:19;8523:4;8518:3;8514:14;8499:29;;8324:210;;;;:::o;8540:158::-;8633:4;8656:3;8648:11;;8686:4;8681:3;8677:14;8669:22;;8540:158;;;:::o;8704:99::-;8775:21;8790:5;8775:21;:::i;:::-;8770:3;8763:34;8704:99;;:::o;8809:102::-;8882:22;8898:5;8882:22;:::i;:::-;8877:3;8870:35;8809:102;;:::o;8917:105::-;8992:23;9009:5;8992:23;:::i;:::-;8987:3;8980:36;8917:105;;:::o;9136:676::-;9275:4;9270:3;9266:14;9369:4;9362:5;9358:16;9352:23;9388:57;9439:4;9434:3;9430:14;9416:12;9388:57;:::i;:::-;9290:165;9537:4;9530:5;9526:16;9520:23;9556:59;9609:4;9604:3;9600:14;9586:12;9556:59;:::i;:::-;9465:160;9715:4;9708:5;9704:16;9698:23;9734:61;9789:4;9784:3;9780:14;9766:12;9734:61;:::i;:::-;9635:170;9244:568;9136:676;;:::o;9818:283::-;9939:10;9960:98;10054:3;10046:6;9960:98;:::i;:::-;10090:4;10085:3;10081:14;10067:28;;9818:283;;;;:::o;10107:139::-;10203:4;10235;10230:3;10226:14;10218:22;;10107:139;;;:::o;10364:940::-;10535:3;10564:80;10638:5;10564:80;:::i;:::-;10660:112;10765:6;10760:3;10660:112;:::i;:::-;10653:119;;10796:82;10872:5;10796:82;:::i;:::-;10901:7;10932:1;10917:362;10942:6;10939:1;10936:13;10917:362;;;11018:6;11012:13;11045:115;11156:3;11141:13;11045:115;:::i;:::-;11038:122;;11183:86;11262:6;11183:86;:::i;:::-;11173:96;;10977:302;10964:1;10961;10957:9;10952:14;;10917:362;;;10921:14;11295:3;11288:10;;10540:764;;;10364:940;;;;:::o;11310:118::-;11397:24;11415:5;11397:24;:::i;:::-;11392:3;11385:37;11310:118;;:::o;11434:587::-;11657:4;11695:2;11684:9;11680:18;11672:26;;11744:9;11738:4;11734:20;11730:1;11719:9;11715:17;11708:47;11772:160;11927:4;11918:6;11772:160;:::i;:::-;11764:168;;11942:72;12010:2;11999:9;11995:18;11986:6;11942:72;:::i;:::-;11434:587;;;;;:::o;12027:180::-;12075:77;12072:1;12065:88;12172:4;12169:1;12162:15;12196:4;12193:1;12186:15;12213:90;12248:7;12291:5;12288:1;12277:20;12266:31;;12213:90;;;:::o;12309:112::-;12392:22;12408:5;12392:22;:::i;:::-;12387:3;12380:35;12309:112;;:::o;12427:214::-;12516:4;12554:2;12543:9;12539:18;12531:26;;12567:67;12631:1;12620:9;12616:17;12607:6;12567:67;:::i;:::-;12427:214;;;;:::o;12647:351::-;12717:6;12766:2;12754:9;12745:7;12741:23;12737:32;12734:119;;;12772:79;;:::i;:::-;12734:119;12892:1;12917:64;12973:7;12964:6;12953:9;12949:22;12917:64;:::i;:::-;12907:74;;12863:128;12647:351;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600080fdfea2646970667358221220cccb1e3b513425026ac46d2b4e6bd34b6cddb978a46a1be16d2d8401b0ac5aa264736f6c634300081a0033","sourceMap":"188:5308:4:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"numTicks\",\"type\":\"uint16\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"This contract is not meant to be deployed. Instead, use a static call with the deployment bytecode as payload.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":\"GetUniswapV3TickDataBatchRequest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":{\"keccak256\":\"0xf4880fe94d71f43e56de9ae915528ac3a7d4b60860e5701b6bed23503d2a21a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f7aae1f30a595829e31ed09ee43a4c3d81001812b8ec2d6666ec34940848815\",\"dweb:/ipfs/QmSgjCAq6aYWSVp6qPi7UTQz3diF1bPX1A3dpCcS5vfGG5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int24","name":"currentTick","type":"int24"},{"internalType":"uint16","name":"numTicks","type":"uint16"},{"internalType":"int24","name":"tickSpacing","type":"int24"}],"stateMutability":"nonpayable","type":"constructor"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GetUniswapV3TickDataBatchRequest.sol":"GetUniswapV3TickDataBatchRequest"},"evmVersion":"paris","libraries":{}},"sources":{"src/GetUniswapV3TickDataBatchRequest.sol":{"keccak256":"0xf4880fe94d71f43e56de9ae915528ac3a7d4b60860e5701b6bed23503d2a21a5","urls":["bzz-raw://7f7aae1f30a595829e31ed09ee43a4c3d81001812b8ec2d6666ec34940848815","dweb:/ipfs/QmSgjCAq6aYWSVp6qPi7UTQz3diF1bPX1A3dpCcS5vfGG5"],"license":"MIT"}},"version":1},"id":4} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "address" + }, + { + "name": "zeroForOne", + "type": "bool", + "internalType": "bool" + }, + { + "name": "currentTick", + "type": "int24", + "internalType": "int24" + }, + { + "name": "numTicks", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "tickSpacing", + "type": "int24", + "internalType": "int24" + } + ], + "stateMutability": "nonpayable" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b50604051610f9d380380610f9d83398181016040528101906100329190610981565b60008261ffff1667ffffffffffffffff811115610052576100516109fc565b5b60405190808252806020026020018201604052801561008b57816020015b61007861084a565b8152602001906001900390816100705790505b50905060005b8361ffff168110156103ae576000806100b28988878b6103de60201b60201c565b9150915060008973ffffffffffffffffffffffffffffffffffffffff1663f30dba93846040518263ffffffff1660e01b81526004016100f19190610a3a565b61010060405180830381865afa15801561010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101339190610bad565b5050505050509150507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761860020b8360020b1215610217577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276189250818585815181106101a1576101a0610c63565b5b60200260200101516000019015159081151581525050828585815181106101cb576101ca610c63565b5b60200260200101516020019060020b908160020b81525050808585815181106101f7576101f6610c63565b5b602002602001015160400190600f0b9081600f0b815250505050506103ae565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861024190610cc1565b60020b8360020b13156102fb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761892508185858151811061028557610284610c63565b5b60200260200101516000019015159081151581525050828585815181106102af576102ae610c63565b5b60200260200101516020019060020b908160020b81525050808585815181106102db576102da610c63565b5b602002602001015160400190600f0b9081600f0b815250505050506103ae565b8185858151811061030f5761030e610c63565b5b602002602001015160000190151590811515815250508285858151811061033957610338610c63565b5b60200260200101516020019060020b908160020b815250508085858151811061036557610364610c63565b5b602002602001015160400190600f0b9081600f0b81525050838061038890610d09565b9450508861039657826103a4565b6001836103a39190610d51565b5b9750505050610091565b600082436040516020016103c3929190610ed9565b60405160208183030381529060405290506020810180590381f35b60008060008460020b8660020b816103f9576103f8610f09565b5b05905060008660020b128015610429575060008560020b8760020b8161042257610421610f09565b5b0760020b14155b15610438578080600190039150505b8315610529576000806104508361061e60201b60201c565b9150915060008160ff166001901b60018360ff166001901b030190506000818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016104a89190610f54565b602060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610f6f565b169050600081141595508561050557888360ff1686030261051e565b886105158261064860201b60201c565b840360ff168603025b965050505050610614565b60008061053e6001840161061e60201b60201c565b91509150600060018260ff166001901b031990506000818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b815260040161058e9190610f54565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190610f6f565b16905060008114159550856105f157888360ff0360ff1660018701010261060d565b88836106028361072360201b60201c565b0360ff166001870101025b9650505050505b5094509492505050565b60008060088360020b901d91506101008360020b816106405761063f610f09565b5b079050915091565b600080821161065657600080fd5b700100000000000000000000000000000000821061067c57608082901c91506080810190505b68010000000000000000821061069a57604082901c91506040810190505b64010000000082106106b457602082901c91506020810190505b6201000082106106cc57601082901c91506010810190505b61010082106106e357600882901c91506008810190505b601082106106f957600482901c91506004810190505b6004821061070f57600282901c91506002810190505b6002821061071e576001810190505b919050565b600080821161073157600080fd5b60ff905060006fffffffffffffffffffffffffffffffff80168316111561075d57608081039050610765565b608082901c91505b600067ffffffffffffffff8016831611156107855760408103905061078d565b604082901c91505b600063ffffffff8016831611156107a9576020810390506107b1565b602082901c91505b600061ffff8016831611156107cb576010810390506107d3565b601082901c91505b600060ff8016831611156107ec576008810390506107f4565b600882901c91505b6000600f8316111561080b57600481039050610813565b600482901c91505b600060038316111561082a57600281039050610832565b600282901c91505b6000600183161115610845576001810390505b919050565b6040518060600160405280600015158152602001600060020b81526020016000600f0b81525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108a382610878565b9050919050565b6108b381610898565b81146108be57600080fd5b50565b6000815190506108d0816108aa565b92915050565b60008115159050919050565b6108eb816108d6565b81146108f657600080fd5b50565b600081519050610908816108e2565b92915050565b60008160020b9050919050565b6109248161090e565b811461092f57600080fd5b50565b6000815190506109418161091b565b92915050565b600061ffff82169050919050565b61095e81610947565b811461096957600080fd5b50565b60008151905061097b81610955565b92915050565b600080600080600060a0868803121561099d5761099c610873565b5b60006109ab888289016108c1565b95505060206109bc888289016108f9565b94505060406109cd88828901610932565b93505060606109de8882890161096c565b92505060806109ef88828901610932565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a348161090e565b82525050565b6000602082019050610a4f6000830184610a2b565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b610a7a81610a55565b8114610a8557600080fd5b50565b600081519050610a9781610a71565b92915050565b600081600f0b9050919050565b610ab381610a9d565b8114610abe57600080fd5b50565b600081519050610ad081610aaa565b92915050565b6000819050919050565b610ae981610ad6565b8114610af457600080fd5b50565b600081519050610b0681610ae0565b92915050565b60008160060b9050919050565b610b2281610b0c565b8114610b2d57600080fd5b50565b600081519050610b3f81610b19565b92915050565b610b4e81610878565b8114610b5957600080fd5b50565b600081519050610b6b81610b45565b92915050565b600063ffffffff82169050919050565b610b8a81610b71565b8114610b9557600080fd5b50565b600081519050610ba781610b81565b92915050565b600080600080600080600080610100898b031215610bce57610bcd610873565b5b6000610bdc8b828c01610a88565b9850506020610bed8b828c01610ac1565b9750506040610bfe8b828c01610af7565b9650506060610c0f8b828c01610af7565b9550506080610c208b828c01610b30565b94505060a0610c318b828c01610b5c565b93505060c0610c428b828c01610b98565b92505060e0610c538b828c016108f9565b9150509295985092959890939650565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ccc8261090e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008203610cfe57610cfd610c92565b5b816000039050919050565b6000610d1482610ad6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d4657610d45610c92565b5b600182019050919050565b6000610d5c8261090e565b9150610d678361090e565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000082121715610da657610da5610c92565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610de1816108d6565b82525050565b610df08161090e565b82525050565b610dff81610a9d565b82525050565b606082016000820151610e1b6000850182610dd8565b506020820151610e2e6020850182610de7565b506040820151610e416040850182610df6565b50505050565b6000610e538383610e05565b60608301905092915050565b6000602082019050919050565b6000610e7782610dac565b610e818185610db7565b9350610e8c83610dc8565b8060005b83811015610ebd578151610ea48882610e47565b9750610eaf83610e5f565b925050600181019050610e90565b5085935050505092915050565b610ed381610ad6565b82525050565b60006040820190508181036000830152610ef38185610e6c565b9050610f026020830184610eca565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160010b9050919050565b610f4e81610f38565b82525050565b6000602082019050610f696000830184610f45565b92915050565b600060208284031215610f8557610f84610873565b5b6000610f9384828501610af7565b9150509291505056fe", + "sourceMap": "188:5308:4:-:0;;;439:2417;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;593:26;637:8;622:24;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;593:53;;733:15;763:1544;780:8;770:18;;:7;:18;763:1544;;;822:14;854:16;887:174;941:4;967:11;1000;1033:10;887:32;;;:174;;:::i;:::-;804:257;;;;1132:19;1187:4;1167:48;;;1216:8;1167:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1129:96;;;;;;;;;271:7;1397:19;;:8;:19;;;1393:752;;;271:7;1436:19;;1505:11;1473:8;1482:7;1473:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1559:8;1534;1543:7;1534:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1618:12;1585:8;1594:7;1585:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1648:5;;;;;1393:752;271:7;319:9;;;:::i;:::-;1678:19;;:8;:19;;;1674:471;;;271:7;1717:19;;1786:11;1754:8;1763:7;1754:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1840:8;1815;1824:7;1815:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1899:12;1866:8;1875:7;1866:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1929:5;;;;;1674:471;2005:11;1973:8;1982:7;1973:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2059:8;2034;2043:7;2034:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2118:12;2085:8;2094:7;2085:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2159:9;;;;;:::i;:::-;;;;2260:10;:36;;2288:8;2260:36;;;2284:1;2273:8;:12;;;;:::i;:::-;2260:36;2246:50;;790:1517;;;763:1544;;;2509:27;2550:8;2560:12;2539:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2509:64;;2780:4;2764:14;2760:25;2829:9;2820:7;2816:23;2805:9;2798:42;3100:2394;3258:10;3270:16;3322;3348:11;3341:18;;:4;:18;;;;;;;:::i;:::-;;;3322:37;;3384:1;3377:4;:8;;;:35;;;;;3411:1;3396:11;3389:18;;:4;:18;;;;;;;:::i;:::-;;;:23;;;;3377:35;3373:53;;;3414:12;;;;;;;;3373:53;3480:3;3476:2002;;;3504:13;3519:12;3535:20;3544:10;3535:8;;;:20;;:::i;:::-;3503:52;;;;3645:12;3686:6;3681:11;;:1;:11;;3676:1;3666:6;3661:11;;:1;:11;;3660:17;:33;3645:48;;3711:14;3796:4;3748;3728:36;;;3765:7;3728:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;3711:89;;3965:1;3955:6;:11;;3941:25;;4105:11;:272;;4366:11;4354:6;4347:14;;4328:10;:34;4327:50;4105:272;;;4293:11;4228:34;4255:6;4228:26;;;:34;;:::i;:::-;4219:6;:43;4212:51;;4140:10;:149;4139:165;4105:272;4098:279;;3485:907;;;;3476:2002;;;4518:13;4533:12;4549:24;4571:1;4558:10;:14;4549:8;;;:24;;:::i;:::-;4517:56;;;;4653:12;4686:1;4676:6;4671:11;;:1;:11;;4670:17;4668:20;4653:35;;4706:14;4791:4;4743;4723:36;;;4760:7;4723:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4706:89;;4952:1;4942:6;:11;;4928:25;;5092:11;:371;;5452:11;5440:6;5422:15;:24;5415:32;;5381:1;5344:10;:38;:104;5343:120;5092:371;;;5309:11;5272:6;5234:35;5262:6;5234:27;;;:35;;:::i;:::-;:44;5227:52;;5164:1;5127:10;:38;:178;5126:194;5092:371;5085:378;;4398:1080;;;;3476:2002;3298:2190;3100:2394;;;;;;;:::o;2862:232::-;2938:13;2953:12;3029:1;3021:4;:9;;;;3005:26;;3072:3;3065:4;:10;;;;;;;:::i;:::-;;;3045:32;;2862:232;;;:::o;6098:877::-;6160:7;6191:1;6187;:5;6179:14;;;;;;6237:35;6232:1;:40;6228:114;;6298:3;6292:9;;;;;6324:3;6319:8;;;;6228:114;6364:19;6359:1;:24;6355:96;;6409:2;6403:8;;;;;6434:2;6429:7;;;;6355:96;6473:11;6468:1;:16;6464:88;;6510:2;6504:8;;;;;6535:2;6530:7;;;;6464:88;6574:7;6569:1;:12;6565:84;;6607:2;6601:8;;;;;6632:2;6627:7;;;;6565:84;6671:5;6666:1;:10;6662:80;;6702:1;6696:7;;;;;6726:1;6721:6;;;;6662:80;6764:4;6759:1;:9;6755:79;;6794:1;6788:7;;;;;6818:1;6813:6;;;;6755:79;6856:3;6851:1;:8;6847:78;;6885:1;6879:7;;;;;6909:1;6904:6;;;;6847:78;6947:3;6942:1;:8;6938:20;;6957:1;6952:6;;;;6938:20;6098:877;;;:::o;7466:1072::-;7529:7;7560:1;7556;:5;7548:14;;;;;;7601:3;7597:7;;7646:1;7626:17;7622:21;;:1;:21;:25;7618:120;;;7672:3;7667:8;;;;7618:120;;;7720:3;7714:9;;;;;7618:120;7778:1;7759:16;7755:20;;:1;:20;:24;7751:117;;;7804:2;7799:7;;;;7751:117;;;7851:2;7845:8;;;;;7751:117;7908:1;7889:16;7885:20;;:1;:20;:24;7881:117;;;7934:2;7929:7;;;;7881:117;;;7981:2;7975:8;;;;;7881:117;8038:1;8019:16;8015:20;;:1;:20;:24;8011:117;;;8064:2;8059:7;;;;8011:117;;;8111:2;8105:8;;;;;8011:117;8167:1;8149:15;8145:19;;:1;:19;:23;8141:114;;;8193:1;8188:6;;;;8141:114;;;8239:1;8233:7;;;;;8141:114;8282:1;8276:3;8272:1;:7;:11;8268:102;;;8308:1;8303:6;;;;8268:102;;;8354:1;8348:7;;;;;8268:102;8397:1;8391:3;8387:1;:7;:11;8383:102;;;8423:1;8418:6;;;;8383:102;;;8469:1;8463:7;;;;;8383:102;8512:1;8506:3;8502:1;:7;:11;8498:23;;;8520:1;8515:6;;;;8498:23;7466:1072;;;:::o;188:5308::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:7:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:90::-;879:7;922:5;915:13;908:21;897:32;;845:90;;;:::o;941:116::-;1011:21;1026:5;1011:21;:::i;:::-;1004:5;1001:32;991:60;;1047:1;1044;1037:12;991:60;941:116;:::o;1063:137::-;1117:5;1148:6;1142:13;1133:22;;1164:30;1188:5;1164:30;:::i;:::-;1063:137;;;;:::o;1206:90::-;1241:7;1284:5;1281:1;1270:20;1259:31;;1206:90;;;:::o;1302:118::-;1373:22;1389:5;1373:22;:::i;:::-;1366:5;1363:33;1353:61;;1410:1;1407;1400:12;1353:61;1302:118;:::o;1426:139::-;1481:5;1512:6;1506:13;1497:22;;1528:31;1553:5;1528:31;:::i;:::-;1426:139;;;;:::o;1571:89::-;1607:7;1647:6;1640:5;1636:18;1625:29;;1571:89;;;:::o;1666:120::-;1738:23;1755:5;1738:23;:::i;:::-;1731:5;1728:34;1718:62;;1776:1;1773;1766:12;1718:62;1666:120;:::o;1792:141::-;1848:5;1879:6;1873:13;1864:22;;1895:32;1921:5;1895:32;:::i;:::-;1792:141;;;;:::o;1939:961::-;2037:6;2045;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2383:2;2409:61;2462:7;2453:6;2442:9;2438:22;2409:61;:::i;:::-;2399:71;;2354:126;2519:2;2545:62;2599:7;2590:6;2579:9;2575:22;2545:62;:::i;:::-;2535:72;;2490:127;2656:2;2682:63;2737:7;2728:6;2717:9;2713:22;2682:63;:::i;:::-;2672:73;;2627:128;2794:3;2821:62;2875:7;2866:6;2855:9;2851:22;2821:62;:::i;:::-;2811:72;;2765:128;1939:961;;;;;;;;:::o;2906:180::-;2954:77;2951:1;2944:88;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3092:112;3175:22;3191:5;3175:22;:::i;:::-;3170:3;3163:35;3092:112;;:::o;3210:214::-;3299:4;3337:2;3326:9;3322:18;3314:26;;3350:67;3414:1;3403:9;3399:17;3390:6;3350:67;:::i;:::-;3210:214;;;;:::o;3430:118::-;3467:7;3507:34;3500:5;3496:46;3485:57;;3430:118;;;:::o;3554:122::-;3627:24;3645:5;3627:24;:::i;:::-;3620:5;3617:35;3607:63;;3666:1;3663;3656:12;3607:63;3554:122;:::o;3682:143::-;3739:5;3770:6;3764:13;3755:22;;3786:33;3813:5;3786:33;:::i;:::-;3682:143;;;;:::o;3831:92::-;3867:7;3911:5;3907:2;3896:21;3885:32;;3831:92;;;:::o;3929:120::-;4001:23;4018:5;4001:23;:::i;:::-;3994:5;3991:34;3981:62;;4039:1;4036;4029:12;3981:62;3929:120;:::o;4055:141::-;4111:5;4142:6;4136:13;4127:22;;4158:32;4184:5;4158:32;:::i;:::-;4055:141;;;;:::o;4202:77::-;4239:7;4268:5;4257:16;;4202:77;;;:::o;4285:122::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:63;;4397:1;4394;4387:12;4338:63;4285:122;:::o;4413:143::-;4470:5;4501:6;4495:13;4486:22;;4517:33;4544:5;4517:33;:::i;:::-;4413:143;;;;:::o;4562:90::-;4597:7;4640:5;4637:1;4626:20;4615:31;;4562:90;;;:::o;4658:118::-;4729:22;4745:5;4729:22;:::i;:::-;4722:5;4719:33;4709:61;;4766:1;4763;4756:12;4709:61;4658:118;:::o;4782:139::-;4837:5;4868:6;4862:13;4853:22;;4884:31;4909:5;4884:31;:::i;:::-;4782:139;;;;:::o;4927:122::-;5000:24;5018:5;5000:24;:::i;:::-;4993:5;4990:35;4980:63;;5039:1;5036;5029:12;4980:63;4927:122;:::o;5055:143::-;5112:5;5143:6;5137:13;5128:22;;5159:33;5186:5;5159:33;:::i;:::-;5055:143;;;;:::o;5204:93::-;5240:7;5280:10;5273:5;5269:22;5258:33;;5204:93;;;:::o;5303:120::-;5375:23;5392:5;5375:23;:::i;:::-;5368:5;5365:34;5355:62;;5413:1;5410;5403:12;5355:62;5303:120;:::o;5429:141::-;5485:5;5516:6;5510:13;5501:22;;5532:32;5558:5;5532:32;:::i;:::-;5429:141;;;;:::o;5576:1434::-;5702:6;5710;5718;5726;5734;5742;5750;5758;5807:3;5795:9;5786:7;5782:23;5778:33;5775:120;;;5814:79;;:::i;:::-;5775:120;5934:1;5959:64;6015:7;6006:6;5995:9;5991:22;5959:64;:::i;:::-;5949:74;;5905:128;6072:2;6098:63;6153:7;6144:6;6133:9;6129:22;6098:63;:::i;:::-;6088:73;;6043:128;6210:2;6236:64;6292:7;6283:6;6272:9;6268:22;6236:64;:::i;:::-;6226:74;;6181:129;6349:2;6375:64;6431:7;6422:6;6411:9;6407:22;6375:64;:::i;:::-;6365:74;;6320:129;6488:3;6515:62;6569:7;6560:6;6549:9;6545:22;6515:62;:::i;:::-;6505:72;;6459:128;6626:3;6653:64;6709:7;6700:6;6689:9;6685:22;6653:64;:::i;:::-;6643:74;;6597:130;6766:3;6793:63;6848:7;6839:6;6828:9;6824:22;6793:63;:::i;:::-;6783:73;;6737:129;6905:3;6932:61;6985:7;6976:6;6965:9;6961:22;6932:61;:::i;:::-;6922:71;;6876:127;5576:1434;;;;;;;;;;;:::o;7016:180::-;7064:77;7061:1;7054:88;7161:4;7158:1;7151:15;7185:4;7182:1;7175:15;7202:180;7250:77;7247:1;7240:88;7347:4;7344:1;7337:15;7371:4;7368:1;7361:15;7388:226;7422:3;7445:22;7461:5;7445:22;:::i;:::-;7436:31;;7489:66;7482:5;7479:77;7476:103;;7559:18;;:::i;:::-;7476:103;7602:5;7599:1;7595:13;7588:20;;7388:226;;;:::o;7620:233::-;7659:3;7682:24;7700:5;7682:24;:::i;:::-;7673:33;;7728:66;7721:5;7718:77;7715:103;;7798:18;;:::i;:::-;7715:103;7845:1;7838:5;7834:13;7827:20;;7620:233;;;:::o;7859:313::-;7897:4;7917:18;7933:1;7917:18;:::i;:::-;7912:23;;7949:18;7965:1;7949:18;:::i;:::-;7944:23;;7991:1;7988;7984:9;7976:17;;8123:8;8117:4;8113:19;8032:66;8026:4;8022:77;8006:136;8003:162;;;8145:18;;:::i;:::-;8003:162;7859:313;;;;:::o;8178:140::-;8271:6;8305:5;8299:12;8289:22;;8178:140;;;:::o;8324:210::-;8449:11;8483:6;8478:3;8471:19;8523:4;8518:3;8514:14;8499:29;;8324:210;;;;:::o;8540:158::-;8633:4;8656:3;8648:11;;8686:4;8681:3;8677:14;8669:22;;8540:158;;;:::o;8704:99::-;8775:21;8790:5;8775:21;:::i;:::-;8770:3;8763:34;8704:99;;:::o;8809:102::-;8882:22;8898:5;8882:22;:::i;:::-;8877:3;8870:35;8809:102;;:::o;8917:105::-;8992:23;9009:5;8992:23;:::i;:::-;8987:3;8980:36;8917:105;;:::o;9136:676::-;9275:4;9270:3;9266:14;9369:4;9362:5;9358:16;9352:23;9388:57;9439:4;9434:3;9430:14;9416:12;9388:57;:::i;:::-;9290:165;9537:4;9530:5;9526:16;9520:23;9556:59;9609:4;9604:3;9600:14;9586:12;9556:59;:::i;:::-;9465:160;9715:4;9708:5;9704:16;9698:23;9734:61;9789:4;9784:3;9780:14;9766:12;9734:61;:::i;:::-;9635:170;9244:568;9136:676;;:::o;9818:283::-;9939:10;9960:98;10054:3;10046:6;9960:98;:::i;:::-;10090:4;10085:3;10081:14;10067:28;;9818:283;;;;:::o;10107:139::-;10203:4;10235;10230:3;10226:14;10218:22;;10107:139;;;:::o;10364:940::-;10535:3;10564:80;10638:5;10564:80;:::i;:::-;10660:112;10765:6;10760:3;10660:112;:::i;:::-;10653:119;;10796:82;10872:5;10796:82;:::i;:::-;10901:7;10932:1;10917:362;10942:6;10939:1;10936:13;10917:362;;;11018:6;11012:13;11045:115;11156:3;11141:13;11045:115;:::i;:::-;11038:122;;11183:86;11262:6;11183:86;:::i;:::-;11173:96;;10977:302;10964:1;10961;10957:9;10952:14;;10917:362;;;10921:14;11295:3;11288:10;;10540:764;;;10364:940;;;;:::o;11310:118::-;11397:24;11415:5;11397:24;:::i;:::-;11392:3;11385:37;11310:118;;:::o;11434:587::-;11657:4;11695:2;11684:9;11680:18;11672:26;;11744:9;11738:4;11734:20;11730:1;11719:9;11715:17;11708:47;11772:160;11927:4;11918:6;11772:160;:::i;:::-;11764:168;;11942:72;12010:2;11999:9;11995:18;11986:6;11942:72;:::i;:::-;11434:587;;;;;:::o;12027:180::-;12075:77;12072:1;12065:88;12172:4;12169:1;12162:15;12196:4;12193:1;12186:15;12213:90;12248:7;12291:5;12288:1;12277:20;12266:31;;12213:90;;;:::o;12309:112::-;12392:22;12408:5;12392:22;:::i;:::-;12387:3;12380:35;12309:112;;:::o;12427:214::-;12516:4;12554:2;12543:9;12539:18;12531:26;;12567:67;12631:1;12620:9;12616:17;12607:6;12567:67;:::i;:::-;12427:214;;;;:::o;12647:351::-;12717:6;12766:2;12754:9;12745:7;12741:23;12737:32;12734:119;;;12772:79;;:::i;:::-;12734:119;12892:1;12917:64;12973:7;12964:6;12953:9;12949:22;12917:64;:::i;:::-;12907:74;;12863:128;12647:351;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x6080604052600080fdfea2646970667358221220cccb1e3b513425026ac46d2b4e6bd34b6cddb978a46a1be16d2d8401b0ac5aa264736f6c634300081a0033", + "sourceMap": "188:5308:4:-:0;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": {}, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"numTicks\",\"type\":\"uint16\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"This contract is not meant to be deployed. Instead, use a static call with the deployment bytecode as payload.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":\"GetUniswapV3TickDataBatchRequest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":{\"keccak256\":\"0xf4880fe94d71f43e56de9ae915528ac3a7d4b60860e5701b6bed23503d2a21a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f7aae1f30a595829e31ed09ee43a4c3d81001812b8ec2d6666ec34940848815\",\"dweb:/ipfs/QmSgjCAq6aYWSVp6qPi7UTQz3diF1bPX1A3dpCcS5vfGG5\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.26+commit.8a97fa7a" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "internalType": "bool", + "name": "zeroForOne", + "type": "bool" + }, + { + "internalType": "int24", + "name": "currentTick", + "type": "int24" + }, + { + "internalType": "uint16", + "name": "numTicks", + "type": "uint16" + }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "forge-std/=lib/forge-std/src/" + ], + "optimizer": { + "enabled": false, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/GetUniswapV3TickDataBatchRequest.sol": "GetUniswapV3TickDataBatchRequest" + }, + "evmVersion": "paris", + "libraries": {} + }, + "sources": { + "src/GetUniswapV3TickDataBatchRequest.sol": { + "keccak256": "0xf4880fe94d71f43e56de9ae915528ac3a7d4b60860e5701b6bed23503d2a21a5", + "urls": [ + "bzz-raw://7f7aae1f30a595829e31ed09ee43a4c3d81001812b8ec2d6666ec34940848815", + "dweb:/ipfs/QmSgjCAq6aYWSVp6qPi7UTQz3diF1bPX1A3dpCcS5vfGG5" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "id": 4 +} \ No newline at end of file From 791751ebaafddaf322f74ca7374ed3603431a9d8 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Mon, 19 Aug 2024 14:48:13 +0300 Subject: [PATCH 2/7] Added liquidityGross to the batch tick sync --- .../src/GetUniswapV3TickDataBatchRequest.sol | 6 +- .../GetUniswapV3TickDataBatchRequestABI.json | 128 +----------------- src/amm/uniswap_v3/batch_request/mod.rs | 12 +- 3 files changed, 17 insertions(+), 129 deletions(-) diff --git a/contracts/src/GetUniswapV3TickDataBatchRequest.sol b/contracts/src/GetUniswapV3TickDataBatchRequest.sol index b597474..911b29e 100644 --- a/contracts/src/GetUniswapV3TickDataBatchRequest.sol +++ b/contracts/src/GetUniswapV3TickDataBatchRequest.sol @@ -13,6 +13,7 @@ contract GetUniswapV3TickDataBatchRequest { struct TickData { bool initialized; int24 tick; + uint128 liquidityGross; int128 liquidityNet; } @@ -40,7 +41,7 @@ contract GetUniswapV3TickDataBatchRequest { ); //Make sure the next tick is initialized - (, int128 liquidityNet, , , , , , ) = IUniswapV3PoolState(pool) + (uint128 liquidityGross, int128 liquidityNet, , , , , , ) = IUniswapV3PoolState(pool) .ticks(nextTick); //Make sure not to overshoot the max/min tick @@ -49,17 +50,20 @@ contract GetUniswapV3TickDataBatchRequest { nextTick = MIN_TICK; tickData[counter].initialized = initialized; tickData[counter].tick = nextTick; + tickData[counter].liquidityGross = liquidityGross; tickData[counter].liquidityNet = liquidityNet; break; } else if (nextTick > MAX_TICK) { nextTick = MIN_TICK; tickData[counter].initialized = initialized; tickData[counter].tick = nextTick; + tickData[counter].liquidityGross = liquidityGross; tickData[counter].liquidityNet = liquidityNet; break; } else { tickData[counter].initialized = initialized; tickData[counter].tick = nextTick; + tickData[counter].liquidityGross = liquidityGross; tickData[counter].liquidityNet = liquidityNet; } diff --git a/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json b/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json index ae69020..612b812 100644 --- a/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json +++ b/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json @@ -1,127 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "address" - }, - { - "name": "zeroForOne", - "type": "bool", - "internalType": "bool" - }, - { - "name": "currentTick", - "type": "int24", - "internalType": "int24" - }, - { - "name": "numTicks", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "tickSpacing", - "type": "int24", - "internalType": "int24" - } - ], - "stateMutability": "nonpayable" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50604051610f9d380380610f9d83398181016040528101906100329190610981565b60008261ffff1667ffffffffffffffff811115610052576100516109fc565b5b60405190808252806020026020018201604052801561008b57816020015b61007861084a565b8152602001906001900390816100705790505b50905060005b8361ffff168110156103ae576000806100b28988878b6103de60201b60201c565b9150915060008973ffffffffffffffffffffffffffffffffffffffff1663f30dba93846040518263ffffffff1660e01b81526004016100f19190610a3a565b61010060405180830381865afa15801561010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101339190610bad565b5050505050509150507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761860020b8360020b1215610217577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276189250818585815181106101a1576101a0610c63565b5b60200260200101516000019015159081151581525050828585815181106101cb576101ca610c63565b5b60200260200101516020019060020b908160020b81525050808585815181106101f7576101f6610c63565b5b602002602001015160400190600f0b9081600f0b815250505050506103ae565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861024190610cc1565b60020b8360020b13156102fb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761892508185858151811061028557610284610c63565b5b60200260200101516000019015159081151581525050828585815181106102af576102ae610c63565b5b60200260200101516020019060020b908160020b81525050808585815181106102db576102da610c63565b5b602002602001015160400190600f0b9081600f0b815250505050506103ae565b8185858151811061030f5761030e610c63565b5b602002602001015160000190151590811515815250508285858151811061033957610338610c63565b5b60200260200101516020019060020b908160020b815250508085858151811061036557610364610c63565b5b602002602001015160400190600f0b9081600f0b81525050838061038890610d09565b9450508861039657826103a4565b6001836103a39190610d51565b5b9750505050610091565b600082436040516020016103c3929190610ed9565b60405160208183030381529060405290506020810180590381f35b60008060008460020b8660020b816103f9576103f8610f09565b5b05905060008660020b128015610429575060008560020b8760020b8161042257610421610f09565b5b0760020b14155b15610438578080600190039150505b8315610529576000806104508361061e60201b60201c565b9150915060008160ff166001901b60018360ff166001901b030190506000818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016104a89190610f54565b602060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610f6f565b169050600081141595508561050557888360ff1686030261051e565b886105158261064860201b60201c565b840360ff168603025b965050505050610614565b60008061053e6001840161061e60201b60201c565b91509150600060018260ff166001901b031990506000818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b815260040161058e9190610f54565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190610f6f565b16905060008114159550856105f157888360ff0360ff1660018701010261060d565b88836106028361072360201b60201c565b0360ff166001870101025b9650505050505b5094509492505050565b60008060088360020b901d91506101008360020b816106405761063f610f09565b5b079050915091565b600080821161065657600080fd5b700100000000000000000000000000000000821061067c57608082901c91506080810190505b68010000000000000000821061069a57604082901c91506040810190505b64010000000082106106b457602082901c91506020810190505b6201000082106106cc57601082901c91506010810190505b61010082106106e357600882901c91506008810190505b601082106106f957600482901c91506004810190505b6004821061070f57600282901c91506002810190505b6002821061071e576001810190505b919050565b600080821161073157600080fd5b60ff905060006fffffffffffffffffffffffffffffffff80168316111561075d57608081039050610765565b608082901c91505b600067ffffffffffffffff8016831611156107855760408103905061078d565b604082901c91505b600063ffffffff8016831611156107a9576020810390506107b1565b602082901c91505b600061ffff8016831611156107cb576010810390506107d3565b601082901c91505b600060ff8016831611156107ec576008810390506107f4565b600882901c91505b6000600f8316111561080b57600481039050610813565b600482901c91505b600060038316111561082a57600281039050610832565b600282901c91505b6000600183161115610845576001810390505b919050565b6040518060600160405280600015158152602001600060020b81526020016000600f0b81525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108a382610878565b9050919050565b6108b381610898565b81146108be57600080fd5b50565b6000815190506108d0816108aa565b92915050565b60008115159050919050565b6108eb816108d6565b81146108f657600080fd5b50565b600081519050610908816108e2565b92915050565b60008160020b9050919050565b6109248161090e565b811461092f57600080fd5b50565b6000815190506109418161091b565b92915050565b600061ffff82169050919050565b61095e81610947565b811461096957600080fd5b50565b60008151905061097b81610955565b92915050565b600080600080600060a0868803121561099d5761099c610873565b5b60006109ab888289016108c1565b95505060206109bc888289016108f9565b94505060406109cd88828901610932565b93505060606109de8882890161096c565b92505060806109ef88828901610932565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a348161090e565b82525050565b6000602082019050610a4f6000830184610a2b565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b610a7a81610a55565b8114610a8557600080fd5b50565b600081519050610a9781610a71565b92915050565b600081600f0b9050919050565b610ab381610a9d565b8114610abe57600080fd5b50565b600081519050610ad081610aaa565b92915050565b6000819050919050565b610ae981610ad6565b8114610af457600080fd5b50565b600081519050610b0681610ae0565b92915050565b60008160060b9050919050565b610b2281610b0c565b8114610b2d57600080fd5b50565b600081519050610b3f81610b19565b92915050565b610b4e81610878565b8114610b5957600080fd5b50565b600081519050610b6b81610b45565b92915050565b600063ffffffff82169050919050565b610b8a81610b71565b8114610b9557600080fd5b50565b600081519050610ba781610b81565b92915050565b600080600080600080600080610100898b031215610bce57610bcd610873565b5b6000610bdc8b828c01610a88565b9850506020610bed8b828c01610ac1565b9750506040610bfe8b828c01610af7565b9650506060610c0f8b828c01610af7565b9550506080610c208b828c01610b30565b94505060a0610c318b828c01610b5c565b93505060c0610c428b828c01610b98565b92505060e0610c538b828c016108f9565b9150509295985092959890939650565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ccc8261090e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008203610cfe57610cfd610c92565b5b816000039050919050565b6000610d1482610ad6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d4657610d45610c92565b5b600182019050919050565b6000610d5c8261090e565b9150610d678361090e565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000082121715610da657610da5610c92565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610de1816108d6565b82525050565b610df08161090e565b82525050565b610dff81610a9d565b82525050565b606082016000820151610e1b6000850182610dd8565b506020820151610e2e6020850182610de7565b506040820151610e416040850182610df6565b50505050565b6000610e538383610e05565b60608301905092915050565b6000602082019050919050565b6000610e7782610dac565b610e818185610db7565b9350610e8c83610dc8565b8060005b83811015610ebd578151610ea48882610e47565b9750610eaf83610e5f565b925050600181019050610e90565b5085935050505092915050565b610ed381610ad6565b82525050565b60006040820190508181036000830152610ef38185610e6c565b9050610f026020830184610eca565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160010b9050919050565b610f4e81610f38565b82525050565b6000602082019050610f696000830184610f45565b92915050565b600060208284031215610f8557610f84610873565b5b6000610f9384828501610af7565b9150509291505056fe", - "sourceMap": "188:5308:4:-:0;;;439:2417;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;593:26;637:8;622:24;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;593:53;;733:15;763:1544;780:8;770:18;;:7;:18;763:1544;;;822:14;854:16;887:174;941:4;967:11;1000;1033:10;887:32;;;:174;;:::i;:::-;804:257;;;;1132:19;1187:4;1167:48;;;1216:8;1167:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1129:96;;;;;;;;;271:7;1397:19;;:8;:19;;;1393:752;;;271:7;1436:19;;1505:11;1473:8;1482:7;1473:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1559:8;1534;1543:7;1534:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1618:12;1585:8;1594:7;1585:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1648:5;;;;;1393:752;271:7;319:9;;;:::i;:::-;1678:19;;:8;:19;;;1674:471;;;271:7;1717:19;;1786:11;1754:8;1763:7;1754:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1840:8;1815;1824:7;1815:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1899:12;1866:8;1875:7;1866:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1929:5;;;;;1674:471;2005:11;1973:8;1982:7;1973:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2059:8;2034;2043:7;2034:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2118:12;2085:8;2094:7;2085:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2159:9;;;;;:::i;:::-;;;;2260:10;:36;;2288:8;2260:36;;;2284:1;2273:8;:12;;;;:::i;:::-;2260:36;2246:50;;790:1517;;;763:1544;;;2509:27;2550:8;2560:12;2539:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2509:64;;2780:4;2764:14;2760:25;2829:9;2820:7;2816:23;2805:9;2798:42;3100:2394;3258:10;3270:16;3322;3348:11;3341:18;;:4;:18;;;;;;;:::i;:::-;;;3322:37;;3384:1;3377:4;:8;;;:35;;;;;3411:1;3396:11;3389:18;;:4;:18;;;;;;;:::i;:::-;;;:23;;;;3377:35;3373:53;;;3414:12;;;;;;;;3373:53;3480:3;3476:2002;;;3504:13;3519:12;3535:20;3544:10;3535:8;;;:20;;:::i;:::-;3503:52;;;;3645:12;3686:6;3681:11;;:1;:11;;3676:1;3666:6;3661:11;;:1;:11;;3660:17;:33;3645:48;;3711:14;3796:4;3748;3728:36;;;3765:7;3728:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;3711:89;;3965:1;3955:6;:11;;3941:25;;4105:11;:272;;4366:11;4354:6;4347:14;;4328:10;:34;4327:50;4105:272;;;4293:11;4228:34;4255:6;4228:26;;;:34;;:::i;:::-;4219:6;:43;4212:51;;4140:10;:149;4139:165;4105:272;4098:279;;3485:907;;;;3476:2002;;;4518:13;4533:12;4549:24;4571:1;4558:10;:14;4549:8;;;:24;;:::i;:::-;4517:56;;;;4653:12;4686:1;4676:6;4671:11;;:1;:11;;4670:17;4668:20;4653:35;;4706:14;4791:4;4743;4723:36;;;4760:7;4723:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4706:89;;4952:1;4942:6;:11;;4928:25;;5092:11;:371;;5452:11;5440:6;5422:15;:24;5415:32;;5381:1;5344:10;:38;:104;5343:120;5092:371;;;5309:11;5272:6;5234:35;5262:6;5234:27;;;:35;;:::i;:::-;:44;5227:52;;5164:1;5127:10;:38;:178;5126:194;5092:371;5085:378;;4398:1080;;;;3476:2002;3298:2190;3100:2394;;;;;;;:::o;2862:232::-;2938:13;2953:12;3029:1;3021:4;:9;;;;3005:26;;3072:3;3065:4;:10;;;;;;;:::i;:::-;;;3045:32;;2862:232;;;:::o;6098:877::-;6160:7;6191:1;6187;:5;6179:14;;;;;;6237:35;6232:1;:40;6228:114;;6298:3;6292:9;;;;;6324:3;6319:8;;;;6228:114;6364:19;6359:1;:24;6355:96;;6409:2;6403:8;;;;;6434:2;6429:7;;;;6355:96;6473:11;6468:1;:16;6464:88;;6510:2;6504:8;;;;;6535:2;6530:7;;;;6464:88;6574:7;6569:1;:12;6565:84;;6607:2;6601:8;;;;;6632:2;6627:7;;;;6565:84;6671:5;6666:1;:10;6662:80;;6702:1;6696:7;;;;;6726:1;6721:6;;;;6662:80;6764:4;6759:1;:9;6755:79;;6794:1;6788:7;;;;;6818:1;6813:6;;;;6755:79;6856:3;6851:1;:8;6847:78;;6885:1;6879:7;;;;;6909:1;6904:6;;;;6847:78;6947:3;6942:1;:8;6938:20;;6957:1;6952:6;;;;6938:20;6098:877;;;:::o;7466:1072::-;7529:7;7560:1;7556;:5;7548:14;;;;;;7601:3;7597:7;;7646:1;7626:17;7622:21;;:1;:21;:25;7618:120;;;7672:3;7667:8;;;;7618:120;;;7720:3;7714:9;;;;;7618:120;7778:1;7759:16;7755:20;;:1;:20;:24;7751:117;;;7804:2;7799:7;;;;7751:117;;;7851:2;7845:8;;;;;7751:117;7908:1;7889:16;7885:20;;:1;:20;:24;7881:117;;;7934:2;7929:7;;;;7881:117;;;7981:2;7975:8;;;;;7881:117;8038:1;8019:16;8015:20;;:1;:20;:24;8011:117;;;8064:2;8059:7;;;;8011:117;;;8111:2;8105:8;;;;;8011:117;8167:1;8149:15;8145:19;;:1;:19;:23;8141:114;;;8193:1;8188:6;;;;8141:114;;;8239:1;8233:7;;;;;8141:114;8282:1;8276:3;8272:1;:7;:11;8268:102;;;8308:1;8303:6;;;;8268:102;;;8354:1;8348:7;;;;;8268:102;8397:1;8391:3;8387:1;:7;:11;8383:102;;;8423:1;8418:6;;;;8383:102;;;8469:1;8463:7;;;;;8383:102;8512:1;8506:3;8502:1;:7;:11;8498:23;;;8520:1;8515:6;;;;8498:23;7466:1072;;;:::o;188:5308::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:7:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:90::-;879:7;922:5;915:13;908:21;897:32;;845:90;;;:::o;941:116::-;1011:21;1026:5;1011:21;:::i;:::-;1004:5;1001:32;991:60;;1047:1;1044;1037:12;991:60;941:116;:::o;1063:137::-;1117:5;1148:6;1142:13;1133:22;;1164:30;1188:5;1164:30;:::i;:::-;1063:137;;;;:::o;1206:90::-;1241:7;1284:5;1281:1;1270:20;1259:31;;1206:90;;;:::o;1302:118::-;1373:22;1389:5;1373:22;:::i;:::-;1366:5;1363:33;1353:61;;1410:1;1407;1400:12;1353:61;1302:118;:::o;1426:139::-;1481:5;1512:6;1506:13;1497:22;;1528:31;1553:5;1528:31;:::i;:::-;1426:139;;;;:::o;1571:89::-;1607:7;1647:6;1640:5;1636:18;1625:29;;1571:89;;;:::o;1666:120::-;1738:23;1755:5;1738:23;:::i;:::-;1731:5;1728:34;1718:62;;1776:1;1773;1766:12;1718:62;1666:120;:::o;1792:141::-;1848:5;1879:6;1873:13;1864:22;;1895:32;1921:5;1895:32;:::i;:::-;1792:141;;;;:::o;1939:961::-;2037:6;2045;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2383:2;2409:61;2462:7;2453:6;2442:9;2438:22;2409:61;:::i;:::-;2399:71;;2354:126;2519:2;2545:62;2599:7;2590:6;2579:9;2575:22;2545:62;:::i;:::-;2535:72;;2490:127;2656:2;2682:63;2737:7;2728:6;2717:9;2713:22;2682:63;:::i;:::-;2672:73;;2627:128;2794:3;2821:62;2875:7;2866:6;2855:9;2851:22;2821:62;:::i;:::-;2811:72;;2765:128;1939:961;;;;;;;;:::o;2906:180::-;2954:77;2951:1;2944:88;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3092:112;3175:22;3191:5;3175:22;:::i;:::-;3170:3;3163:35;3092:112;;:::o;3210:214::-;3299:4;3337:2;3326:9;3322:18;3314:26;;3350:67;3414:1;3403:9;3399:17;3390:6;3350:67;:::i;:::-;3210:214;;;;:::o;3430:118::-;3467:7;3507:34;3500:5;3496:46;3485:57;;3430:118;;;:::o;3554:122::-;3627:24;3645:5;3627:24;:::i;:::-;3620:5;3617:35;3607:63;;3666:1;3663;3656:12;3607:63;3554:122;:::o;3682:143::-;3739:5;3770:6;3764:13;3755:22;;3786:33;3813:5;3786:33;:::i;:::-;3682:143;;;;:::o;3831:92::-;3867:7;3911:5;3907:2;3896:21;3885:32;;3831:92;;;:::o;3929:120::-;4001:23;4018:5;4001:23;:::i;:::-;3994:5;3991:34;3981:62;;4039:1;4036;4029:12;3981:62;3929:120;:::o;4055:141::-;4111:5;4142:6;4136:13;4127:22;;4158:32;4184:5;4158:32;:::i;:::-;4055:141;;;;:::o;4202:77::-;4239:7;4268:5;4257:16;;4202:77;;;:::o;4285:122::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:63;;4397:1;4394;4387:12;4338:63;4285:122;:::o;4413:143::-;4470:5;4501:6;4495:13;4486:22;;4517:33;4544:5;4517:33;:::i;:::-;4413:143;;;;:::o;4562:90::-;4597:7;4640:5;4637:1;4626:20;4615:31;;4562:90;;;:::o;4658:118::-;4729:22;4745:5;4729:22;:::i;:::-;4722:5;4719:33;4709:61;;4766:1;4763;4756:12;4709:61;4658:118;:::o;4782:139::-;4837:5;4868:6;4862:13;4853:22;;4884:31;4909:5;4884:31;:::i;:::-;4782:139;;;;:::o;4927:122::-;5000:24;5018:5;5000:24;:::i;:::-;4993:5;4990:35;4980:63;;5039:1;5036;5029:12;4980:63;4927:122;:::o;5055:143::-;5112:5;5143:6;5137:13;5128:22;;5159:33;5186:5;5159:33;:::i;:::-;5055:143;;;;:::o;5204:93::-;5240:7;5280:10;5273:5;5269:22;5258:33;;5204:93;;;:::o;5303:120::-;5375:23;5392:5;5375:23;:::i;:::-;5368:5;5365:34;5355:62;;5413:1;5410;5403:12;5355:62;5303:120;:::o;5429:141::-;5485:5;5516:6;5510:13;5501:22;;5532:32;5558:5;5532:32;:::i;:::-;5429:141;;;;:::o;5576:1434::-;5702:6;5710;5718;5726;5734;5742;5750;5758;5807:3;5795:9;5786:7;5782:23;5778:33;5775:120;;;5814:79;;:::i;:::-;5775:120;5934:1;5959:64;6015:7;6006:6;5995:9;5991:22;5959:64;:::i;:::-;5949:74;;5905:128;6072:2;6098:63;6153:7;6144:6;6133:9;6129:22;6098:63;:::i;:::-;6088:73;;6043:128;6210:2;6236:64;6292:7;6283:6;6272:9;6268:22;6236:64;:::i;:::-;6226:74;;6181:129;6349:2;6375:64;6431:7;6422:6;6411:9;6407:22;6375:64;:::i;:::-;6365:74;;6320:129;6488:3;6515:62;6569:7;6560:6;6549:9;6545:22;6515:62;:::i;:::-;6505:72;;6459:128;6626:3;6653:64;6709:7;6700:6;6689:9;6685:22;6653:64;:::i;:::-;6643:74;;6597:130;6766:3;6793:63;6848:7;6839:6;6828:9;6824:22;6793:63;:::i;:::-;6783:73;;6737:129;6905:3;6932:61;6985:7;6976:6;6965:9;6961:22;6932:61;:::i;:::-;6922:71;;6876:127;5576:1434;;;;;;;;;;;:::o;7016:180::-;7064:77;7061:1;7054:88;7161:4;7158:1;7151:15;7185:4;7182:1;7175:15;7202:180;7250:77;7247:1;7240:88;7347:4;7344:1;7337:15;7371:4;7368:1;7361:15;7388:226;7422:3;7445:22;7461:5;7445:22;:::i;:::-;7436:31;;7489:66;7482:5;7479:77;7476:103;;7559:18;;:::i;:::-;7476:103;7602:5;7599:1;7595:13;7588:20;;7388:226;;;:::o;7620:233::-;7659:3;7682:24;7700:5;7682:24;:::i;:::-;7673:33;;7728:66;7721:5;7718:77;7715:103;;7798:18;;:::i;:::-;7715:103;7845:1;7838:5;7834:13;7827:20;;7620:233;;;:::o;7859:313::-;7897:4;7917:18;7933:1;7917:18;:::i;:::-;7912:23;;7949:18;7965:1;7949:18;:::i;:::-;7944:23;;7991:1;7988;7984:9;7976:17;;8123:8;8117:4;8113:19;8032:66;8026:4;8022:77;8006:136;8003:162;;;8145:18;;:::i;:::-;8003:162;7859:313;;;;:::o;8178:140::-;8271:6;8305:5;8299:12;8289:22;;8178:140;;;:::o;8324:210::-;8449:11;8483:6;8478:3;8471:19;8523:4;8518:3;8514:14;8499:29;;8324:210;;;;:::o;8540:158::-;8633:4;8656:3;8648:11;;8686:4;8681:3;8677:14;8669:22;;8540:158;;;:::o;8704:99::-;8775:21;8790:5;8775:21;:::i;:::-;8770:3;8763:34;8704:99;;:::o;8809:102::-;8882:22;8898:5;8882:22;:::i;:::-;8877:3;8870:35;8809:102;;:::o;8917:105::-;8992:23;9009:5;8992:23;:::i;:::-;8987:3;8980:36;8917:105;;:::o;9136:676::-;9275:4;9270:3;9266:14;9369:4;9362:5;9358:16;9352:23;9388:57;9439:4;9434:3;9430:14;9416:12;9388:57;:::i;:::-;9290:165;9537:4;9530:5;9526:16;9520:23;9556:59;9609:4;9604:3;9600:14;9586:12;9556:59;:::i;:::-;9465:160;9715:4;9708:5;9704:16;9698:23;9734:61;9789:4;9784:3;9780:14;9766:12;9734:61;:::i;:::-;9635:170;9244:568;9136:676;;:::o;9818:283::-;9939:10;9960:98;10054:3;10046:6;9960:98;:::i;:::-;10090:4;10085:3;10081:14;10067:28;;9818:283;;;;:::o;10107:139::-;10203:4;10235;10230:3;10226:14;10218:22;;10107:139;;;:::o;10364:940::-;10535:3;10564:80;10638:5;10564:80;:::i;:::-;10660:112;10765:6;10760:3;10660:112;:::i;:::-;10653:119;;10796:82;10872:5;10796:82;:::i;:::-;10901:7;10932:1;10917:362;10942:6;10939:1;10936:13;10917:362;;;11018:6;11012:13;11045:115;11156:3;11141:13;11045:115;:::i;:::-;11038:122;;11183:86;11262:6;11183:86;:::i;:::-;11173:96;;10977:302;10964:1;10961;10957:9;10952:14;;10917:362;;;10921:14;11295:3;11288:10;;10540:764;;;10364:940;;;;:::o;11310:118::-;11397:24;11415:5;11397:24;:::i;:::-;11392:3;11385:37;11310:118;;:::o;11434:587::-;11657:4;11695:2;11684:9;11680:18;11672:26;;11744:9;11738:4;11734:20;11730:1;11719:9;11715:17;11708:47;11772:160;11927:4;11918:6;11772:160;:::i;:::-;11764:168;;11942:72;12010:2;11999:9;11995:18;11986:6;11942:72;:::i;:::-;11434:587;;;;;:::o;12027:180::-;12075:77;12072:1;12065:88;12172:4;12169:1;12162:15;12196:4;12193:1;12186:15;12213:90;12248:7;12291:5;12288:1;12277:20;12266:31;;12213:90;;;:::o;12309:112::-;12392:22;12408:5;12392:22;:::i;:::-;12387:3;12380:35;12309:112;;:::o;12427:214::-;12516:4;12554:2;12543:9;12539:18;12531:26;;12567:67;12631:1;12620:9;12616:17;12607:6;12567:67;:::i;:::-;12427:214;;;;:::o;12647:351::-;12717:6;12766:2;12754:9;12745:7;12741:23;12737:32;12734:119;;;12772:79;;:::i;:::-;12734:119;12892:1;12917:64;12973:7;12964:6;12953:9;12949:22;12917:64;:::i;:::-;12907:74;;12863:128;12647:351;;;;:::o", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea2646970667358221220cccb1e3b513425026ac46d2b4e6bd34b6cddb978a46a1be16d2d8401b0ac5aa264736f6c634300081a0033", - "sourceMap": "188:5308:4:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"numTicks\",\"type\":\"uint16\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"This contract is not meant to be deployed. Instead, use a static call with the deployment bytecode as payload.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":\"GetUniswapV3TickDataBatchRequest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":{\"keccak256\":\"0xf4880fe94d71f43e56de9ae915528ac3a7d4b60860e5701b6bed23503d2a21a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f7aae1f30a595829e31ed09ee43a4c3d81001812b8ec2d6666ec34940848815\",\"dweb:/ipfs/QmSgjCAq6aYWSVp6qPi7UTQz3diF1bPX1A3dpCcS5vfGG5\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.26+commit.8a97fa7a" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "internalType": "bool", - "name": "zeroForOne", - "type": "bool" - }, - { - "internalType": "int24", - "name": "currentTick", - "type": "int24" - }, - { - "internalType": "uint16", - "name": "numTicks", - "type": "uint16" - }, - { - "internalType": "int24", - "name": "tickSpacing", - "type": "int24" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "forge-std/=lib/forge-std/src/" - ], - "optimizer": { - "enabled": false, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/GetUniswapV3TickDataBatchRequest.sol": "GetUniswapV3TickDataBatchRequest" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "src/GetUniswapV3TickDataBatchRequest.sol": { - "keccak256": "0xf4880fe94d71f43e56de9ae915528ac3a7d4b60860e5701b6bed23503d2a21a5", - "urls": [ - "bzz-raw://7f7aae1f30a595829e31ed09ee43a4c3d81001812b8ec2d6666ec34940848815", - "dweb:/ipfs/QmSgjCAq6aYWSVp6qPi7UTQz3diF1bPX1A3dpCcS5vfGG5" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 4 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"pool","type":"address","internalType":"address"},{"name":"zeroForOne","type":"bool","internalType":"bool"},{"name":"currentTick","type":"int24","internalType":"int24"},{"name":"numTicks","type":"uint16","internalType":"uint16"},{"name":"tickSpacing","type":"int24","internalType":"int24"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060405161104938038061104983398181016040528101906100319190610a43565b5f8261ffff1667ffffffffffffffff8111156100505761004f610aba565b5b60405190808252806020026020018201604052801561008957816020015b610076610905565b81526020019060019003908161006e5790505b5090505f5b8361ffff16811015610487575f806100ae8988878b6104b660201b60201c565b915091505f808a73ffffffffffffffffffffffffffffffffffffffff1663f30dba93856040518263ffffffff1660e01b81526004016100ed9190610af6565b61010060405180830381865afa158015610109573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012d9190610c56565b505050505050915091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761860020b8460020b121561025c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761893508286868151811061019c5761019b610d07565b5b60200260200101515f019015159081151581525050838686815181106101c5576101c4610d07565b5b60200260200101516020019060020b908160020b81525050818686815181106101f1576101f0610d07565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061023b5761023a610d07565b5b602002602001015160600190600f0b9081600f0b8152505050505050610487565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861028690610d61565b60020b8460020b131561038a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276189350828686815181106102ca576102c9610d07565b5b60200260200101515f019015159081151581525050838686815181106102f3576102f2610d07565b5b60200260200101516020019060020b908160020b815250508186868151811061031f5761031e610d07565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061036957610368610d07565b5b602002602001015160600190600f0b9081600f0b8152505050505050610487565b8286868151811061039e5761039d610d07565b5b60200260200101515f019015159081151581525050838686815181106103c7576103c6610d07565b5b60200260200101516020019060020b908160020b81525050818686815181106103f3576103f2610d07565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061043d5761043c610d07565b5b602002602001015160600190600f0b9081600f0b81525050848061046090610da7565b9550508961046e578361047c565b60018461047b9190610dee565b5b98505050505061008e565b5f824360405160200161049b929190610f8e565b60405160208183030381529060405290506020810180590381f35b5f805f8460020b8660020b816104cf576104ce610fbc565b5b0590505f8660020b1280156104fd57505f8560020b8760020b816104f6576104f5610fbc565b5b0760020b14155b1561050c578080600190039150505b83156105f7575f80610523836106e660201b60201c565b915091505f8160ff166001901b60018360ff166001901b030190505f818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016105799190611004565b602060405180830381865afa158015610594573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b8919061101d565b1690505f8114159550856105d357888360ff168603026105ec565b886105e38261070f60201b60201c565b840360ff168603025b9650505050506106dc565b5f8061060b600184016106e660201b60201c565b915091505f60018260ff166001901b031990505f818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016106599190611004565b602060405180830381865afa158015610674573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610698919061101d565b1690505f8114159550856106b957888360ff0360ff166001870101026106d5565b88836106ca836107e860201b60201c565b0360ff166001870101025b9650505050505b5094509492505050565b5f8060088360020b901d91506101008360020b8161070757610706610fbc565b5b079050915091565b5f80821161071b575f80fd5b700100000000000000000000000000000000821061074157608082901c91506080810190505b68010000000000000000821061075f57604082901c91506040810190505b640100000000821061077957602082901c91506020810190505b62010000821061079157601082901c91506010810190505b61010082106107a857600882901c91506008810190505b601082106107be57600482901c91506004810190505b600482106107d457600282901c91506002810190505b600282106107e3576001810190505b919050565b5f8082116107f4575f80fd5b60ff90505f6fffffffffffffffffffffffffffffffff80168316111561081f57608081039050610827565b608082901c91505b5f67ffffffffffffffff8016831611156108465760408103905061084e565b604082901c91505b5f63ffffffff80168316111561086957602081039050610871565b602082901c91505b5f61ffff80168316111561088a57601081039050610892565b601082901c91505b5f60ff8016831611156108aa576008810390506108b2565b600882901c91505b5f600f831611156108c8576004810390506108d0565b600482901c91505b5f6003831611156108e6576002810390506108ee565b600282901c91505b5f600183161115610900576001810390505b919050565b60405180608001604052805f151581526020015f60020b81526020015f6fffffffffffffffffffffffffffffffff1681526020015f600f0b81525090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61097082610947565b9050919050565b61098081610966565b811461098a575f80fd5b50565b5f8151905061099b81610977565b92915050565b5f8115159050919050565b6109b5816109a1565b81146109bf575f80fd5b50565b5f815190506109d0816109ac565b92915050565b5f8160020b9050919050565b6109eb816109d6565b81146109f5575f80fd5b50565b5f81519050610a06816109e2565b92915050565b5f61ffff82169050919050565b610a2281610a0c565b8114610a2c575f80fd5b50565b5f81519050610a3d81610a19565b92915050565b5f805f805f60a08688031215610a5c57610a5b610943565b5b5f610a698882890161098d565b9550506020610a7a888289016109c2565b9450506040610a8b888289016109f8565b9350506060610a9c88828901610a2f565b9250506080610aad888289016109f8565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610af0816109d6565b82525050565b5f602082019050610b095f830184610ae7565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610b3381610b0f565b8114610b3d575f80fd5b50565b5f81519050610b4e81610b2a565b92915050565b5f81600f0b9050919050565b610b6981610b54565b8114610b73575f80fd5b50565b5f81519050610b8481610b60565b92915050565b5f819050919050565b610b9c81610b8a565b8114610ba6575f80fd5b50565b5f81519050610bb781610b93565b92915050565b5f8160060b9050919050565b610bd281610bbd565b8114610bdc575f80fd5b50565b5f81519050610bed81610bc9565b92915050565b610bfc81610947565b8114610c06575f80fd5b50565b5f81519050610c1781610bf3565b92915050565b5f63ffffffff82169050919050565b610c3581610c1d565b8114610c3f575f80fd5b50565b5f81519050610c5081610c2c565b92915050565b5f805f805f805f80610100898b031215610c7357610c72610943565b5b5f610c808b828c01610b40565b9850506020610c918b828c01610b76565b9750506040610ca28b828c01610ba9565b9650506060610cb38b828c01610ba9565b9550506080610cc48b828c01610bdf565b94505060a0610cd58b828c01610c09565b93505060c0610ce68b828c01610c42565b92505060e0610cf78b828c016109c2565b9150509295985092959890939650565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d6b826109d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008203610d9d57610d9c610d34565b5b815f039050919050565b5f610db182610b8a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610de357610de2610d34565b5b600182019050919050565b5f610df8826109d6565b9150610e03836109d6565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000082121715610e4257610e41610d34565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e7a816109a1565b82525050565b610e89816109d6565b82525050565b610e9881610b0f565b82525050565b610ea781610b54565b82525050565b608082015f820151610ec15f850182610e71565b506020820151610ed46020850182610e80565b506040820151610ee76040850182610e8f565b506060820151610efa6060850182610e9e565b50505050565b5f610f0b8383610ead565b60808301905092915050565b5f602082019050919050565b5f610f2d82610e48565b610f378185610e52565b9350610f4283610e62565b805f5b83811015610f72578151610f598882610f00565b9750610f6483610f17565b925050600181019050610f45565b5085935050505092915050565b610f8881610b8a565b82525050565b5f6040820190508181035f830152610fa68185610f23565b9050610fb56020830184610f7f565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f8160010b9050919050565b610ffe81610fe9565b82525050565b5f6020820190506110175f830184610ff5565b92915050565b5f6020828403121561103257611031610943565b5b5f61103f84828501610ba9565b9150509291505056fe","sourceMap":"188:5563:27:-:0;;;471:2640;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;625:26;669:8;654:24;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;625:53;;765:15;795:1767;812:8;802:18;;:7;:18;795:1767;;;854:14;886:16;919:174;973:4;999:11;1032;1065:10;919:32;;;:174;;:::i;:::-;836:257;;;;1162:22;1186:19;1241:4;1221:48;;;1270:8;1221:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1161:118;;;;;;;;;;271:7;1451:19;;:8;:19;;;1447:953;;;271:7;1490:19;;1559:11;1527:8;1536:7;1527:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1613:8;1588;1597:7;1588:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1674:14;1639:8;1648:7;1639:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;1739:12;1706:8;1715:7;1706:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1769:5;;;;;;1447:953;271:7;319:9;;;:::i;:::-;1799:19;;:8;:19;;;1795:605;;;271:7;1838:19;;1907:11;1875:8;1884:7;1875:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1961:8;1936;1945:7;1936:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2022:14;1987:8;1996:7;1987:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;2087:12;2054:8;2063:7;2054:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2117:5;;;;;;1795:605;2193:11;2161:8;2170:7;2161:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2247:8;2222;2231:7;2222:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2308:14;2273:8;2282:7;2273:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;2373:12;2340:8;2349:7;2340:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2414:9;;;;;:::i;:::-;;;;2515:10;:36;;2543:8;2515:36;;;2539:1;2528:8;:12;;;;:::i;:::-;2515:36;2501:50;;822:1740;;;;795:1767;;;2764:27;2805:8;2815:12;2794:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2764:64;;3035:4;3019:14;3015:25;3084:9;3075:7;3071:23;3060:9;3053:42;3355:2394;3513:10;3525:16;3577;3603:11;3596:18;;:4;:18;;;;;;;:::i;:::-;;;3577:37;;3639:1;3632:4;:8;;;:35;;;;;3666:1;3651:11;3644:18;;:4;:18;;;;;;;:::i;:::-;;;:23;;;;3632:35;3628:53;;;3669:12;;;;;;;;3628:53;3735:3;3731:2002;;;3759:13;3774:12;3790:20;3799:10;3790:8;;;:20;;:::i;:::-;3758:52;;;;3900:12;3941:6;3936:11;;:1;:11;;3931:1;3921:6;3916:11;;:1;:11;;3915:17;:33;3900:48;;3966:14;4051:4;4003;3983:36;;;4020:7;3983:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;3966:89;;4220:1;4210:6;:11;;4196:25;;4360:11;:272;;4621:11;4609:6;4602:14;;4583:10;:34;4582:50;4360:272;;;4548:11;4483:34;4510:6;4483:26;;;:34;;:::i;:::-;4474:6;:43;4467:51;;4395:10;:149;4394:165;4360:272;4353:279;;3740:907;;;;3731:2002;;;4773:13;4788:12;4804:24;4826:1;4813:10;:14;4804:8;;;:24;;:::i;:::-;4772:56;;;;4908:12;4941:1;4931:6;4926:11;;:1;:11;;4925:17;4923:20;4908:35;;4961:14;5046:4;4998;4978:36;;;5015:7;4978:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4961:89;;5207:1;5197:6;:11;;5183:25;;5347:11;:371;;5707:11;5695:6;5677:15;:24;5670:32;;5636:1;5599:10;:38;:104;5598:120;5347:371;;;5564:11;5527:6;5489:35;5517:6;5489:27;;;:35;;:::i;:::-;:44;5482:52;;5419:1;5382:10;:38;:178;5381:194;5347:371;5340:378;;4653:1080;;;;3731:2002;3553:2190;3355:2394;;;;;;;:::o;3117:232::-;3193:13;3208:12;3284:1;3276:4;:9;;;;3260:26;;3327:3;3320:4;:10;;;;;;;:::i;:::-;;;3300:32;;3117:232;;;:::o;6353:877::-;6415:7;6446:1;6442;:5;6434:14;;;;;;6492:35;6487:1;:40;6483:114;;6553:3;6547:9;;;;;6579:3;6574:8;;;;6483:114;6619:19;6614:1;:24;6610:96;;6664:2;6658:8;;;;;6689:2;6684:7;;;;6610:96;6728:11;6723:1;:16;6719:88;;6765:2;6759:8;;;;;6790:2;6785:7;;;;6719:88;6829:7;6824:1;:12;6820:84;;6862:2;6856:8;;;;;6887:2;6882:7;;;;6820:84;6926:5;6921:1;:10;6917:80;;6957:1;6951:7;;;;;6981:1;6976:6;;;;6917:80;7019:4;7014:1;:9;7010:79;;7049:1;7043:7;;;;;7073:1;7068:6;;;;7010:79;7111:3;7106:1;:8;7102:78;;7140:1;7134:7;;;;;7164:1;7159:6;;;;7102:78;7202:3;7197:1;:8;7193:20;;7212:1;7207:6;;;;7193:20;6353:877;;;:::o;7721:1072::-;7784:7;7815:1;7811;:5;7803:14;;;;;;7856:3;7852:7;;7901:1;7881:17;7877:21;;:1;:21;:25;7873:120;;;7927:3;7922:8;;;;7873:120;;;7975:3;7969:9;;;;;7873:120;8033:1;8014:16;8010:20;;:1;:20;:24;8006:117;;;8059:2;8054:7;;;;8006:117;;;8106:2;8100:8;;;;;8006:117;8163:1;8144:16;8140:20;;:1;:20;:24;8136:117;;;8189:2;8184:7;;;;8136:117;;;8236:2;8230:8;;;;;8136:117;8293:1;8274:16;8270:20;;:1;:20;:24;8266:117;;;8319:2;8314:7;;;;8266:117;;;8366:2;8360:8;;;;;8266:117;8422:1;8404:15;8400:19;;:1;:19;:23;8396:114;;;8448:1;8443:6;;;;8396:114;;;8494:1;8488:7;;;;;8396:114;8537:1;8531:3;8527:1;:7;:11;8523:102;;;8563:1;8558:6;;;;8523:102;;;8609:1;8603:7;;;;;8523:102;8652:1;8646:3;8642:1;:7;:11;8638:102;;;8678:1;8673:6;;;;8638:102;;;8724:1;8718:7;;;;;8638:102;8767:1;8761:3;8757:1;:7;:11;8753:23;;;8775:1;8770:6;;;;8753:23;7721:1072;;;:::o;188:5563::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:31:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:90::-;879:7;922:5;915:13;908:21;897:32;;845:90;;;:::o;941:116::-;1011:21;1026:5;1011:21;:::i;:::-;1004:5;1001:32;991:60;;1047:1;1044;1037:12;991:60;941:116;:::o;1063:137::-;1117:5;1148:6;1142:13;1133:22;;1164:30;1188:5;1164:30;:::i;:::-;1063:137;;;;:::o;1206:90::-;1241:7;1284:5;1281:1;1270:20;1259:31;;1206:90;;;:::o;1302:118::-;1373:22;1389:5;1373:22;:::i;:::-;1366:5;1363:33;1353:61;;1410:1;1407;1400:12;1353:61;1302:118;:::o;1426:139::-;1481:5;1512:6;1506:13;1497:22;;1528:31;1553:5;1528:31;:::i;:::-;1426:139;;;;:::o;1571:89::-;1607:7;1647:6;1640:5;1636:18;1625:29;;1571:89;;;:::o;1666:120::-;1738:23;1755:5;1738:23;:::i;:::-;1731:5;1728:34;1718:62;;1776:1;1773;1766:12;1718:62;1666:120;:::o;1792:141::-;1848:5;1879:6;1873:13;1864:22;;1895:32;1921:5;1895:32;:::i;:::-;1792:141;;;;:::o;1939:961::-;2037:6;2045;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2383:2;2409:61;2462:7;2453:6;2442:9;2438:22;2409:61;:::i;:::-;2399:71;;2354:126;2519:2;2545:62;2599:7;2590:6;2579:9;2575:22;2545:62;:::i;:::-;2535:72;;2490:127;2656:2;2682:63;2737:7;2728:6;2717:9;2713:22;2682:63;:::i;:::-;2672:73;;2627:128;2794:3;2821:62;2875:7;2866:6;2855:9;2851:22;2821:62;:::i;:::-;2811:72;;2765:128;1939:961;;;;;;;;:::o;2906:180::-;2954:77;2951:1;2944:88;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3092:112;3175:22;3191:5;3175:22;:::i;:::-;3170:3;3163:35;3092:112;;:::o;3210:214::-;3299:4;3337:2;3326:9;3322:18;3314:26;;3350:67;3414:1;3403:9;3399:17;3390:6;3350:67;:::i;:::-;3210:214;;;;:::o;3430:118::-;3467:7;3507:34;3500:5;3496:46;3485:57;;3430:118;;;:::o;3554:122::-;3627:24;3645:5;3627:24;:::i;:::-;3620:5;3617:35;3607:63;;3666:1;3663;3656:12;3607:63;3554:122;:::o;3682:143::-;3739:5;3770:6;3764:13;3755:22;;3786:33;3813:5;3786:33;:::i;:::-;3682:143;;;;:::o;3831:92::-;3867:7;3911:5;3907:2;3896:21;3885:32;;3831:92;;;:::o;3929:120::-;4001:23;4018:5;4001:23;:::i;:::-;3994:5;3991:34;3981:62;;4039:1;4036;4029:12;3981:62;3929:120;:::o;4055:141::-;4111:5;4142:6;4136:13;4127:22;;4158:32;4184:5;4158:32;:::i;:::-;4055:141;;;;:::o;4202:77::-;4239:7;4268:5;4257:16;;4202:77;;;:::o;4285:122::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:63;;4397:1;4394;4387:12;4338:63;4285:122;:::o;4413:143::-;4470:5;4501:6;4495:13;4486:22;;4517:33;4544:5;4517:33;:::i;:::-;4413:143;;;;:::o;4562:90::-;4597:7;4640:5;4637:1;4626:20;4615:31;;4562:90;;;:::o;4658:118::-;4729:22;4745:5;4729:22;:::i;:::-;4722:5;4719:33;4709:61;;4766:1;4763;4756:12;4709:61;4658:118;:::o;4782:139::-;4837:5;4868:6;4862:13;4853:22;;4884:31;4909:5;4884:31;:::i;:::-;4782:139;;;;:::o;4927:122::-;5000:24;5018:5;5000:24;:::i;:::-;4993:5;4990:35;4980:63;;5039:1;5036;5029:12;4980:63;4927:122;:::o;5055:143::-;5112:5;5143:6;5137:13;5128:22;;5159:33;5186:5;5159:33;:::i;:::-;5055:143;;;;:::o;5204:93::-;5240:7;5280:10;5273:5;5269:22;5258:33;;5204:93;;;:::o;5303:120::-;5375:23;5392:5;5375:23;:::i;:::-;5368:5;5365:34;5355:62;;5413:1;5410;5403:12;5355:62;5303:120;:::o;5429:141::-;5485:5;5516:6;5510:13;5501:22;;5532:32;5558:5;5532:32;:::i;:::-;5429:141;;;;:::o;5576:1434::-;5702:6;5710;5718;5726;5734;5742;5750;5758;5807:3;5795:9;5786:7;5782:23;5778:33;5775:120;;;5814:79;;:::i;:::-;5775:120;5934:1;5959:64;6015:7;6006:6;5995:9;5991:22;5959:64;:::i;:::-;5949:74;;5905:128;6072:2;6098:63;6153:7;6144:6;6133:9;6129:22;6098:63;:::i;:::-;6088:73;;6043:128;6210:2;6236:64;6292:7;6283:6;6272:9;6268:22;6236:64;:::i;:::-;6226:74;;6181:129;6349:2;6375:64;6431:7;6422:6;6411:9;6407:22;6375:64;:::i;:::-;6365:74;;6320:129;6488:3;6515:62;6569:7;6560:6;6549:9;6545:22;6515:62;:::i;:::-;6505:72;;6459:128;6626:3;6653:64;6709:7;6700:6;6689:9;6685:22;6653:64;:::i;:::-;6643:74;;6597:130;6766:3;6793:63;6848:7;6839:6;6828:9;6824:22;6793:63;:::i;:::-;6783:73;;6737:129;6905:3;6932:61;6985:7;6976:6;6965:9;6961:22;6932:61;:::i;:::-;6922:71;;6876:127;5576:1434;;;;;;;;;;;:::o;7016:180::-;7064:77;7061:1;7054:88;7161:4;7158:1;7151:15;7185:4;7182:1;7175:15;7202:180;7250:77;7247:1;7240:88;7347:4;7344:1;7337:15;7371:4;7368:1;7361:15;7388:226;7422:3;7445:22;7461:5;7445:22;:::i;:::-;7436:31;;7489:66;7482:5;7479:77;7476:103;;7559:18;;:::i;:::-;7476:103;7602:5;7599:1;7595:13;7588:20;;7388:226;;;:::o;7620:233::-;7659:3;7682:24;7700:5;7682:24;:::i;:::-;7673:33;;7728:66;7721:5;7718:77;7715:103;;7798:18;;:::i;:::-;7715:103;7845:1;7838:5;7834:13;7827:20;;7620:233;;;:::o;7859:313::-;7897:4;7917:18;7933:1;7917:18;:::i;:::-;7912:23;;7949:18;7965:1;7949:18;:::i;:::-;7944:23;;7991:1;7988;7984:9;7976:17;;8123:8;8117:4;8113:19;8032:66;8026:4;8022:77;8006:136;8003:162;;;8145:18;;:::i;:::-;8003:162;7859:313;;;;:::o;8178:141::-;8272:6;8306:5;8300:12;8290:22;;8178:141;;;:::o;8325:211::-;8451:11;8485:6;8480:3;8473:19;8525:4;8520:3;8516:14;8501:29;;8325:211;;;;:::o;8542:159::-;8636:4;8659:3;8651:11;;8689:4;8684:3;8680:14;8672:22;;8542:159;;;:::o;8707:99::-;8778:21;8793:5;8778:21;:::i;:::-;8773:3;8766:34;8707:99;;:::o;8812:102::-;8885:22;8901:5;8885:22;:::i;:::-;8880:3;8873:35;8812:102;;:::o;8920:108::-;8997:24;9015:5;8997:24;:::i;:::-;8992:3;8985:37;8920:108;;:::o;9034:105::-;9109:23;9126:5;9109:23;:::i;:::-;9104:3;9097:36;9034:105;;:::o;9253:862::-;9394:4;9389:3;9385:14;9488:4;9481:5;9477:16;9471:23;9507:57;9558:4;9553:3;9549:14;9535:12;9507:57;:::i;:::-;9409:165;9656:4;9649:5;9645:16;9639:23;9675:59;9728:4;9723:3;9719:14;9705:12;9675:59;:::i;:::-;9584:160;9836:4;9829:5;9825:16;9819:23;9855:63;9912:4;9907:3;9903:14;9889:12;9855:63;:::i;:::-;9754:174;10018:4;10011:5;10007:16;10001:23;10037:61;10092:4;10087:3;10083:14;10069:12;10037:61;:::i;:::-;9938:170;9363:752;9253:862;;:::o;10121:287::-;10244:10;10265:100;10361:3;10353:6;10265:100;:::i;:::-;10397:4;10392:3;10388:14;10374:28;;10121:287;;;;:::o;10414:140::-;10511:4;10543;10538:3;10534:14;10526:22;;10414:140;;;:::o;10672:948::-;10845:3;10874:81;10949:5;10874:81;:::i;:::-;10971:113;11077:6;11072:3;10971:113;:::i;:::-;10964:120;;11108:83;11185:5;11108:83;:::i;:::-;11214:7;11245:1;11230:365;11255:6;11252:1;11249:13;11230:365;;;11331:6;11325:13;11358:117;11471:3;11456:13;11358:117;:::i;:::-;11351:124;;11498:87;11578:6;11498:87;:::i;:::-;11488:97;;11290:305;11277:1;11274;11270:9;11265:14;;11230:365;;;11234:14;11611:3;11604:10;;10850:770;;;10672:948;;;;:::o;11626:118::-;11713:24;11731:5;11713:24;:::i;:::-;11708:3;11701:37;11626:118;;:::o;11750:591::-;11975:4;12013:2;12002:9;11998:18;11990:26;;12062:9;12056:4;12052:20;12048:1;12037:9;12033:17;12026:47;12090:162;12247:4;12238:6;12090:162;:::i;:::-;12082:170;;12262:72;12330:2;12319:9;12315:18;12306:6;12262:72;:::i;:::-;11750:591;;;;;:::o;12347:180::-;12395:77;12392:1;12385:88;12492:4;12489:1;12482:15;12516:4;12513:1;12506:15;12533:90;12568:7;12611:5;12608:1;12597:20;12586:31;;12533:90;;;:::o;12629:112::-;12712:22;12728:5;12712:22;:::i;:::-;12707:3;12700:35;12629:112;;:::o;12747:214::-;12836:4;12874:2;12863:9;12859:18;12851:26;;12887:67;12951:1;12940:9;12936:17;12927:6;12887:67;:::i;:::-;12747:214;;;;:::o;12967:351::-;13037:6;13086:2;13074:9;13065:7;13061:23;13057:32;13054:119;;;13092:79;;:::i;:::-;13054:119;13212:1;13237:64;13293:7;13284:6;13273:9;13269:22;13237:64;:::i;:::-;13227:74;;13183:128;12967:351;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea2646970667358221220dd7f20916e8d7b6c3ad8945bdf4a86ff2c4856997ba2322dd03687351a4a7cb364736f6c634300081a0033","sourceMap":"188:5563:27:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"numTicks\",\"type\":\"uint16\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"This contract is not meant to be deployed. Instead, use a static call with the deployment bytecode as payload.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":\"GetUniswapV3TickDataBatchRequest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":{\"keccak256\":\"0x89089cbdda03babd4c3eb072a3859bea536f85a2919a098b6aae52751c07c0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ad9ad26ad03c2b1683251431119226200e1596985e1e761199c8764c087dbff\",\"dweb:/ipfs/QmUEWHykuZAr5FAwFkztqzjtzRK5A4N7dCZFFWi6xER2nH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int24","name":"currentTick","type":"int24"},{"internalType":"uint16","name":"numTicks","type":"uint16"},{"internalType":"int24","name":"tickSpacing","type":"int24"}],"stateMutability":"nonpayable","type":"constructor"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GetUniswapV3TickDataBatchRequest.sol":"GetUniswapV3TickDataBatchRequest"},"evmVersion":"cancun","libraries":{}},"sources":{"src/GetUniswapV3TickDataBatchRequest.sol":{"keccak256":"0x89089cbdda03babd4c3eb072a3859bea536f85a2919a098b6aae52751c07c0b4","urls":["bzz-raw://8ad9ad26ad03c2b1683251431119226200e1596985e1e761199c8764c087dbff","dweb:/ipfs/QmUEWHykuZAr5FAwFkztqzjtzRK5A4N7dCZFFWi6xER2nH"],"license":"MIT"}},"version":1},"id":27} \ No newline at end of file diff --git a/src/amm/uniswap_v3/batch_request/mod.rs b/src/amm/uniswap_v3/batch_request/mod.rs index 10d4cac..da6145a 100644 --- a/src/amm/uniswap_v3/batch_request/mod.rs +++ b/src/amm/uniswap_v3/batch_request/mod.rs @@ -103,6 +103,7 @@ where pub struct UniswapV3TickData { pub initialized: bool, pub tick: i32, + pub liquidity_gross: u128, pub liquidity_net: i128, } @@ -137,6 +138,7 @@ where DynSolType::Array(Box::new(DynSolType::Tuple(vec![ DynSolType::Bool, DynSolType::Int(24), + DynSolType::Uint(128), DynSolType::Int(128), ]))), DynSolType::Uint(32), @@ -164,7 +166,14 @@ where .0 .as_i32(); - let liquidity_net = tick_data_tuple[2] + let liquidity_gross = tick_data_tuple[2] + .as_uint() + .ok_or(AMMError::BatchRequestError(pool.address))? + .0 + .try_into() + .map_err(|e| AMMError::EyreError(eyre::eyre!("{e}")))?; + + let liquidity_net = tick_data_tuple[3] .as_int() .ok_or(AMMError::BatchRequestError(pool.address))? .0 @@ -174,6 +183,7 @@ where tick_data.push(UniswapV3TickData { initialized, tick, + liquidity_gross, liquidity_net, }); } From 5e3aee5b60629d510fad847fd8bfead813798f36 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Mon, 19 Aug 2024 16:03:10 +0300 Subject: [PATCH 3/7] Added missing liquidity gross field --- src/amm/uniswap_v3/batch_request/mod.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/amm/uniswap_v3/batch_request/mod.rs b/src/amm/uniswap_v3/batch_request/mod.rs index da6145a..4043b45 100644 --- a/src/amm/uniswap_v3/batch_request/mod.rs +++ b/src/amm/uniswap_v3/batch_request/mod.rs @@ -180,12 +180,7 @@ where .try_into() .map_err(|e| AMMError::EyreError(eyre::eyre!("{e}")))?; - tick_data.push(UniswapV3TickData { - initialized, - tick, - liquidity_gross, - liquidity_net, - }); + tick_data.push(UniswapV3TickData { initialized, tick, liquidity_gross, liquidity_net }); } } From f2deb762b5c06afe9bd3700977867a3771478ad9 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Mon, 19 Aug 2024 16:03:29 +0300 Subject: [PATCH 4/7] Formatted --- src/amm/uniswap_v3/batch_request/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/amm/uniswap_v3/batch_request/mod.rs b/src/amm/uniswap_v3/batch_request/mod.rs index 4043b45..da6145a 100644 --- a/src/amm/uniswap_v3/batch_request/mod.rs +++ b/src/amm/uniswap_v3/batch_request/mod.rs @@ -180,7 +180,12 @@ where .try_into() .map_err(|e| AMMError::EyreError(eyre::eyre!("{e}")))?; - tick_data.push(UniswapV3TickData { initialized, tick, liquidity_gross, liquidity_net }); + tick_data.push(UniswapV3TickData { + initialized, + tick, + liquidity_gross, + liquidity_net, + }); } } From 8f4039cc44f9ac9cbe8f060504be81be1d5e6784 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Sat, 24 Aug 2024 12:29:50 +0300 Subject: [PATCH 5/7] Improved batch tick loading --- .../src/GetUniswapV3TickDataBatchRequest.sol | 14 ++- .../GetUniswapV3TickDataBatchRequestABI.json | 2 +- src/amm/uniswap_v3/batch_request/mod.rs | 100 ++++++------------ 3 files changed, 46 insertions(+), 70 deletions(-) diff --git a/contracts/src/GetUniswapV3TickDataBatchRequest.sol b/contracts/src/GetUniswapV3TickDataBatchRequest.sol index 911b29e..10bd8dd 100644 --- a/contracts/src/GetUniswapV3TickDataBatchRequest.sol +++ b/contracts/src/GetUniswapV3TickDataBatchRequest.sol @@ -17,6 +17,11 @@ contract GetUniswapV3TickDataBatchRequest { int128 liquidityNet; } + struct TicksWithBlock { + TickData[] ticks; + uint256 blockNumber; + } + constructor( address pool, bool zeroForOne, @@ -73,9 +78,12 @@ contract GetUniswapV3TickDataBatchRequest { currentTick = zeroForOne ? nextTick - 1 : nextTick; } - // ensure abi encoding, not needed here but increase reusability for different return types - // note: abi.encode add a first 32 bytes word with the address of the original data - bytes memory abiEncodedData = abi.encode(tickData, block.number); + TicksWithBlock memory ticksWithBlock = TicksWithBlock({ + ticks: tickData, + blockNumber: block.number + }); + + bytes memory abiEncodedData = abi.encode(ticksWithBlock); assembly { // Return from the start of the data (discarding the original data address) diff --git a/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json b/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json index 612b812..457c29e 100644 --- a/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json +++ b/src/amm/uniswap_v3/batch_request/GetUniswapV3TickDataBatchRequestABI.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"pool","type":"address","internalType":"address"},{"name":"zeroForOne","type":"bool","internalType":"bool"},{"name":"currentTick","type":"int24","internalType":"int24"},{"name":"numTicks","type":"uint16","internalType":"uint16"},{"name":"tickSpacing","type":"int24","internalType":"int24"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060405161104938038061104983398181016040528101906100319190610a43565b5f8261ffff1667ffffffffffffffff8111156100505761004f610aba565b5b60405190808252806020026020018201604052801561008957816020015b610076610905565b81526020019060019003908161006e5790505b5090505f5b8361ffff16811015610487575f806100ae8988878b6104b660201b60201c565b915091505f808a73ffffffffffffffffffffffffffffffffffffffff1663f30dba93856040518263ffffffff1660e01b81526004016100ed9190610af6565b61010060405180830381865afa158015610109573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012d9190610c56565b505050505050915091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761860020b8460020b121561025c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761893508286868151811061019c5761019b610d07565b5b60200260200101515f019015159081151581525050838686815181106101c5576101c4610d07565b5b60200260200101516020019060020b908160020b81525050818686815181106101f1576101f0610d07565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061023b5761023a610d07565b5b602002602001015160600190600f0b9081600f0b8152505050505050610487565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861028690610d61565b60020b8460020b131561038a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276189350828686815181106102ca576102c9610d07565b5b60200260200101515f019015159081151581525050838686815181106102f3576102f2610d07565b5b60200260200101516020019060020b908160020b815250508186868151811061031f5761031e610d07565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061036957610368610d07565b5b602002602001015160600190600f0b9081600f0b8152505050505050610487565b8286868151811061039e5761039d610d07565b5b60200260200101515f019015159081151581525050838686815181106103c7576103c6610d07565b5b60200260200101516020019060020b908160020b81525050818686815181106103f3576103f2610d07565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061043d5761043c610d07565b5b602002602001015160600190600f0b9081600f0b81525050848061046090610da7565b9550508961046e578361047c565b60018461047b9190610dee565b5b98505050505061008e565b5f824360405160200161049b929190610f8e565b60405160208183030381529060405290506020810180590381f35b5f805f8460020b8660020b816104cf576104ce610fbc565b5b0590505f8660020b1280156104fd57505f8560020b8760020b816104f6576104f5610fbc565b5b0760020b14155b1561050c578080600190039150505b83156105f7575f80610523836106e660201b60201c565b915091505f8160ff166001901b60018360ff166001901b030190505f818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016105799190611004565b602060405180830381865afa158015610594573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b8919061101d565b1690505f8114159550856105d357888360ff168603026105ec565b886105e38261070f60201b60201c565b840360ff168603025b9650505050506106dc565b5f8061060b600184016106e660201b60201c565b915091505f60018260ff166001901b031990505f818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b81526004016106599190611004565b602060405180830381865afa158015610674573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610698919061101d565b1690505f8114159550856106b957888360ff0360ff166001870101026106d5565b88836106ca836107e860201b60201c565b0360ff166001870101025b9650505050505b5094509492505050565b5f8060088360020b901d91506101008360020b8161070757610706610fbc565b5b079050915091565b5f80821161071b575f80fd5b700100000000000000000000000000000000821061074157608082901c91506080810190505b68010000000000000000821061075f57604082901c91506040810190505b640100000000821061077957602082901c91506020810190505b62010000821061079157601082901c91506010810190505b61010082106107a857600882901c91506008810190505b601082106107be57600482901c91506004810190505b600482106107d457600282901c91506002810190505b600282106107e3576001810190505b919050565b5f8082116107f4575f80fd5b60ff90505f6fffffffffffffffffffffffffffffffff80168316111561081f57608081039050610827565b608082901c91505b5f67ffffffffffffffff8016831611156108465760408103905061084e565b604082901c91505b5f63ffffffff80168316111561086957602081039050610871565b602082901c91505b5f61ffff80168316111561088a57601081039050610892565b601082901c91505b5f60ff8016831611156108aa576008810390506108b2565b600882901c91505b5f600f831611156108c8576004810390506108d0565b600482901c91505b5f6003831611156108e6576002810390506108ee565b600282901c91505b5f600183161115610900576001810390505b919050565b60405180608001604052805f151581526020015f60020b81526020015f6fffffffffffffffffffffffffffffffff1681526020015f600f0b81525090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61097082610947565b9050919050565b61098081610966565b811461098a575f80fd5b50565b5f8151905061099b81610977565b92915050565b5f8115159050919050565b6109b5816109a1565b81146109bf575f80fd5b50565b5f815190506109d0816109ac565b92915050565b5f8160020b9050919050565b6109eb816109d6565b81146109f5575f80fd5b50565b5f81519050610a06816109e2565b92915050565b5f61ffff82169050919050565b610a2281610a0c565b8114610a2c575f80fd5b50565b5f81519050610a3d81610a19565b92915050565b5f805f805f60a08688031215610a5c57610a5b610943565b5b5f610a698882890161098d565b9550506020610a7a888289016109c2565b9450506040610a8b888289016109f8565b9350506060610a9c88828901610a2f565b9250506080610aad888289016109f8565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610af0816109d6565b82525050565b5f602082019050610b095f830184610ae7565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610b3381610b0f565b8114610b3d575f80fd5b50565b5f81519050610b4e81610b2a565b92915050565b5f81600f0b9050919050565b610b6981610b54565b8114610b73575f80fd5b50565b5f81519050610b8481610b60565b92915050565b5f819050919050565b610b9c81610b8a565b8114610ba6575f80fd5b50565b5f81519050610bb781610b93565b92915050565b5f8160060b9050919050565b610bd281610bbd565b8114610bdc575f80fd5b50565b5f81519050610bed81610bc9565b92915050565b610bfc81610947565b8114610c06575f80fd5b50565b5f81519050610c1781610bf3565b92915050565b5f63ffffffff82169050919050565b610c3581610c1d565b8114610c3f575f80fd5b50565b5f81519050610c5081610c2c565b92915050565b5f805f805f805f80610100898b031215610c7357610c72610943565b5b5f610c808b828c01610b40565b9850506020610c918b828c01610b76565b9750506040610ca28b828c01610ba9565b9650506060610cb38b828c01610ba9565b9550506080610cc48b828c01610bdf565b94505060a0610cd58b828c01610c09565b93505060c0610ce68b828c01610c42565b92505060e0610cf78b828c016109c2565b9150509295985092959890939650565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d6b826109d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008203610d9d57610d9c610d34565b5b815f039050919050565b5f610db182610b8a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610de357610de2610d34565b5b600182019050919050565b5f610df8826109d6565b9150610e03836109d6565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000082121715610e4257610e41610d34565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e7a816109a1565b82525050565b610e89816109d6565b82525050565b610e9881610b0f565b82525050565b610ea781610b54565b82525050565b608082015f820151610ec15f850182610e71565b506020820151610ed46020850182610e80565b506040820151610ee76040850182610e8f565b506060820151610efa6060850182610e9e565b50505050565b5f610f0b8383610ead565b60808301905092915050565b5f602082019050919050565b5f610f2d82610e48565b610f378185610e52565b9350610f4283610e62565b805f5b83811015610f72578151610f598882610f00565b9750610f6483610f17565b925050600181019050610f45565b5085935050505092915050565b610f8881610b8a565b82525050565b5f6040820190508181035f830152610fa68185610f23565b9050610fb56020830184610f7f565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f8160010b9050919050565b610ffe81610fe9565b82525050565b5f6020820190506110175f830184610ff5565b92915050565b5f6020828403121561103257611031610943565b5b5f61103f84828501610ba9565b9150509291505056fe","sourceMap":"188:5563:27:-:0;;;471:2640;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;625:26;669:8;654:24;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;625:53;;765:15;795:1767;812:8;802:18;;:7;:18;795:1767;;;854:14;886:16;919:174;973:4;999:11;1032;1065:10;919:32;;;:174;;:::i;:::-;836:257;;;;1162:22;1186:19;1241:4;1221:48;;;1270:8;1221:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1161:118;;;;;;;;;;271:7;1451:19;;:8;:19;;;1447:953;;;271:7;1490:19;;1559:11;1527:8;1536:7;1527:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1613:8;1588;1597:7;1588:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1674:14;1639:8;1648:7;1639:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;1739:12;1706:8;1715:7;1706:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1769:5;;;;;;1447:953;271:7;319:9;;;:::i;:::-;1799:19;;:8;:19;;;1795:605;;;271:7;1838:19;;1907:11;1875:8;1884:7;1875:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1961:8;1936;1945:7;1936:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2022:14;1987:8;1996:7;1987:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;2087:12;2054:8;2063:7;2054:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2117:5;;;;;;1795:605;2193:11;2161:8;2170:7;2161:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2247:8;2222;2231:7;2222:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2308:14;2273:8;2282:7;2273:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;2373:12;2340:8;2349:7;2340:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2414:9;;;;;:::i;:::-;;;;2515:10;:36;;2543:8;2515:36;;;2539:1;2528:8;:12;;;;:::i;:::-;2515:36;2501:50;;822:1740;;;;795:1767;;;2764:27;2805:8;2815:12;2794:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2764:64;;3035:4;3019:14;3015:25;3084:9;3075:7;3071:23;3060:9;3053:42;3355:2394;3513:10;3525:16;3577;3603:11;3596:18;;:4;:18;;;;;;;:::i;:::-;;;3577:37;;3639:1;3632:4;:8;;;:35;;;;;3666:1;3651:11;3644:18;;:4;:18;;;;;;;:::i;:::-;;;:23;;;;3632:35;3628:53;;;3669:12;;;;;;;;3628:53;3735:3;3731:2002;;;3759:13;3774:12;3790:20;3799:10;3790:8;;;:20;;:::i;:::-;3758:52;;;;3900:12;3941:6;3936:11;;:1;:11;;3931:1;3921:6;3916:11;;:1;:11;;3915:17;:33;3900:48;;3966:14;4051:4;4003;3983:36;;;4020:7;3983:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;3966:89;;4220:1;4210:6;:11;;4196:25;;4360:11;:272;;4621:11;4609:6;4602:14;;4583:10;:34;4582:50;4360:272;;;4548:11;4483:34;4510:6;4483:26;;;:34;;:::i;:::-;4474:6;:43;4467:51;;4395:10;:149;4394:165;4360:272;4353:279;;3740:907;;;;3731:2002;;;4773:13;4788:12;4804:24;4826:1;4813:10;:14;4804:8;;;:24;;:::i;:::-;4772:56;;;;4908:12;4941:1;4931:6;4926:11;;:1;:11;;4925:17;4923:20;4908:35;;4961:14;5046:4;4998;4978:36;;;5015:7;4978:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4961:89;;5207:1;5197:6;:11;;5183:25;;5347:11;:371;;5707:11;5695:6;5677:15;:24;5670:32;;5636:1;5599:10;:38;:104;5598:120;5347:371;;;5564:11;5527:6;5489:35;5517:6;5489:27;;;:35;;:::i;:::-;:44;5482:52;;5419:1;5382:10;:38;:178;5381:194;5347:371;5340:378;;4653:1080;;;;3731:2002;3553:2190;3355:2394;;;;;;;:::o;3117:232::-;3193:13;3208:12;3284:1;3276:4;:9;;;;3260:26;;3327:3;3320:4;:10;;;;;;;:::i;:::-;;;3300:32;;3117:232;;;:::o;6353:877::-;6415:7;6446:1;6442;:5;6434:14;;;;;;6492:35;6487:1;:40;6483:114;;6553:3;6547:9;;;;;6579:3;6574:8;;;;6483:114;6619:19;6614:1;:24;6610:96;;6664:2;6658:8;;;;;6689:2;6684:7;;;;6610:96;6728:11;6723:1;:16;6719:88;;6765:2;6759:8;;;;;6790:2;6785:7;;;;6719:88;6829:7;6824:1;:12;6820:84;;6862:2;6856:8;;;;;6887:2;6882:7;;;;6820:84;6926:5;6921:1;:10;6917:80;;6957:1;6951:7;;;;;6981:1;6976:6;;;;6917:80;7019:4;7014:1;:9;7010:79;;7049:1;7043:7;;;;;7073:1;7068:6;;;;7010:79;7111:3;7106:1;:8;7102:78;;7140:1;7134:7;;;;;7164:1;7159:6;;;;7102:78;7202:3;7197:1;:8;7193:20;;7212:1;7207:6;;;;7193:20;6353:877;;;:::o;7721:1072::-;7784:7;7815:1;7811;:5;7803:14;;;;;;7856:3;7852:7;;7901:1;7881:17;7877:21;;:1;:21;:25;7873:120;;;7927:3;7922:8;;;;7873:120;;;7975:3;7969:9;;;;;7873:120;8033:1;8014:16;8010:20;;:1;:20;:24;8006:117;;;8059:2;8054:7;;;;8006:117;;;8106:2;8100:8;;;;;8006:117;8163:1;8144:16;8140:20;;:1;:20;:24;8136:117;;;8189:2;8184:7;;;;8136:117;;;8236:2;8230:8;;;;;8136:117;8293:1;8274:16;8270:20;;:1;:20;:24;8266:117;;;8319:2;8314:7;;;;8266:117;;;8366:2;8360:8;;;;;8266:117;8422:1;8404:15;8400:19;;:1;:19;:23;8396:114;;;8448:1;8443:6;;;;8396:114;;;8494:1;8488:7;;;;;8396:114;8537:1;8531:3;8527:1;:7;:11;8523:102;;;8563:1;8558:6;;;;8523:102;;;8609:1;8603:7;;;;;8523:102;8652:1;8646:3;8642:1;:7;:11;8638:102;;;8678:1;8673:6;;;;8638:102;;;8724:1;8718:7;;;;;8638:102;8767:1;8761:3;8757:1;:7;:11;8753:23;;;8775:1;8770:6;;;;8753:23;7721:1072;;;:::o;188:5563::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:31:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:90::-;879:7;922:5;915:13;908:21;897:32;;845:90;;;:::o;941:116::-;1011:21;1026:5;1011:21;:::i;:::-;1004:5;1001:32;991:60;;1047:1;1044;1037:12;991:60;941:116;:::o;1063:137::-;1117:5;1148:6;1142:13;1133:22;;1164:30;1188:5;1164:30;:::i;:::-;1063:137;;;;:::o;1206:90::-;1241:7;1284:5;1281:1;1270:20;1259:31;;1206:90;;;:::o;1302:118::-;1373:22;1389:5;1373:22;:::i;:::-;1366:5;1363:33;1353:61;;1410:1;1407;1400:12;1353:61;1302:118;:::o;1426:139::-;1481:5;1512:6;1506:13;1497:22;;1528:31;1553:5;1528:31;:::i;:::-;1426:139;;;;:::o;1571:89::-;1607:7;1647:6;1640:5;1636:18;1625:29;;1571:89;;;:::o;1666:120::-;1738:23;1755:5;1738:23;:::i;:::-;1731:5;1728:34;1718:62;;1776:1;1773;1766:12;1718:62;1666:120;:::o;1792:141::-;1848:5;1879:6;1873:13;1864:22;;1895:32;1921:5;1895:32;:::i;:::-;1792:141;;;;:::o;1939:961::-;2037:6;2045;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2383:2;2409:61;2462:7;2453:6;2442:9;2438:22;2409:61;:::i;:::-;2399:71;;2354:126;2519:2;2545:62;2599:7;2590:6;2579:9;2575:22;2545:62;:::i;:::-;2535:72;;2490:127;2656:2;2682:63;2737:7;2728:6;2717:9;2713:22;2682:63;:::i;:::-;2672:73;;2627:128;2794:3;2821:62;2875:7;2866:6;2855:9;2851:22;2821:62;:::i;:::-;2811:72;;2765:128;1939:961;;;;;;;;:::o;2906:180::-;2954:77;2951:1;2944:88;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3092:112;3175:22;3191:5;3175:22;:::i;:::-;3170:3;3163:35;3092:112;;:::o;3210:214::-;3299:4;3337:2;3326:9;3322:18;3314:26;;3350:67;3414:1;3403:9;3399:17;3390:6;3350:67;:::i;:::-;3210:214;;;;:::o;3430:118::-;3467:7;3507:34;3500:5;3496:46;3485:57;;3430:118;;;:::o;3554:122::-;3627:24;3645:5;3627:24;:::i;:::-;3620:5;3617:35;3607:63;;3666:1;3663;3656:12;3607:63;3554:122;:::o;3682:143::-;3739:5;3770:6;3764:13;3755:22;;3786:33;3813:5;3786:33;:::i;:::-;3682:143;;;;:::o;3831:92::-;3867:7;3911:5;3907:2;3896:21;3885:32;;3831:92;;;:::o;3929:120::-;4001:23;4018:5;4001:23;:::i;:::-;3994:5;3991:34;3981:62;;4039:1;4036;4029:12;3981:62;3929:120;:::o;4055:141::-;4111:5;4142:6;4136:13;4127:22;;4158:32;4184:5;4158:32;:::i;:::-;4055:141;;;;:::o;4202:77::-;4239:7;4268:5;4257:16;;4202:77;;;:::o;4285:122::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:63;;4397:1;4394;4387:12;4338:63;4285:122;:::o;4413:143::-;4470:5;4501:6;4495:13;4486:22;;4517:33;4544:5;4517:33;:::i;:::-;4413:143;;;;:::o;4562:90::-;4597:7;4640:5;4637:1;4626:20;4615:31;;4562:90;;;:::o;4658:118::-;4729:22;4745:5;4729:22;:::i;:::-;4722:5;4719:33;4709:61;;4766:1;4763;4756:12;4709:61;4658:118;:::o;4782:139::-;4837:5;4868:6;4862:13;4853:22;;4884:31;4909:5;4884:31;:::i;:::-;4782:139;;;;:::o;4927:122::-;5000:24;5018:5;5000:24;:::i;:::-;4993:5;4990:35;4980:63;;5039:1;5036;5029:12;4980:63;4927:122;:::o;5055:143::-;5112:5;5143:6;5137:13;5128:22;;5159:33;5186:5;5159:33;:::i;:::-;5055:143;;;;:::o;5204:93::-;5240:7;5280:10;5273:5;5269:22;5258:33;;5204:93;;;:::o;5303:120::-;5375:23;5392:5;5375:23;:::i;:::-;5368:5;5365:34;5355:62;;5413:1;5410;5403:12;5355:62;5303:120;:::o;5429:141::-;5485:5;5516:6;5510:13;5501:22;;5532:32;5558:5;5532:32;:::i;:::-;5429:141;;;;:::o;5576:1434::-;5702:6;5710;5718;5726;5734;5742;5750;5758;5807:3;5795:9;5786:7;5782:23;5778:33;5775:120;;;5814:79;;:::i;:::-;5775:120;5934:1;5959:64;6015:7;6006:6;5995:9;5991:22;5959:64;:::i;:::-;5949:74;;5905:128;6072:2;6098:63;6153:7;6144:6;6133:9;6129:22;6098:63;:::i;:::-;6088:73;;6043:128;6210:2;6236:64;6292:7;6283:6;6272:9;6268:22;6236:64;:::i;:::-;6226:74;;6181:129;6349:2;6375:64;6431:7;6422:6;6411:9;6407:22;6375:64;:::i;:::-;6365:74;;6320:129;6488:3;6515:62;6569:7;6560:6;6549:9;6545:22;6515:62;:::i;:::-;6505:72;;6459:128;6626:3;6653:64;6709:7;6700:6;6689:9;6685:22;6653:64;:::i;:::-;6643:74;;6597:130;6766:3;6793:63;6848:7;6839:6;6828:9;6824:22;6793:63;:::i;:::-;6783:73;;6737:129;6905:3;6932:61;6985:7;6976:6;6965:9;6961:22;6932:61;:::i;:::-;6922:71;;6876:127;5576:1434;;;;;;;;;;;:::o;7016:180::-;7064:77;7061:1;7054:88;7161:4;7158:1;7151:15;7185:4;7182:1;7175:15;7202:180;7250:77;7247:1;7240:88;7347:4;7344:1;7337:15;7371:4;7368:1;7361:15;7388:226;7422:3;7445:22;7461:5;7445:22;:::i;:::-;7436:31;;7489:66;7482:5;7479:77;7476:103;;7559:18;;:::i;:::-;7476:103;7602:5;7599:1;7595:13;7588:20;;7388:226;;;:::o;7620:233::-;7659:3;7682:24;7700:5;7682:24;:::i;:::-;7673:33;;7728:66;7721:5;7718:77;7715:103;;7798:18;;:::i;:::-;7715:103;7845:1;7838:5;7834:13;7827:20;;7620:233;;;:::o;7859:313::-;7897:4;7917:18;7933:1;7917:18;:::i;:::-;7912:23;;7949:18;7965:1;7949:18;:::i;:::-;7944:23;;7991:1;7988;7984:9;7976:17;;8123:8;8117:4;8113:19;8032:66;8026:4;8022:77;8006:136;8003:162;;;8145:18;;:::i;:::-;8003:162;7859:313;;;;:::o;8178:141::-;8272:6;8306:5;8300:12;8290:22;;8178:141;;;:::o;8325:211::-;8451:11;8485:6;8480:3;8473:19;8525:4;8520:3;8516:14;8501:29;;8325:211;;;;:::o;8542:159::-;8636:4;8659:3;8651:11;;8689:4;8684:3;8680:14;8672:22;;8542:159;;;:::o;8707:99::-;8778:21;8793:5;8778:21;:::i;:::-;8773:3;8766:34;8707:99;;:::o;8812:102::-;8885:22;8901:5;8885:22;:::i;:::-;8880:3;8873:35;8812:102;;:::o;8920:108::-;8997:24;9015:5;8997:24;:::i;:::-;8992:3;8985:37;8920:108;;:::o;9034:105::-;9109:23;9126:5;9109:23;:::i;:::-;9104:3;9097:36;9034:105;;:::o;9253:862::-;9394:4;9389:3;9385:14;9488:4;9481:5;9477:16;9471:23;9507:57;9558:4;9553:3;9549:14;9535:12;9507:57;:::i;:::-;9409:165;9656:4;9649:5;9645:16;9639:23;9675:59;9728:4;9723:3;9719:14;9705:12;9675:59;:::i;:::-;9584:160;9836:4;9829:5;9825:16;9819:23;9855:63;9912:4;9907:3;9903:14;9889:12;9855:63;:::i;:::-;9754:174;10018:4;10011:5;10007:16;10001:23;10037:61;10092:4;10087:3;10083:14;10069:12;10037:61;:::i;:::-;9938:170;9363:752;9253:862;;:::o;10121:287::-;10244:10;10265:100;10361:3;10353:6;10265:100;:::i;:::-;10397:4;10392:3;10388:14;10374:28;;10121:287;;;;:::o;10414:140::-;10511:4;10543;10538:3;10534:14;10526:22;;10414:140;;;:::o;10672:948::-;10845:3;10874:81;10949:5;10874:81;:::i;:::-;10971:113;11077:6;11072:3;10971:113;:::i;:::-;10964:120;;11108:83;11185:5;11108:83;:::i;:::-;11214:7;11245:1;11230:365;11255:6;11252:1;11249:13;11230:365;;;11331:6;11325:13;11358:117;11471:3;11456:13;11358:117;:::i;:::-;11351:124;;11498:87;11578:6;11498:87;:::i;:::-;11488:97;;11290:305;11277:1;11274;11270:9;11265:14;;11230:365;;;11234:14;11611:3;11604:10;;10850:770;;;10672:948;;;;:::o;11626:118::-;11713:24;11731:5;11713:24;:::i;:::-;11708:3;11701:37;11626:118;;:::o;11750:591::-;11975:4;12013:2;12002:9;11998:18;11990:26;;12062:9;12056:4;12052:20;12048:1;12037:9;12033:17;12026:47;12090:162;12247:4;12238:6;12090:162;:::i;:::-;12082:170;;12262:72;12330:2;12319:9;12315:18;12306:6;12262:72;:::i;:::-;11750:591;;;;;:::o;12347:180::-;12395:77;12392:1;12385:88;12492:4;12489:1;12482:15;12516:4;12513:1;12506:15;12533:90;12568:7;12611:5;12608:1;12597:20;12586:31;;12533:90;;;:::o;12629:112::-;12712:22;12728:5;12712:22;:::i;:::-;12707:3;12700:35;12629:112;;:::o;12747:214::-;12836:4;12874:2;12863:9;12859:18;12851:26;;12887:67;12951:1;12940:9;12936:17;12927:6;12887:67;:::i;:::-;12747:214;;;;:::o;12967:351::-;13037:6;13086:2;13074:9;13065:7;13061:23;13057:32;13054:119;;;13092:79;;:::i;:::-;13054:119;13212:1;13237:64;13293:7;13284:6;13273:9;13269:22;13237:64;:::i;:::-;13227:74;;13183:128;12967:351;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea2646970667358221220dd7f20916e8d7b6c3ad8945bdf4a86ff2c4856997ba2322dd03687351a4a7cb364736f6c634300081a0033","sourceMap":"188:5563:27:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"numTicks\",\"type\":\"uint16\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"This contract is not meant to be deployed. Instead, use a static call with the deployment bytecode as payload.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":\"GetUniswapV3TickDataBatchRequest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":{\"keccak256\":\"0x89089cbdda03babd4c3eb072a3859bea536f85a2919a098b6aae52751c07c0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ad9ad26ad03c2b1683251431119226200e1596985e1e761199c8764c087dbff\",\"dweb:/ipfs/QmUEWHykuZAr5FAwFkztqzjtzRK5A4N7dCZFFWi6xER2nH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int24","name":"currentTick","type":"int24"},{"internalType":"uint16","name":"numTicks","type":"uint16"},{"internalType":"int24","name":"tickSpacing","type":"int24"}],"stateMutability":"nonpayable","type":"constructor"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GetUniswapV3TickDataBatchRequest.sol":"GetUniswapV3TickDataBatchRequest"},"evmVersion":"cancun","libraries":{}},"sources":{"src/GetUniswapV3TickDataBatchRequest.sol":{"keccak256":"0x89089cbdda03babd4c3eb072a3859bea536f85a2919a098b6aae52751c07c0b4","urls":["bzz-raw://8ad9ad26ad03c2b1683251431119226200e1596985e1e761199c8764c087dbff","dweb:/ipfs/QmUEWHykuZAr5FAwFkztqzjtzRK5A4N7dCZFFWi6xER2nH"],"license":"MIT"}},"version":1},"id":27} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"pool","type":"address","internalType":"address"},{"name":"zeroForOne","type":"bool","internalType":"bool"},{"name":"currentTick","type":"int24","internalType":"int24"},{"name":"numTicks","type":"uint16","internalType":"uint16"},{"name":"tickSpacing","type":"int24","internalType":"int24"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060405161108b38038061108b83398181016040528101906100319190610a59565b5f8261ffff1667ffffffffffffffff8111156100505761004f610ad0565b5b60405190808252806020026020018201604052801561008957816020015b61007661091b565b81526020019060019003908161006e5790505b5090505f5b8361ffff16811015610487575f806100ae8988878b6104cc60201b60201c565b915091505f808a73ffffffffffffffffffffffffffffffffffffffff1663f30dba93856040518263ffffffff1660e01b81526004016100ed9190610b0c565b61010060405180830381865afa158015610109573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012d9190610c6c565b505050505050915091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761860020b8460020b121561025c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761893508286868151811061019c5761019b610d1d565b5b60200260200101515f019015159081151581525050838686815181106101c5576101c4610d1d565b5b60200260200101516020019060020b908160020b81525050818686815181106101f1576101f0610d1d565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061023b5761023a610d1d565b5b602002602001015160600190600f0b9081600f0b8152505050505050610487565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861028690610d77565b60020b8460020b131561038a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276189350828686815181106102ca576102c9610d1d565b5b60200260200101515f019015159081151581525050838686815181106102f3576102f2610d1d565b5b60200260200101516020019060020b908160020b815250508186868151811061031f5761031e610d1d565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061036957610368610d1d565b5b602002602001015160600190600f0b9081600f0b8152505050505050610487565b8286868151811061039e5761039d610d1d565b5b60200260200101515f019015159081151581525050838686815181106103c7576103c6610d1d565b5b60200260200101516020019060020b908160020b81525050818686815181106103f3576103f2610d1d565b5b6020026020010151604001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508086868151811061043d5761043c610d1d565b5b602002602001015160600190600f0b9081600f0b81525050848061046090610dbd565b9550508961046e578361047c565b60018461047b9190610e04565b5b98505050505061008e565b5f60405180604001604052808481526020014381525090505f816040516020016104b19190610fde565b60405160208183030381529060405290506020810180590381f35b5f805f8460020b8660020b816104e5576104e4610ffe565b5b0590505f8660020b12801561051357505f8560020b8760020b8161050c5761050b610ffe565b5b0760020b14155b15610522578080600190039150505b831561060d575f80610539836106fc60201b60201c565b915091505f8160ff166001901b60018360ff166001901b030190505f818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b815260040161058f9190611046565b602060405180830381865afa1580156105aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ce919061105f565b1690505f8114159550856105e957888360ff16860302610602565b886105f98261072560201b60201c565b840360ff168603025b9650505050506106f2565b5f80610621600184016106fc60201b60201c565b915091505f60018260ff166001901b031990505f818b73ffffffffffffffffffffffffffffffffffffffff16635339c296866040518263ffffffff1660e01b815260040161066f9190611046565b602060405180830381865afa15801561068a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ae919061105f565b1690505f8114159550856106cf57888360ff0360ff166001870101026106eb565b88836106e0836107fe60201b60201c565b0360ff166001870101025b9650505050505b5094509492505050565b5f8060088360020b901d91506101008360020b8161071d5761071c610ffe565b5b079050915091565b5f808211610731575f80fd5b700100000000000000000000000000000000821061075757608082901c91506080810190505b68010000000000000000821061077557604082901c91506040810190505b640100000000821061078f57602082901c91506020810190505b6201000082106107a757601082901c91506010810190505b61010082106107be57600882901c91506008810190505b601082106107d457600482901c91506004810190505b600482106107ea57600282901c91506002810190505b600282106107f9576001810190505b919050565b5f80821161080a575f80fd5b60ff90505f6fffffffffffffffffffffffffffffffff8016831611156108355760808103905061083d565b608082901c91505b5f67ffffffffffffffff80168316111561085c57604081039050610864565b604082901c91505b5f63ffffffff80168316111561087f57602081039050610887565b602082901c91505b5f61ffff8016831611156108a0576010810390506108a8565b601082901c91505b5f60ff8016831611156108c0576008810390506108c8565b600882901c91505b5f600f831611156108de576004810390506108e6565b600482901c91505b5f6003831611156108fc57600281039050610904565b600282901c91505b5f600183161115610916576001810390505b919050565b60405180608001604052805f151581526020015f60020b81526020015f6fffffffffffffffffffffffffffffffff1681526020015f600f0b81525090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109868261095d565b9050919050565b6109968161097c565b81146109a0575f80fd5b50565b5f815190506109b18161098d565b92915050565b5f8115159050919050565b6109cb816109b7565b81146109d5575f80fd5b50565b5f815190506109e6816109c2565b92915050565b5f8160020b9050919050565b610a01816109ec565b8114610a0b575f80fd5b50565b5f81519050610a1c816109f8565b92915050565b5f61ffff82169050919050565b610a3881610a22565b8114610a42575f80fd5b50565b5f81519050610a5381610a2f565b92915050565b5f805f805f60a08688031215610a7257610a71610959565b5b5f610a7f888289016109a3565b9550506020610a90888289016109d8565b9450506040610aa188828901610a0e565b9350506060610ab288828901610a45565b9250506080610ac388828901610a0e565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b06816109ec565b82525050565b5f602082019050610b1f5f830184610afd565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610b4981610b25565b8114610b53575f80fd5b50565b5f81519050610b6481610b40565b92915050565b5f81600f0b9050919050565b610b7f81610b6a565b8114610b89575f80fd5b50565b5f81519050610b9a81610b76565b92915050565b5f819050919050565b610bb281610ba0565b8114610bbc575f80fd5b50565b5f81519050610bcd81610ba9565b92915050565b5f8160060b9050919050565b610be881610bd3565b8114610bf2575f80fd5b50565b5f81519050610c0381610bdf565b92915050565b610c128161095d565b8114610c1c575f80fd5b50565b5f81519050610c2d81610c09565b92915050565b5f63ffffffff82169050919050565b610c4b81610c33565b8114610c55575f80fd5b50565b5f81519050610c6681610c42565b92915050565b5f805f805f805f80610100898b031215610c8957610c88610959565b5b5f610c968b828c01610b56565b9850506020610ca78b828c01610b8c565b9750506040610cb88b828c01610bbf565b9650506060610cc98b828c01610bbf565b9550506080610cda8b828c01610bf5565b94505060a0610ceb8b828c01610c1f565b93505060c0610cfc8b828c01610c58565b92505060e0610d0d8b828c016109d8565b9150509295985092959890939650565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d81826109ec565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008203610db357610db2610d4a565b5b815f039050919050565b5f610dc782610ba0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610df957610df8610d4a565b5b600182019050919050565b5f610e0e826109ec565b9150610e19836109ec565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000082121715610e5857610e57610d4a565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e90816109b7565b82525050565b610e9f816109ec565b82525050565b610eae81610b25565b82525050565b610ebd81610b6a565b82525050565b608082015f820151610ed75f850182610e87565b506020820151610eea6020850182610e96565b506040820151610efd6040850182610ea5565b506060820151610f106060850182610eb4565b50505050565b5f610f218383610ec3565b60808301905092915050565b5f602082019050919050565b5f610f4382610e5e565b610f4d8185610e68565b9350610f5883610e78565b805f5b83811015610f88578151610f6f8882610f16565b9750610f7a83610f2d565b925050600181019050610f5b565b5085935050505092915050565b610f9e81610ba0565b82525050565b5f604083015f8301518482035f860152610fbe8282610f39565b9150506020830151610fd36020860182610f95565b508091505092915050565b5f6020820190508181035f830152610ff68184610fa4565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f8160010b9050919050565b6110408161102b565b82525050565b5f6020820190506110595f830184611037565b92915050565b5f6020828403121561107457611073610959565b5b5f61108184828501610bbf565b9150509291505056fe","sourceMap":"188:5597:0:-:0;;;561:2584;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;715:26;759:8;744:24;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;715:53;;855:15;885:1767;902:8;892:18;;:7;:18;885:1767;;;944:14;976:16;1009:174;1063:4;1089:11;1122;1155:10;1009:32;;;:174;;:::i;:::-;926:257;;;;1252:22;1276:19;1331:4;1311:48;;;1360:8;1311:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1251:118;;;;;;;;;;271:7;1541:19;;:8;:19;;;1537:953;;;271:7;1580:19;;1649:11;1617:8;1626:7;1617:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;1703:8;1678;1687:7;1678:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;1764:14;1729:8;1738:7;1729:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;1829:12;1796:8;1805:7;1796:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;1859:5;;;;;;1537:953;271:7;319:9;;;:::i;:::-;1889:19;;:8;:19;;;1885:605;;;271:7;1928:19;;1997:11;1965:8;1974:7;1965:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2051:8;2026;2035:7;2026:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2112:14;2077:8;2086:7;2077:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;2177:12;2144:8;2153:7;2144:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2207:5;;;;;;1885:605;2283:11;2251:8;2260:7;2251:17;;;;;;;;:::i;:::-;;;;;;;;:29;;:43;;;;;;;;;;;2337:8;2312;2321:7;2312:17;;;;;;;;:::i;:::-;;;;;;;;:22;;:33;;;;;;;;;;;2398:14;2363:8;2372:7;2363:17;;;;;;;;:::i;:::-;;;;;;;;:32;;:49;;;;;;;;;;;2463:12;2430:8;2439:7;2430:17;;;;;;;;:::i;:::-;;;;;;;;:30;;:45;;;;;;;;;;;2504:9;;;;;:::i;:::-;;;;2605:10;:36;;2633:8;2605:36;;;2629:1;2618:8;:12;;;;:::i;:::-;2605:36;2591:50;;912:1740;;;;885:1767;;;2662:36;2701:94;;;;;;;;2737:8;2701:94;;;;2772:12;2701:94;;;2662:133;;2806:27;2847:14;2836:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;2806:56;;3069:4;3053:14;3049:25;3118:9;3109:7;3105:23;3094:9;3087:42;3389:2394;3547:10;3559:16;3611;3637:11;3630:18;;:4;:18;;;;;;;:::i;:::-;;;3611:37;;3673:1;3666:4;:8;;;:35;;;;;3700:1;3685:11;3678:18;;:4;:18;;;;;;;:::i;:::-;;;:23;;;;3666:35;3662:53;;;3703:12;;;;;;;;3662:53;3769:3;3765:2002;;;3793:13;3808:12;3824:20;3833:10;3824:8;;;:20;;:::i;:::-;3792:52;;;;3934:12;3975:6;3970:11;;:1;:11;;3965:1;3955:6;3950:11;;:1;:11;;3949:17;:33;3934:48;;4000:14;4085:4;4037;4017:36;;;4054:7;4017:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4000:89;;4254:1;4244:6;:11;;4230:25;;4394:11;:272;;4655:11;4643:6;4636:14;;4617:10;:34;4616:50;4394:272;;;4582:11;4517:34;4544:6;4517:26;;;:34;;:::i;:::-;4508:6;:43;4501:51;;4429:10;:149;4428:165;4394:272;4387:279;;3774:907;;;;3765:2002;;;4807:13;4822:12;4838:24;4860:1;4847:10;:14;4838:8;;;:24;;:::i;:::-;4806:56;;;;4942:12;4975:1;4965:6;4960:11;;:1;:11;;4959:17;4957:20;4942:35;;4995:14;5080:4;5032;5012:36;;;5049:7;5012:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;4995:89;;5241:1;5231:6;:11;;5217:25;;5381:11;:371;;5741:11;5729:6;5711:15;:24;5704:32;;5670:1;5633:10;:38;:104;5632:120;5381:371;;;5598:11;5561:6;5523:35;5551:6;5523:27;;;:35;;:::i;:::-;:44;5516:52;;5453:1;5416:10;:38;:178;5415:194;5381:371;5374:378;;4687:1080;;;;3765:2002;3587:2190;3389:2394;;;;;;;:::o;3151:232::-;3227:13;3242:12;3318:1;3310:4;:9;;;;3294:26;;3361:3;3354:4;:10;;;;;;;:::i;:::-;;;3334:32;;3151:232;;;:::o;6387:877::-;6449:7;6480:1;6476;:5;6468:14;;;;;;6526:35;6521:1;:40;6517:114;;6587:3;6581:9;;;;;6613:3;6608:8;;;;6517:114;6653:19;6648:1;:24;6644:96;;6698:2;6692:8;;;;;6723:2;6718:7;;;;6644:96;6762:11;6757:1;:16;6753:88;;6799:2;6793:8;;;;;6824:2;6819:7;;;;6753:88;6863:7;6858:1;:12;6854:84;;6896:2;6890:8;;;;;6921:2;6916:7;;;;6854:84;6960:5;6955:1;:10;6951:80;;6991:1;6985:7;;;;;7015:1;7010:6;;;;6951:80;7053:4;7048:1;:9;7044:79;;7083:1;7077:7;;;;;7107:1;7102:6;;;;7044:79;7145:3;7140:1;:8;7136:78;;7174:1;7168:7;;;;;7198:1;7193:6;;;;7136:78;7236:3;7231:1;:8;7227:20;;7246:1;7241:6;;;;7227:20;6387:877;;;:::o;7755:1072::-;7818:7;7849:1;7845;:5;7837:14;;;;;;7890:3;7886:7;;7935:1;7915:17;7911:21;;:1;:21;:25;7907:120;;;7961:3;7956:8;;;;7907:120;;;8009:3;8003:9;;;;;7907:120;8067:1;8048:16;8044:20;;:1;:20;:24;8040:117;;;8093:2;8088:7;;;;8040:117;;;8140:2;8134:8;;;;;8040:117;8197:1;8178:16;8174:20;;:1;:20;:24;8170:117;;;8223:2;8218:7;;;;8170:117;;;8270:2;8264:8;;;;;8170:117;8327:1;8308:16;8304:20;;:1;:20;:24;8300:117;;;8353:2;8348:7;;;;8300:117;;;8400:2;8394:8;;;;;8300:117;8456:1;8438:15;8434:19;;:1;:19;:23;8430:114;;;8482:1;8477:6;;;;8430:114;;;8528:1;8522:7;;;;;8430:114;8571:1;8565:3;8561:1;:7;:11;8557:102;;;8597:1;8592:6;;;;8557:102;;;8643:1;8637:7;;;;;8557:102;8686:1;8680:3;8676:1;:7;:11;8672:102;;;8712:1;8707:6;;;;8672:102;;;8758:1;8752:7;;;;;8672:102;8801:1;8795:3;8791:1;:7;:11;8787:23;;;8809:1;8804:6;;;;8787:23;7755:1072;;;:::o;188:5597::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:90::-;879:7;922:5;915:13;908:21;897:32;;845:90;;;:::o;941:116::-;1011:21;1026:5;1011:21;:::i;:::-;1004:5;1001:32;991:60;;1047:1;1044;1037:12;991:60;941:116;:::o;1063:137::-;1117:5;1148:6;1142:13;1133:22;;1164:30;1188:5;1164:30;:::i;:::-;1063:137;;;;:::o;1206:90::-;1241:7;1284:5;1281:1;1270:20;1259:31;;1206:90;;;:::o;1302:118::-;1373:22;1389:5;1373:22;:::i;:::-;1366:5;1363:33;1353:61;;1410:1;1407;1400:12;1353:61;1302:118;:::o;1426:139::-;1481:5;1512:6;1506:13;1497:22;;1528:31;1553:5;1528:31;:::i;:::-;1426:139;;;;:::o;1571:89::-;1607:7;1647:6;1640:5;1636:18;1625:29;;1571:89;;;:::o;1666:120::-;1738:23;1755:5;1738:23;:::i;:::-;1731:5;1728:34;1718:62;;1776:1;1773;1766:12;1718:62;1666:120;:::o;1792:141::-;1848:5;1879:6;1873:13;1864:22;;1895:32;1921:5;1895:32;:::i;:::-;1792:141;;;;:::o;1939:961::-;2037:6;2045;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2383:2;2409:61;2462:7;2453:6;2442:9;2438:22;2409:61;:::i;:::-;2399:71;;2354:126;2519:2;2545:62;2599:7;2590:6;2579:9;2575:22;2545:62;:::i;:::-;2535:72;;2490:127;2656:2;2682:63;2737:7;2728:6;2717:9;2713:22;2682:63;:::i;:::-;2672:73;;2627:128;2794:3;2821:62;2875:7;2866:6;2855:9;2851:22;2821:62;:::i;:::-;2811:72;;2765:128;1939:961;;;;;;;;:::o;2906:180::-;2954:77;2951:1;2944:88;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3092:112;3175:22;3191:5;3175:22;:::i;:::-;3170:3;3163:35;3092:112;;:::o;3210:214::-;3299:4;3337:2;3326:9;3322:18;3314:26;;3350:67;3414:1;3403:9;3399:17;3390:6;3350:67;:::i;:::-;3210:214;;;;:::o;3430:118::-;3467:7;3507:34;3500:5;3496:46;3485:57;;3430:118;;;:::o;3554:122::-;3627:24;3645:5;3627:24;:::i;:::-;3620:5;3617:35;3607:63;;3666:1;3663;3656:12;3607:63;3554:122;:::o;3682:143::-;3739:5;3770:6;3764:13;3755:22;;3786:33;3813:5;3786:33;:::i;:::-;3682:143;;;;:::o;3831:92::-;3867:7;3911:5;3907:2;3896:21;3885:32;;3831:92;;;:::o;3929:120::-;4001:23;4018:5;4001:23;:::i;:::-;3994:5;3991:34;3981:62;;4039:1;4036;4029:12;3981:62;3929:120;:::o;4055:141::-;4111:5;4142:6;4136:13;4127:22;;4158:32;4184:5;4158:32;:::i;:::-;4055:141;;;;:::o;4202:77::-;4239:7;4268:5;4257:16;;4202:77;;;:::o;4285:122::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:63;;4397:1;4394;4387:12;4338:63;4285:122;:::o;4413:143::-;4470:5;4501:6;4495:13;4486:22;;4517:33;4544:5;4517:33;:::i;:::-;4413:143;;;;:::o;4562:90::-;4597:7;4640:5;4637:1;4626:20;4615:31;;4562:90;;;:::o;4658:118::-;4729:22;4745:5;4729:22;:::i;:::-;4722:5;4719:33;4709:61;;4766:1;4763;4756:12;4709:61;4658:118;:::o;4782:139::-;4837:5;4868:6;4862:13;4853:22;;4884:31;4909:5;4884:31;:::i;:::-;4782:139;;;;:::o;4927:122::-;5000:24;5018:5;5000:24;:::i;:::-;4993:5;4990:35;4980:63;;5039:1;5036;5029:12;4980:63;4927:122;:::o;5055:143::-;5112:5;5143:6;5137:13;5128:22;;5159:33;5186:5;5159:33;:::i;:::-;5055:143;;;;:::o;5204:93::-;5240:7;5280:10;5273:5;5269:22;5258:33;;5204:93;;;:::o;5303:120::-;5375:23;5392:5;5375:23;:::i;:::-;5368:5;5365:34;5355:62;;5413:1;5410;5403:12;5355:62;5303:120;:::o;5429:141::-;5485:5;5516:6;5510:13;5501:22;;5532:32;5558:5;5532:32;:::i;:::-;5429:141;;;;:::o;5576:1434::-;5702:6;5710;5718;5726;5734;5742;5750;5758;5807:3;5795:9;5786:7;5782:23;5778:33;5775:120;;;5814:79;;:::i;:::-;5775:120;5934:1;5959:64;6015:7;6006:6;5995:9;5991:22;5959:64;:::i;:::-;5949:74;;5905:128;6072:2;6098:63;6153:7;6144:6;6133:9;6129:22;6098:63;:::i;:::-;6088:73;;6043:128;6210:2;6236:64;6292:7;6283:6;6272:9;6268:22;6236:64;:::i;:::-;6226:74;;6181:129;6349:2;6375:64;6431:7;6422:6;6411:9;6407:22;6375:64;:::i;:::-;6365:74;;6320:129;6488:3;6515:62;6569:7;6560:6;6549:9;6545:22;6515:62;:::i;:::-;6505:72;;6459:128;6626:3;6653:64;6709:7;6700:6;6689:9;6685:22;6653:64;:::i;:::-;6643:74;;6597:130;6766:3;6793:63;6848:7;6839:6;6828:9;6824:22;6793:63;:::i;:::-;6783:73;;6737:129;6905:3;6932:61;6985:7;6976:6;6965:9;6961:22;6932:61;:::i;:::-;6922:71;;6876:127;5576:1434;;;;;;;;;;;:::o;7016:180::-;7064:77;7061:1;7054:88;7161:4;7158:1;7151:15;7185:4;7182:1;7175:15;7202:180;7250:77;7247:1;7240:88;7347:4;7344:1;7337:15;7371:4;7368:1;7361:15;7388:226;7422:3;7445:22;7461:5;7445:22;:::i;:::-;7436:31;;7489:66;7482:5;7479:77;7476:103;;7559:18;;:::i;:::-;7476:103;7602:5;7599:1;7595:13;7588:20;;7388:226;;;:::o;7620:233::-;7659:3;7682:24;7700:5;7682:24;:::i;:::-;7673:33;;7728:66;7721:5;7718:77;7715:103;;7798:18;;:::i;:::-;7715:103;7845:1;7838:5;7834:13;7827:20;;7620:233;;;:::o;7859:313::-;7897:4;7917:18;7933:1;7917:18;:::i;:::-;7912:23;;7949:18;7965:1;7949:18;:::i;:::-;7944:23;;7991:1;7988;7984:9;7976:17;;8123:8;8117:4;8113:19;8032:66;8026:4;8022:77;8006:136;8003:162;;;8145:18;;:::i;:::-;8003:162;7859:313;;;;:::o;8178:138::-;8269:6;8303:5;8297:12;8287:22;;8178:138;;;:::o;8322:198::-;8435:11;8469:6;8464:3;8457:19;8509:4;8504:3;8500:14;8485:29;;8322:198;;;;:::o;8526:156::-;8617:4;8640:3;8632:11;;8670:4;8665:3;8661:14;8653:22;;8526:156;;;:::o;8688:99::-;8759:21;8774:5;8759:21;:::i;:::-;8754:3;8747:34;8688:99;;:::o;8793:102::-;8866:22;8882:5;8866:22;:::i;:::-;8861:3;8854:35;8793:102;;:::o;8901:108::-;8978:24;8996:5;8978:24;:::i;:::-;8973:3;8966:37;8901:108;;:::o;9015:105::-;9090:23;9107:5;9090:23;:::i;:::-;9085:3;9078:36;9015:105;;:::o;9234:856::-;9369:4;9364:3;9360:14;9463:4;9456:5;9452:16;9446:23;9482:57;9533:4;9528:3;9524:14;9510:12;9482:57;:::i;:::-;9384:165;9631:4;9624:5;9620:16;9614:23;9650:59;9703:4;9698:3;9694:14;9680:12;9650:59;:::i;:::-;9559:160;9811:4;9804:5;9800:16;9794:23;9830:63;9887:4;9882:3;9878:14;9864:12;9830:63;:::i;:::-;9729:174;9993:4;9986:5;9982:16;9976:23;10012:61;10067:4;10062:3;10058:14;10044:12;10012:61;:::i;:::-;9913:170;9338:752;9234:856;;:::o;10096:275::-;10213:10;10234:94;10324:3;10316:6;10234:94;:::i;:::-;10360:4;10355:3;10351:14;10337:28;;10096:275;;;;:::o;10377:137::-;10471:4;10503;10498:3;10494:14;10486:22;;10377:137;;;:::o;10632:904::-;10789:3;10818:78;10890:5;10818:78;:::i;:::-;10912:100;11005:6;11000:3;10912:100;:::i;:::-;10905:107;;11036:80;11110:5;11036:80;:::i;:::-;11139:7;11170:1;11155:356;11180:6;11177:1;11174:13;11155:356;;;11256:6;11250:13;11283:111;11390:3;11375:13;11283:111;:::i;:::-;11276:118;;11417:84;11494:6;11417:84;:::i;:::-;11407:94;;11215:296;11202:1;11199;11195:9;11190:14;;11155:356;;;11159:14;11527:3;11520:10;;10794:742;;;10632:904;;;;:::o;11542:108::-;11619:24;11637:5;11619:24;:::i;:::-;11614:3;11607:37;11542:108;;:::o;11776:702::-;11905:3;11941:4;11936:3;11932:14;12029:4;12022:5;12018:16;12012:23;12082:3;12076:4;12072:14;12065:4;12060:3;12056:14;12049:38;12108:151;12254:4;12240:12;12108:151;:::i;:::-;12100:159;;11956:314;12359:4;12352:5;12348:16;12342:23;12378:63;12435:4;12430:3;12426:14;12412:12;12378:63;:::i;:::-;12280:171;12468:4;12461:11;;11910:568;11776:702;;;;:::o;12484:393::-;12637:4;12675:2;12664:9;12660:18;12652:26;;12724:9;12718:4;12714:20;12710:1;12699:9;12695:17;12688:47;12752:118;12865:4;12856:6;12752:118;:::i;:::-;12744:126;;12484:393;;;;:::o;12883:180::-;12931:77;12928:1;12921:88;13028:4;13025:1;13018:15;13052:4;13049:1;13042:15;13069:90;13104:7;13147:5;13144:1;13133:20;13122:31;;13069:90;;;:::o;13165:112::-;13248:22;13264:5;13248:22;:::i;:::-;13243:3;13236:35;13165:112;;:::o;13283:214::-;13372:4;13410:2;13399:9;13395:18;13387:26;;13423:67;13487:1;13476:9;13472:17;13463:6;13423:67;:::i;:::-;13283:214;;;;:::o;13503:351::-;13573:6;13622:2;13610:9;13601:7;13597:23;13593:32;13590:119;;;13628:79;;:::i;:::-;13590:119;13748:1;13773:64;13829:7;13820:6;13809:9;13805:22;13773:64;:::i;:::-;13763:74;;13719:128;13503:351;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea2646970667358221220601c0686467f84eccbdb653ba90b17eb4b02e55bb67822df012cbbf406877bea64736f6c634300081a0033","sourceMap":"188:5597:0:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"numTicks\",\"type\":\"uint16\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"This contract is not meant to be deployed. Instead, use a static call with the deployment bytecode as payload.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":\"GetUniswapV3TickDataBatchRequest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/GetUniswapV3TickDataBatchRequest.sol\":{\"keccak256\":\"0xbe6ee453c5a46862525fc3cff404487839bb1dff1fa093175d498c360929e969\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://923d3a105e4562c095d9513167bb69c380db70b6ca634af191571a19098afa11\",\"dweb:/ipfs/QmSBQWJqEka9WTZKqk5ZqrapJ51No7jjdq4PUAbUcPuK2G\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int24","name":"currentTick","type":"int24"},{"internalType":"uint16","name":"numTicks","type":"uint16"},{"internalType":"int24","name":"tickSpacing","type":"int24"}],"stateMutability":"nonpayable","type":"constructor"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GetUniswapV3TickDataBatchRequest.sol":"GetUniswapV3TickDataBatchRequest"},"evmVersion":"cancun","libraries":{}},"sources":{"src/GetUniswapV3TickDataBatchRequest.sol":{"keccak256":"0xbe6ee453c5a46862525fc3cff404487839bb1dff1fa093175d498c360929e969","urls":["bzz-raw://923d3a105e4562c095d9513167bb69c380db70b6ca634af191571a19098afa11","dweb:/ipfs/QmSBQWJqEka9WTZKqk5ZqrapJ51No7jjdq4PUAbUcPuK2G"],"license":"MIT"}},"version":1},"id":0} \ No newline at end of file diff --git a/src/amm/uniswap_v3/batch_request/mod.rs b/src/amm/uniswap_v3/batch_request/mod.rs index da6145a..0cc0e6c 100644 --- a/src/amm/uniswap_v3/batch_request/mod.rs +++ b/src/amm/uniswap_v3/batch_request/mod.rs @@ -3,8 +3,10 @@ use std::{sync::Arc, vec}; use alloy::{ dyn_abi::{DynSolType, DynSolValue}, network::Network, + primitives::U256, providers::Provider, sol, + sol_types::SolType, transports::Transport, }; use tracing::instrument; @@ -37,6 +39,20 @@ sol! { "src/amm/uniswap_v3/batch_request/SyncUniswapV3PoolBatchRequestABI.json" } +sol! { + struct TickData { + bool initialized; + int24 tick; + uint128 liquidityGross; + int128 liquidityNet; + } + + struct TicksWithBlock { + TickData[] ticks; + uint256 blockNumber; + } +} + #[inline] fn populate_pool_data_from_tokens( mut pool: UniswapV3Pool, @@ -114,88 +130,40 @@ pub async fn get_uniswap_v3_tick_data_batch_request( num_ticks: u16, block_number: Option, provider: Arc

, -) -> Result<(Vec, u64), AMMError> +) -> Result<(Vec, U256), AMMError> where T: Transport + Clone, N: Network, P: Provider, { let deployer = IGetUniswapV3TickDataBatchRequest::deploy_builder( - provider, + provider.clone(), pool.address, zero_for_one, tick_start, num_ticks, pool.tick_spacing, ); - let res = if let Some(block_number) = block_number { - deployer.block(block_number.into()).call_raw().await? - } else { - deployer.call_raw().await? - }; - - let constructor_return = DynSolType::Tuple(vec![ - DynSolType::Array(Box::new(DynSolType::Tuple(vec![ - DynSolType::Bool, - DynSolType::Int(24), - DynSolType::Uint(128), - DynSolType::Int(128), - ]))), - DynSolType::Uint(32), - ]); - let return_data_tokens = constructor_return.abi_decode_sequence(&res)?; - - let return_data_tuple = return_data_tokens - .as_tuple() - .ok_or(AMMError::BatchRequestError(pool.address))?; - - let tick_data_arr = return_data_tuple[0] - .as_array() - .ok_or(AMMError::BatchRequestError(pool.address))?; - let mut tick_data = vec![]; - for tokens in tick_data_arr { - if let Some(tick_data_tuple) = tokens.as_tuple() { - let initialized = tick_data_tuple[0] - .as_bool() - .ok_or(AMMError::BatchRequestError(pool.address))?; + let data = match block_number { + Some(number) => deployer.block(number.into()).call_raw().await?, + None => deployer.call_raw().await?, + }; - let tick = tick_data_tuple[1] - .as_int() - .ok_or(AMMError::BatchRequestError(pool.address))? - .0 - .as_i32(); - - let liquidity_gross = tick_data_tuple[2] - .as_uint() - .ok_or(AMMError::BatchRequestError(pool.address))? - .0 - .try_into() - .map_err(|e| AMMError::EyreError(eyre::eyre!("{e}")))?; - - let liquidity_net = tick_data_tuple[3] - .as_int() - .ok_or(AMMError::BatchRequestError(pool.address))? - .0 - .try_into() - .map_err(|e| AMMError::EyreError(eyre::eyre!("{e}")))?; - - tick_data.push(UniswapV3TickData { - initialized, - tick, - liquidity_gross, - liquidity_net, - }); - } - } + let result = TicksWithBlock::abi_decode(&data, true)?; - let block_number = return_data_tuple[1] - .as_uint() - .ok_or(AMMError::BatchRequestError(pool.address))? - .0 - .to::(); + let tick_data: Vec = result + .ticks + .iter() + .map(|tick| UniswapV3TickData { + initialized: tick.initialized, + tick: tick.tick, + liquidity_gross: tick.liquidityGross, + liquidity_net: tick.liquidityNet, + }) + .collect(); - Ok((tick_data, block_number)) + Ok((tick_data, result.blockNumber)) } pub async fn sync_v3_pool_batch_request( From 5bc101a22cacbc5412f2d58b836add409a3702b4 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Sat, 24 Aug 2024 12:30:37 +0300 Subject: [PATCH 6/7] Added missing comment --- contracts/src/GetUniswapV3TickDataBatchRequest.sol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contracts/src/GetUniswapV3TickDataBatchRequest.sol b/contracts/src/GetUniswapV3TickDataBatchRequest.sol index 10bd8dd..6c3a74f 100644 --- a/contracts/src/GetUniswapV3TickDataBatchRequest.sol +++ b/contracts/src/GetUniswapV3TickDataBatchRequest.sol @@ -83,6 +83,8 @@ contract GetUniswapV3TickDataBatchRequest { blockNumber: block.number }); + // ensure abi encoding, not needed here but increase reusability for different return types + // note: abi.encode add a first 32 bytes word with the address of the original data bytes memory abiEncodedData = abi.encode(ticksWithBlock); assembly { From e3ae5b76151755e0a5d562962ba14299299af5d5 Mon Sep 17 00:00:00 2001 From: Plamen Hristov Date: Sat, 24 Aug 2024 12:34:24 +0300 Subject: [PATCH 7/7] Removed unnecessary clone --- src/amm/uniswap_v3/batch_request/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amm/uniswap_v3/batch_request/mod.rs b/src/amm/uniswap_v3/batch_request/mod.rs index 0cc0e6c..2e13bdf 100644 --- a/src/amm/uniswap_v3/batch_request/mod.rs +++ b/src/amm/uniswap_v3/batch_request/mod.rs @@ -137,7 +137,7 @@ where P: Provider, { let deployer = IGetUniswapV3TickDataBatchRequest::deploy_builder( - provider.clone(), + provider, pool.address, zero_for_one, tick_start,