UNPKG

67.3 kBJSONView Raw
1{
2 "abi": [
3 {
4 "inputs": [],
5 "name": "WETH",
6 "outputs": [
7 {
8 "internalType": "address",
9 "name": "",
10 "type": "address"
11 }
12 ],
13 "stateMutability": "pure",
14 "type": "function"
15 },
16 {
17 "inputs": [
18 {
19 "internalType": "address",
20 "name": "tokenA",
21 "type": "address"
22 },
23 {
24 "internalType": "address",
25 "name": "tokenB",
26 "type": "address"
27 },
28 {
29 "internalType": "uint256",
30 "name": "amountADesired",
31 "type": "uint256"
32 },
33 {
34 "internalType": "uint256",
35 "name": "amountBDesired",
36 "type": "uint256"
37 },
38 {
39 "internalType": "uint256",
40 "name": "amountAMin",
41 "type": "uint256"
42 },
43 {
44 "internalType": "uint256",
45 "name": "amountBMin",
46 "type": "uint256"
47 },
48 {
49 "internalType": "address",
50 "name": "to",
51 "type": "address"
52 },
53 {
54 "internalType": "uint256",
55 "name": "deadline",
56 "type": "uint256"
57 }
58 ],
59 "name": "addLiquidity",
60 "outputs": [
61 {
62 "internalType": "uint256",
63 "name": "amountA",
64 "type": "uint256"
65 },
66 {
67 "internalType": "uint256",
68 "name": "amountB",
69 "type": "uint256"
70 },
71 {
72 "internalType": "uint256",
73 "name": "liquidity",
74 "type": "uint256"
75 }
76 ],
77 "stateMutability": "nonpayable",
78 "type": "function"
79 },
80 {
81 "inputs": [
82 {
83 "internalType": "address",
84 "name": "token",
85 "type": "address"
86 },
87 {
88 "internalType": "uint256",
89 "name": "amountTokenDesired",
90 "type": "uint256"
91 },
92 {
93 "internalType": "uint256",
94 "name": "amountTokenMin",
95 "type": "uint256"
96 },
97 {
98 "internalType": "uint256",
99 "name": "amountETHMin",
100 "type": "uint256"
101 },
102 {
103 "internalType": "address",
104 "name": "to",
105 "type": "address"
106 },
107 {
108 "internalType": "uint256",
109 "name": "deadline",
110 "type": "uint256"
111 }
112 ],
113 "name": "addLiquidityETH",
114 "outputs": [
115 {
116 "internalType": "uint256",
117 "name": "amountToken",
118 "type": "uint256"
119 },
120 {
121 "internalType": "uint256",
122 "name": "amountETH",
123 "type": "uint256"
124 },
125 {
126 "internalType": "uint256",
127 "name": "liquidity",
128 "type": "uint256"
129 }
130 ],
131 "stateMutability": "payable",
132 "type": "function"
133 },
134 {
135 "inputs": [],
136 "name": "factory",
137 "outputs": [
138 {
139 "internalType": "address",
140 "name": "",
141 "type": "address"
142 }
143 ],
144 "stateMutability": "pure",
145 "type": "function"
146 },
147 {
148 "inputs": [
149 {
150 "internalType": "uint256",
151 "name": "amountOut",
152 "type": "uint256"
153 },
154 {
155 "internalType": "uint256",
156 "name": "reserveIn",
157 "type": "uint256"
158 },
159 {
160 "internalType": "uint256",
161 "name": "reserveOut",
162 "type": "uint256"
163 }
164 ],
165 "name": "getAmountIn",
166 "outputs": [
167 {
168 "internalType": "uint256",
169 "name": "amountIn",
170 "type": "uint256"
171 }
172 ],
173 "stateMutability": "pure",
174 "type": "function"
175 },
176 {
177 "inputs": [
178 {
179 "internalType": "uint256",
180 "name": "amountOut",
181 "type": "uint256"
182 },
183 {
184 "internalType": "uint256",
185 "name": "reserveIn",
186 "type": "uint256"
187 },
188 {
189 "internalType": "uint256",
190 "name": "reserveOut",
191 "type": "uint256"
192 },
193 {
194 "internalType": "address",
195 "name": "tokenA",
196 "type": "address"
197 },
198 {
199 "internalType": "address",
200 "name": "tokenB",
201 "type": "address"
202 }
203 ],
204 "name": "getAmountInWithParams",
205 "outputs": [
206 {
207 "internalType": "uint256",
208 "name": "amountIn",
209 "type": "uint256"
210 }
211 ],
212 "stateMutability": "view",
213 "type": "function"
214 },
215 {
216 "inputs": [
217 {
218 "internalType": "uint256",
219 "name": "amountIn",
220 "type": "uint256"
221 },
222 {
223 "internalType": "uint256",
224 "name": "reserveIn",
225 "type": "uint256"
226 },
227 {
228 "internalType": "uint256",
229 "name": "reserveOut",
230 "type": "uint256"
231 }
232 ],
233 "name": "getAmountOut",
234 "outputs": [
235 {
236 "internalType": "uint256",
237 "name": "amountOut",
238 "type": "uint256"
239 }
240 ],
241 "stateMutability": "pure",
242 "type": "function"
243 },
244 {
245 "inputs": [
246 {
247 "internalType": "uint256",
248 "name": "amountIn",
249 "type": "uint256"
250 },
251 {
252 "internalType": "uint256",
253 "name": "reserveIn",
254 "type": "uint256"
255 },
256 {
257 "internalType": "uint256",
258 "name": "reserveOut",
259 "type": "uint256"
260 },
261 {
262 "internalType": "address",
263 "name": "tokenA",
264 "type": "address"
265 },
266 {
267 "internalType": "address",
268 "name": "tokenB",
269 "type": "address"
270 }
271 ],
272 "name": "getAmountOutWithParams",
273 "outputs": [
274 {
275 "internalType": "uint256",
276 "name": "amountOut",
277 "type": "uint256"
278 }
279 ],
280 "stateMutability": "view",
281 "type": "function"
282 },
283 {
284 "inputs": [
285 {
286 "internalType": "uint256",
287 "name": "amountOut",
288 "type": "uint256"
289 },
290 {
291 "internalType": "address[]",
292 "name": "path",
293 "type": "address[]"
294 }
295 ],
296 "name": "getAmountsIn",
297 "outputs": [
298 {
299 "internalType": "uint256[]",
300 "name": "amounts",
301 "type": "uint256[]"
302 }
303 ],
304 "stateMutability": "view",
305 "type": "function"
306 },
307 {
308 "inputs": [
309 {
310 "internalType": "uint256",
311 "name": "amountOut",
312 "type": "uint256"
313 },
314 {
315 "internalType": "address[]",
316 "name": "path",
317 "type": "address[]"
318 }
319 ],
320 "name": "getAmountsInWithParams",
321 "outputs": [
322 {
323 "internalType": "uint256[]",
324 "name": "amounts",
325 "type": "uint256[]"
326 }
327 ],
328 "stateMutability": "view",
329 "type": "function"
330 },
331 {
332 "inputs": [
333 {
334 "internalType": "uint256",
335 "name": "amountIn",
336 "type": "uint256"
337 },
338 {
339 "internalType": "address[]",
340 "name": "path",
341 "type": "address[]"
342 }
343 ],
344 "name": "getAmountsOut",
345 "outputs": [
346 {
347 "internalType": "uint256[]",
348 "name": "amounts",
349 "type": "uint256[]"
350 }
351 ],
352 "stateMutability": "view",
353 "type": "function"
354 },
355 {
356 "inputs": [
357 {
358 "internalType": "uint256",
359 "name": "amountIn",
360 "type": "uint256"
361 },
362 {
363 "internalType": "address[]",
364 "name": "path",
365 "type": "address[]"
366 }
367 ],
368 "name": "getAmountsOutWithParams",
369 "outputs": [
370 {
371 "internalType": "uint256[]",
372 "name": "amounts",
373 "type": "uint256[]"
374 }
375 ],
376 "stateMutability": "view",
377 "type": "function"
378 },
379 {
380 "inputs": [
381 {
382 "internalType": "uint256",
383 "name": "amountA",
384 "type": "uint256"
385 },
386 {
387 "internalType": "uint256",
388 "name": "reserveA",
389 "type": "uint256"
390 },
391 {
392 "internalType": "uint256",
393 "name": "reserveB",
394 "type": "uint256"
395 }
396 ],
397 "name": "quote",
398 "outputs": [
399 {
400 "internalType": "uint256",
401 "name": "amountB",
402 "type": "uint256"
403 }
404 ],
405 "stateMutability": "pure",
406 "type": "function"
407 },
408 {
409 "inputs": [
410 {
411 "internalType": "uint256",
412 "name": "amountA",
413 "type": "uint256"
414 },
415 {
416 "internalType": "uint256",
417 "name": "reserveA",
418 "type": "uint256"
419 },
420 {
421 "internalType": "uint256",
422 "name": "reserveB",
423 "type": "uint256"
424 },
425 {
426 "internalType": "address",
427 "name": "tokenA",
428 "type": "address"
429 },
430 {
431 "internalType": "address",
432 "name": "tokenB",
433 "type": "address"
434 }
435 ],
436 "name": "quoteWithParams",
437 "outputs": [
438 {
439 "internalType": "uint256",
440 "name": "amountB",
441 "type": "uint256"
442 }
443 ],
444 "stateMutability": "view",
445 "type": "function"
446 },
447 {
448 "inputs": [
449 {
450 "internalType": "address",
451 "name": "tokenA",
452 "type": "address"
453 },
454 {
455 "internalType": "address",
456 "name": "tokenB",
457 "type": "address"
458 },
459 {
460 "internalType": "uint256",
461 "name": "liquidity",
462 "type": "uint256"
463 },
464 {
465 "internalType": "uint256",
466 "name": "amountAMin",
467 "type": "uint256"
468 },
469 {
470 "internalType": "uint256",
471 "name": "amountBMin",
472 "type": "uint256"
473 },
474 {
475 "internalType": "address",
476 "name": "to",
477 "type": "address"
478 },
479 {
480 "internalType": "uint256",
481 "name": "deadline",
482 "type": "uint256"
483 }
484 ],
485 "name": "removeLiquidity",
486 "outputs": [
487 {
488 "internalType": "uint256",
489 "name": "amountA",
490 "type": "uint256"
491 },
492 {
493 "internalType": "uint256",
494 "name": "amountB",
495 "type": "uint256"
496 }
497 ],
498 "stateMutability": "nonpayable",
499 "type": "function"
500 },
501 {
502 "inputs": [
503 {
504 "internalType": "address",
505 "name": "token",
506 "type": "address"
507 },
508 {
509 "internalType": "uint256",
510 "name": "liquidity",
511 "type": "uint256"
512 },
513 {
514 "internalType": "uint256",
515 "name": "amountTokenMin",
516 "type": "uint256"
517 },
518 {
519 "internalType": "uint256",
520 "name": "amountETHMin",
521 "type": "uint256"
522 },
523 {
524 "internalType": "address",
525 "name": "to",
526 "type": "address"
527 },
528 {
529 "internalType": "uint256",
530 "name": "deadline",
531 "type": "uint256"
532 }
533 ],
534 "name": "removeLiquidityETH",
535 "outputs": [
536 {
537 "internalType": "uint256",
538 "name": "amountToken",
539 "type": "uint256"
540 },
541 {
542 "internalType": "uint256",
543 "name": "amountETH",
544 "type": "uint256"
545 }
546 ],
547 "stateMutability": "nonpayable",
548 "type": "function"
549 },
550 {
551 "inputs": [
552 {
553 "internalType": "address",
554 "name": "token",
555 "type": "address"
556 },
557 {
558 "internalType": "uint256",
559 "name": "liquidity",
560 "type": "uint256"
561 },
562 {
563 "internalType": "uint256",
564 "name": "amountTokenMin",
565 "type": "uint256"
566 },
567 {
568 "internalType": "uint256",
569 "name": "amountETHMin",
570 "type": "uint256"
571 },
572 {
573 "internalType": "address",
574 "name": "to",
575 "type": "address"
576 },
577 {
578 "internalType": "uint256",
579 "name": "deadline",
580 "type": "uint256"
581 }
582 ],
583 "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
584 "outputs": [
585 {
586 "internalType": "uint256",
587 "name": "amountETH",
588 "type": "uint256"
589 }
590 ],
591 "stateMutability": "nonpayable",
592 "type": "function"
593 },
594 {
595 "inputs": [
596 {
597 "internalType": "address",
598 "name": "token",
599 "type": "address"
600 },
601 {
602 "internalType": "uint256",
603 "name": "liquidity",
604 "type": "uint256"
605 },
606 {
607 "internalType": "uint256",
608 "name": "amountTokenMin",
609 "type": "uint256"
610 },
611 {
612 "internalType": "uint256",
613 "name": "amountETHMin",
614 "type": "uint256"
615 },
616 {
617 "internalType": "address",
618 "name": "to",
619 "type": "address"
620 },
621 {
622 "internalType": "uint256",
623 "name": "deadline",
624 "type": "uint256"
625 },
626 {
627 "internalType": "bool",
628 "name": "approveMax",
629 "type": "bool"
630 },
631 {
632 "internalType": "uint8",
633 "name": "v",
634 "type": "uint8"
635 },
636 {
637 "internalType": "bytes32",
638 "name": "r",
639 "type": "bytes32"
640 },
641 {
642 "internalType": "bytes32",
643 "name": "s",
644 "type": "bytes32"
645 }
646 ],
647 "name": "removeLiquidityETHWithPermit",
648 "outputs": [
649 {
650 "internalType": "uint256",
651 "name": "amountToken",
652 "type": "uint256"
653 },
654 {
655 "internalType": "uint256",
656 "name": "amountETH",
657 "type": "uint256"
658 }
659 ],
660 "stateMutability": "nonpayable",
661 "type": "function"
662 },
663 {
664 "inputs": [
665 {
666 "internalType": "address",
667 "name": "token",
668 "type": "address"
669 },
670 {
671 "internalType": "uint256",
672 "name": "liquidity",
673 "type": "uint256"
674 },
675 {
676 "internalType": "uint256",
677 "name": "amountTokenMin",
678 "type": "uint256"
679 },
680 {
681 "internalType": "uint256",
682 "name": "amountETHMin",
683 "type": "uint256"
684 },
685 {
686 "internalType": "address",
687 "name": "to",
688 "type": "address"
689 },
690 {
691 "internalType": "uint256",
692 "name": "deadline",
693 "type": "uint256"
694 },
695 {
696 "internalType": "bool",
697 "name": "approveMax",
698 "type": "bool"
699 },
700 {
701 "internalType": "uint8",
702 "name": "v",
703 "type": "uint8"
704 },
705 {
706 "internalType": "bytes32",
707 "name": "r",
708 "type": "bytes32"
709 },
710 {
711 "internalType": "bytes32",
712 "name": "s",
713 "type": "bytes32"
714 }
715 ],
716 "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
717 "outputs": [
718 {
719 "internalType": "uint256",
720 "name": "amountETH",
721 "type": "uint256"
722 }
723 ],
724 "stateMutability": "nonpayable",
725 "type": "function"
726 },
727 {
728 "inputs": [
729 {
730 "internalType": "address",
731 "name": "tokenA",
732 "type": "address"
733 },
734 {
735 "internalType": "address",
736 "name": "tokenB",
737 "type": "address"
738 },
739 {
740 "internalType": "uint256",
741 "name": "liquidity",
742 "type": "uint256"
743 },
744 {
745 "internalType": "uint256",
746 "name": "amountAMin",
747 "type": "uint256"
748 },
749 {
750 "internalType": "uint256",
751 "name": "amountBMin",
752 "type": "uint256"
753 },
754 {
755 "internalType": "address",
756 "name": "to",
757 "type": "address"
758 },
759 {
760 "internalType": "uint256",
761 "name": "deadline",
762 "type": "uint256"
763 },
764 {
765 "internalType": "bool",
766 "name": "approveMax",
767 "type": "bool"
768 },
769 {
770 "internalType": "uint8",
771 "name": "v",
772 "type": "uint8"
773 },
774 {
775 "internalType": "bytes32",
776 "name": "r",
777 "type": "bytes32"
778 },
779 {
780 "internalType": "bytes32",
781 "name": "s",
782 "type": "bytes32"
783 }
784 ],
785 "name": "removeLiquidityWithPermit",
786 "outputs": [
787 {
788 "internalType": "uint256",
789 "name": "amountA",
790 "type": "uint256"
791 },
792 {
793 "internalType": "uint256",
794 "name": "amountB",
795 "type": "uint256"
796 }
797 ],
798 "stateMutability": "nonpayable",
799 "type": "function"
800 },
801 {
802 "inputs": [
803 {
804 "internalType": "uint256",
805 "name": "amountOut",
806 "type": "uint256"
807 },
808 {
809 "internalType": "address[]",
810 "name": "path",
811 "type": "address[]"
812 },
813 {
814 "internalType": "address",
815 "name": "to",
816 "type": "address"
817 },
818 {
819 "internalType": "uint256",
820 "name": "deadline",
821 "type": "uint256"
822 }
823 ],
824 "name": "swapETHForExactTokens",
825 "outputs": [
826 {
827 "internalType": "uint256[]",
828 "name": "amounts",
829 "type": "uint256[]"
830 }
831 ],
832 "stateMutability": "payable",
833 "type": "function"
834 },
835 {
836 "inputs": [
837 {
838 "internalType": "uint256",
839 "name": "amountOutMin",
840 "type": "uint256"
841 },
842 {
843 "internalType": "address[]",
844 "name": "path",
845 "type": "address[]"
846 },
847 {
848 "internalType": "address",
849 "name": "to",
850 "type": "address"
851 },
852 {
853 "internalType": "uint256",
854 "name": "deadline",
855 "type": "uint256"
856 }
857 ],
858 "name": "swapExactETHForTokens",
859 "outputs": [
860 {
861 "internalType": "uint256[]",
862 "name": "amounts",
863 "type": "uint256[]"
864 }
865 ],
866 "stateMutability": "payable",
867 "type": "function"
868 },
869 {
870 "inputs": [
871 {
872 "internalType": "uint256",
873 "name": "amountOutMin",
874 "type": "uint256"
875 },
876 {
877 "internalType": "address[]",
878 "name": "path",
879 "type": "address[]"
880 },
881 {
882 "internalType": "address",
883 "name": "to",
884 "type": "address"
885 },
886 {
887 "internalType": "uint256",
888 "name": "deadline",
889 "type": "uint256"
890 }
891 ],
892 "name": "swapExactETHForTokensSupportingFeeOnTransferTokens",
893 "outputs": [],
894 "stateMutability": "payable",
895 "type": "function"
896 },
897 {
898 "inputs": [
899 {
900 "internalType": "uint256",
901 "name": "amountIn",
902 "type": "uint256"
903 },
904 {
905 "internalType": "uint256",
906 "name": "amountOutMin",
907 "type": "uint256"
908 },
909 {
910 "internalType": "address[]",
911 "name": "path",
912 "type": "address[]"
913 },
914 {
915 "internalType": "address",
916 "name": "to",
917 "type": "address"
918 },
919 {
920 "internalType": "uint256",
921 "name": "deadline",
922 "type": "uint256"
923 }
924 ],
925 "name": "swapExactTokensForETH",
926 "outputs": [
927 {
928 "internalType": "uint256[]",
929 "name": "amounts",
930 "type": "uint256[]"
931 }
932 ],
933 "stateMutability": "nonpayable",
934 "type": "function"
935 },
936 {
937 "inputs": [
938 {
939 "internalType": "uint256",
940 "name": "amountIn",
941 "type": "uint256"
942 },
943 {
944 "internalType": "uint256",
945 "name": "amountOutMin",
946 "type": "uint256"
947 },
948 {
949 "internalType": "address[]",
950 "name": "path",
951 "type": "address[]"
952 },
953 {
954 "internalType": "address",
955 "name": "to",
956 "type": "address"
957 },
958 {
959 "internalType": "uint256",
960 "name": "deadline",
961 "type": "uint256"
962 }
963 ],
964 "name": "swapExactTokensForETHSupportingFeeOnTransferTokens",
965 "outputs": [],
966 "stateMutability": "nonpayable",
967 "type": "function"
968 },
969 {
970 "inputs": [
971 {
972 "internalType": "uint256",
973 "name": "amountIn",
974 "type": "uint256"
975 },
976 {
977 "internalType": "uint256",
978 "name": "amountOutMin",
979 "type": "uint256"
980 },
981 {
982 "internalType": "address[]",
983 "name": "path",
984 "type": "address[]"
985 },
986 {
987 "internalType": "address",
988 "name": "to",
989 "type": "address"
990 },
991 {
992 "internalType": "uint256",
993 "name": "deadline",
994 "type": "uint256"
995 }
996 ],
997 "name": "swapExactTokensForTokens",
998 "outputs": [
999 {
1000 "internalType": "uint256[]",
1001 "name": "amounts",
1002 "type": "uint256[]"
1003 }
1004 ],
1005 "stateMutability": "nonpayable",
1006 "type": "function"
1007 },
1008 {
1009 "inputs": [
1010 {
1011 "internalType": "uint256",
1012 "name": "amountIn",
1013 "type": "uint256"
1014 },
1015 {
1016 "internalType": "uint256",
1017 "name": "amountOutMin",
1018 "type": "uint256"
1019 },
1020 {
1021 "internalType": "address[]",
1022 "name": "path",
1023 "type": "address[]"
1024 },
1025 {
1026 "internalType": "address",
1027 "name": "to",
1028 "type": "address"
1029 },
1030 {
1031 "internalType": "uint256",
1032 "name": "deadline",
1033 "type": "uint256"
1034 }
1035 ],
1036 "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens",
1037 "outputs": [],
1038 "stateMutability": "nonpayable",
1039 "type": "function"
1040 },
1041 {
1042 "inputs": [
1043 {
1044 "internalType": "uint256",
1045 "name": "amountOut",
1046 "type": "uint256"
1047 },
1048 {
1049 "internalType": "uint256",
1050 "name": "amountInMax",
1051 "type": "uint256"
1052 },
1053 {
1054 "internalType": "address[]",
1055 "name": "path",
1056 "type": "address[]"
1057 },
1058 {
1059 "internalType": "address",
1060 "name": "to",
1061 "type": "address"
1062 },
1063 {
1064 "internalType": "uint256",
1065 "name": "deadline",
1066 "type": "uint256"
1067 }
1068 ],
1069 "name": "swapTokensForExactETH",
1070 "outputs": [
1071 {
1072 "internalType": "uint256[]",
1073 "name": "amounts",
1074 "type": "uint256[]"
1075 }
1076 ],
1077 "stateMutability": "nonpayable",
1078 "type": "function"
1079 },
1080 {
1081 "inputs": [
1082 {
1083 "internalType": "uint256",
1084 "name": "amountOut",
1085 "type": "uint256"
1086 },
1087 {
1088 "internalType": "uint256",
1089 "name": "amountInMax",
1090 "type": "uint256"
1091 },
1092 {
1093 "internalType": "address[]",
1094 "name": "path",
1095 "type": "address[]"
1096 },
1097 {
1098 "internalType": "address",
1099 "name": "to",
1100 "type": "address"
1101 },
1102 {
1103 "internalType": "uint256",
1104 "name": "deadline",
1105 "type": "uint256"
1106 }
1107 ],
1108 "name": "swapTokensForExactTokens",
1109 "outputs": [
1110 {
1111 "internalType": "uint256[]",
1112 "name": "amounts",
1113 "type": "uint256[]"
1114 }
1115 ],
1116 "stateMutability": "nonpayable",
1117 "type": "function"
1118 }
1119 ],
1120 "evm": {
1121 "bytecode": {
1122 "linkReferences": {},
1123 "object": "",
1124 "opcodes": "",
1125 "sourceMap": ""
1126 },
1127 "deployedBytecode": {
1128 "immutableReferences": {},
1129 "linkReferences": {},
1130 "object": "",
1131 "opcodes": "",
1132 "sourceMap": ""
1133 }
1134 },
1135 "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"WETH\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountADesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBDesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenDesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"addLiquidityETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"}],\"name\":\"getAmountIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"getAmountInWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"}],\"name\":\"getAmountOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"getAmountOutWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsIn\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsInWithParams\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsOut\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsOutWithParams\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveB\",\"type\":\"uint256\"}],\"name\":\"quote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveB\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"quoteWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityETHSupportingFeeOnTransferTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityETHWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapETHForExactTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETH\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETHSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactETH\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IUniswapV2Router03.sol\":\"IUniswapV2Router03\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IUniswapV2Router01.sol\":{\"keccak256\":\"0xfbd2207b1c957faa2bd0fc0591024f7c137f745c18266355389e4a14b1392748\",\"urls\":[\"bzz-raw://78bf9e8c1c5e979de65910691e343ea297f56f14fa5f91770fc37013b48c3bd7\",\"dweb:/ipfs/QmcwmTLkaHZr8s6YkhiYobJVR3JWMYQLsrZW2QU8R4RjgF\"]},\"contracts/interfaces/IUniswapV2Router02.sol\":{\"keccak256\":\"0x944057144c0d2c9e673d6a2c1fb478badd855928ec81b51086477cc375b315da\",\"urls\":[\"bzz-raw://448e6a4b947886d4ddc22cc6579490d7066af5d4b337f8111cdf8d599a7dd1fe\",\"dweb:/ipfs/QmcK9zXFyekV3h5YqLRyKwDf9LVriTxW1KWB2yWdvxgMoc\"]},\"contracts/interfaces/IUniswapV2Router03.sol\":{\"keccak256\":\"0x4306777507627e6d26a2700390829d47e568861dcabd8beb540000c8b19d6b93\",\"urls\":[\"bzz-raw://cd22c21fa0c8c8396bee0a25443839be33d4ffbc223a26d8b827d13f8f074b0f\",\"dweb:/ipfs/QmZVJudAJ77H53hdSX4tppe8R81WiVKpYz9LMXJugyGYyF\"]}},\"version\":1}",
1136 "interface": [
1137 {
1138 "inputs": [],
1139 "name": "WETH",
1140 "outputs": [
1141 {
1142 "internalType": "address",
1143 "name": "",
1144 "type": "address"
1145 }
1146 ],
1147 "stateMutability": "pure",
1148 "type": "function"
1149 },
1150 {
1151 "inputs": [
1152 {
1153 "internalType": "address",
1154 "name": "tokenA",
1155 "type": "address"
1156 },
1157 {
1158 "internalType": "address",
1159 "name": "tokenB",
1160 "type": "address"
1161 },
1162 {
1163 "internalType": "uint256",
1164 "name": "amountADesired",
1165 "type": "uint256"
1166 },
1167 {
1168 "internalType": "uint256",
1169 "name": "amountBDesired",
1170 "type": "uint256"
1171 },
1172 {
1173 "internalType": "uint256",
1174 "name": "amountAMin",
1175 "type": "uint256"
1176 },
1177 {
1178 "internalType": "uint256",
1179 "name": "amountBMin",
1180 "type": "uint256"
1181 },
1182 {
1183 "internalType": "address",
1184 "name": "to",
1185 "type": "address"
1186 },
1187 {
1188 "internalType": "uint256",
1189 "name": "deadline",
1190 "type": "uint256"
1191 }
1192 ],
1193 "name": "addLiquidity",
1194 "outputs": [
1195 {
1196 "internalType": "uint256",
1197 "name": "amountA",
1198 "type": "uint256"
1199 },
1200 {
1201 "internalType": "uint256",
1202 "name": "amountB",
1203 "type": "uint256"
1204 },
1205 {
1206 "internalType": "uint256",
1207 "name": "liquidity",
1208 "type": "uint256"
1209 }
1210 ],
1211 "stateMutability": "nonpayable",
1212 "type": "function"
1213 },
1214 {
1215 "inputs": [
1216 {
1217 "internalType": "address",
1218 "name": "token",
1219 "type": "address"
1220 },
1221 {
1222 "internalType": "uint256",
1223 "name": "amountTokenDesired",
1224 "type": "uint256"
1225 },
1226 {
1227 "internalType": "uint256",
1228 "name": "amountTokenMin",
1229 "type": "uint256"
1230 },
1231 {
1232 "internalType": "uint256",
1233 "name": "amountETHMin",
1234 "type": "uint256"
1235 },
1236 {
1237 "internalType": "address",
1238 "name": "to",
1239 "type": "address"
1240 },
1241 {
1242 "internalType": "uint256",
1243 "name": "deadline",
1244 "type": "uint256"
1245 }
1246 ],
1247 "name": "addLiquidityETH",
1248 "outputs": [
1249 {
1250 "internalType": "uint256",
1251 "name": "amountToken",
1252 "type": "uint256"
1253 },
1254 {
1255 "internalType": "uint256",
1256 "name": "amountETH",
1257 "type": "uint256"
1258 },
1259 {
1260 "internalType": "uint256",
1261 "name": "liquidity",
1262 "type": "uint256"
1263 }
1264 ],
1265 "stateMutability": "payable",
1266 "type": "function"
1267 },
1268 {
1269 "inputs": [],
1270 "name": "factory",
1271 "outputs": [
1272 {
1273 "internalType": "address",
1274 "name": "",
1275 "type": "address"
1276 }
1277 ],
1278 "stateMutability": "pure",
1279 "type": "function"
1280 },
1281 {
1282 "inputs": [
1283 {
1284 "internalType": "uint256",
1285 "name": "amountOut",
1286 "type": "uint256"
1287 },
1288 {
1289 "internalType": "uint256",
1290 "name": "reserveIn",
1291 "type": "uint256"
1292 },
1293 {
1294 "internalType": "uint256",
1295 "name": "reserveOut",
1296 "type": "uint256"
1297 }
1298 ],
1299 "name": "getAmountIn",
1300 "outputs": [
1301 {
1302 "internalType": "uint256",
1303 "name": "amountIn",
1304 "type": "uint256"
1305 }
1306 ],
1307 "stateMutability": "pure",
1308 "type": "function"
1309 },
1310 {
1311 "inputs": [
1312 {
1313 "internalType": "uint256",
1314 "name": "amountOut",
1315 "type": "uint256"
1316 },
1317 {
1318 "internalType": "uint256",
1319 "name": "reserveIn",
1320 "type": "uint256"
1321 },
1322 {
1323 "internalType": "uint256",
1324 "name": "reserveOut",
1325 "type": "uint256"
1326 },
1327 {
1328 "internalType": "address",
1329 "name": "tokenA",
1330 "type": "address"
1331 },
1332 {
1333 "internalType": "address",
1334 "name": "tokenB",
1335 "type": "address"
1336 }
1337 ],
1338 "name": "getAmountInWithParams",
1339 "outputs": [
1340 {
1341 "internalType": "uint256",
1342 "name": "amountIn",
1343 "type": "uint256"
1344 }
1345 ],
1346 "stateMutability": "view",
1347 "type": "function"
1348 },
1349 {
1350 "inputs": [
1351 {
1352 "internalType": "uint256",
1353 "name": "amountIn",
1354 "type": "uint256"
1355 },
1356 {
1357 "internalType": "uint256",
1358 "name": "reserveIn",
1359 "type": "uint256"
1360 },
1361 {
1362 "internalType": "uint256",
1363 "name": "reserveOut",
1364 "type": "uint256"
1365 }
1366 ],
1367 "name": "getAmountOut",
1368 "outputs": [
1369 {
1370 "internalType": "uint256",
1371 "name": "amountOut",
1372 "type": "uint256"
1373 }
1374 ],
1375 "stateMutability": "pure",
1376 "type": "function"
1377 },
1378 {
1379 "inputs": [
1380 {
1381 "internalType": "uint256",
1382 "name": "amountIn",
1383 "type": "uint256"
1384 },
1385 {
1386 "internalType": "uint256",
1387 "name": "reserveIn",
1388 "type": "uint256"
1389 },
1390 {
1391 "internalType": "uint256",
1392 "name": "reserveOut",
1393 "type": "uint256"
1394 },
1395 {
1396 "internalType": "address",
1397 "name": "tokenA",
1398 "type": "address"
1399 },
1400 {
1401 "internalType": "address",
1402 "name": "tokenB",
1403 "type": "address"
1404 }
1405 ],
1406 "name": "getAmountOutWithParams",
1407 "outputs": [
1408 {
1409 "internalType": "uint256",
1410 "name": "amountOut",
1411 "type": "uint256"
1412 }
1413 ],
1414 "stateMutability": "view",
1415 "type": "function"
1416 },
1417 {
1418 "inputs": [
1419 {
1420 "internalType": "uint256",
1421 "name": "amountOut",
1422 "type": "uint256"
1423 },
1424 {
1425 "internalType": "address[]",
1426 "name": "path",
1427 "type": "address[]"
1428 }
1429 ],
1430 "name": "getAmountsIn",
1431 "outputs": [
1432 {
1433 "internalType": "uint256[]",
1434 "name": "amounts",
1435 "type": "uint256[]"
1436 }
1437 ],
1438 "stateMutability": "view",
1439 "type": "function"
1440 },
1441 {
1442 "inputs": [
1443 {
1444 "internalType": "uint256",
1445 "name": "amountOut",
1446 "type": "uint256"
1447 },
1448 {
1449 "internalType": "address[]",
1450 "name": "path",
1451 "type": "address[]"
1452 }
1453 ],
1454 "name": "getAmountsInWithParams",
1455 "outputs": [
1456 {
1457 "internalType": "uint256[]",
1458 "name": "amounts",
1459 "type": "uint256[]"
1460 }
1461 ],
1462 "stateMutability": "view",
1463 "type": "function"
1464 },
1465 {
1466 "inputs": [
1467 {
1468 "internalType": "uint256",
1469 "name": "amountIn",
1470 "type": "uint256"
1471 },
1472 {
1473 "internalType": "address[]",
1474 "name": "path",
1475 "type": "address[]"
1476 }
1477 ],
1478 "name": "getAmountsOut",
1479 "outputs": [
1480 {
1481 "internalType": "uint256[]",
1482 "name": "amounts",
1483 "type": "uint256[]"
1484 }
1485 ],
1486 "stateMutability": "view",
1487 "type": "function"
1488 },
1489 {
1490 "inputs": [
1491 {
1492 "internalType": "uint256",
1493 "name": "amountIn",
1494 "type": "uint256"
1495 },
1496 {
1497 "internalType": "address[]",
1498 "name": "path",
1499 "type": "address[]"
1500 }
1501 ],
1502 "name": "getAmountsOutWithParams",
1503 "outputs": [
1504 {
1505 "internalType": "uint256[]",
1506 "name": "amounts",
1507 "type": "uint256[]"
1508 }
1509 ],
1510 "stateMutability": "view",
1511 "type": "function"
1512 },
1513 {
1514 "inputs": [
1515 {
1516 "internalType": "uint256",
1517 "name": "amountA",
1518 "type": "uint256"
1519 },
1520 {
1521 "internalType": "uint256",
1522 "name": "reserveA",
1523 "type": "uint256"
1524 },
1525 {
1526 "internalType": "uint256",
1527 "name": "reserveB",
1528 "type": "uint256"
1529 }
1530 ],
1531 "name": "quote",
1532 "outputs": [
1533 {
1534 "internalType": "uint256",
1535 "name": "amountB",
1536 "type": "uint256"
1537 }
1538 ],
1539 "stateMutability": "pure",
1540 "type": "function"
1541 },
1542 {
1543 "inputs": [
1544 {
1545 "internalType": "uint256",
1546 "name": "amountA",
1547 "type": "uint256"
1548 },
1549 {
1550 "internalType": "uint256",
1551 "name": "reserveA",
1552 "type": "uint256"
1553 },
1554 {
1555 "internalType": "uint256",
1556 "name": "reserveB",
1557 "type": "uint256"
1558 },
1559 {
1560 "internalType": "address",
1561 "name": "tokenA",
1562 "type": "address"
1563 },
1564 {
1565 "internalType": "address",
1566 "name": "tokenB",
1567 "type": "address"
1568 }
1569 ],
1570 "name": "quoteWithParams",
1571 "outputs": [
1572 {
1573 "internalType": "uint256",
1574 "name": "amountB",
1575 "type": "uint256"
1576 }
1577 ],
1578 "stateMutability": "view",
1579 "type": "function"
1580 },
1581 {
1582 "inputs": [
1583 {
1584 "internalType": "address",
1585 "name": "tokenA",
1586 "type": "address"
1587 },
1588 {
1589 "internalType": "address",
1590 "name": "tokenB",
1591 "type": "address"
1592 },
1593 {
1594 "internalType": "uint256",
1595 "name": "liquidity",
1596 "type": "uint256"
1597 },
1598 {
1599 "internalType": "uint256",
1600 "name": "amountAMin",
1601 "type": "uint256"
1602 },
1603 {
1604 "internalType": "uint256",
1605 "name": "amountBMin",
1606 "type": "uint256"
1607 },
1608 {
1609 "internalType": "address",
1610 "name": "to",
1611 "type": "address"
1612 },
1613 {
1614 "internalType": "uint256",
1615 "name": "deadline",
1616 "type": "uint256"
1617 }
1618 ],
1619 "name": "removeLiquidity",
1620 "outputs": [
1621 {
1622 "internalType": "uint256",
1623 "name": "amountA",
1624 "type": "uint256"
1625 },
1626 {
1627 "internalType": "uint256",
1628 "name": "amountB",
1629 "type": "uint256"
1630 }
1631 ],
1632 "stateMutability": "nonpayable",
1633 "type": "function"
1634 },
1635 {
1636 "inputs": [
1637 {
1638 "internalType": "address",
1639 "name": "token",
1640 "type": "address"
1641 },
1642 {
1643 "internalType": "uint256",
1644 "name": "liquidity",
1645 "type": "uint256"
1646 },
1647 {
1648 "internalType": "uint256",
1649 "name": "amountTokenMin",
1650 "type": "uint256"
1651 },
1652 {
1653 "internalType": "uint256",
1654 "name": "amountETHMin",
1655 "type": "uint256"
1656 },
1657 {
1658 "internalType": "address",
1659 "name": "to",
1660 "type": "address"
1661 },
1662 {
1663 "internalType": "uint256",
1664 "name": "deadline",
1665 "type": "uint256"
1666 }
1667 ],
1668 "name": "removeLiquidityETH",
1669 "outputs": [
1670 {
1671 "internalType": "uint256",
1672 "name": "amountToken",
1673 "type": "uint256"
1674 },
1675 {
1676 "internalType": "uint256",
1677 "name": "amountETH",
1678 "type": "uint256"
1679 }
1680 ],
1681 "stateMutability": "nonpayable",
1682 "type": "function"
1683 },
1684 {
1685 "inputs": [
1686 {
1687 "internalType": "address",
1688 "name": "token",
1689 "type": "address"
1690 },
1691 {
1692 "internalType": "uint256",
1693 "name": "liquidity",
1694 "type": "uint256"
1695 },
1696 {
1697 "internalType": "uint256",
1698 "name": "amountTokenMin",
1699 "type": "uint256"
1700 },
1701 {
1702 "internalType": "uint256",
1703 "name": "amountETHMin",
1704 "type": "uint256"
1705 },
1706 {
1707 "internalType": "address",
1708 "name": "to",
1709 "type": "address"
1710 },
1711 {
1712 "internalType": "uint256",
1713 "name": "deadline",
1714 "type": "uint256"
1715 }
1716 ],
1717 "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
1718 "outputs": [
1719 {
1720 "internalType": "uint256",
1721 "name": "amountETH",
1722 "type": "uint256"
1723 }
1724 ],
1725 "stateMutability": "nonpayable",
1726 "type": "function"
1727 },
1728 {
1729 "inputs": [
1730 {
1731 "internalType": "address",
1732 "name": "token",
1733 "type": "address"
1734 },
1735 {
1736 "internalType": "uint256",
1737 "name": "liquidity",
1738 "type": "uint256"
1739 },
1740 {
1741 "internalType": "uint256",
1742 "name": "amountTokenMin",
1743 "type": "uint256"
1744 },
1745 {
1746 "internalType": "uint256",
1747 "name": "amountETHMin",
1748 "type": "uint256"
1749 },
1750 {
1751 "internalType": "address",
1752 "name": "to",
1753 "type": "address"
1754 },
1755 {
1756 "internalType": "uint256",
1757 "name": "deadline",
1758 "type": "uint256"
1759 },
1760 {
1761 "internalType": "bool",
1762 "name": "approveMax",
1763 "type": "bool"
1764 },
1765 {
1766 "internalType": "uint8",
1767 "name": "v",
1768 "type": "uint8"
1769 },
1770 {
1771 "internalType": "bytes32",
1772 "name": "r",
1773 "type": "bytes32"
1774 },
1775 {
1776 "internalType": "bytes32",
1777 "name": "s",
1778 "type": "bytes32"
1779 }
1780 ],
1781 "name": "removeLiquidityETHWithPermit",
1782 "outputs": [
1783 {
1784 "internalType": "uint256",
1785 "name": "amountToken",
1786 "type": "uint256"
1787 },
1788 {
1789 "internalType": "uint256",
1790 "name": "amountETH",
1791 "type": "uint256"
1792 }
1793 ],
1794 "stateMutability": "nonpayable",
1795 "type": "function"
1796 },
1797 {
1798 "inputs": [
1799 {
1800 "internalType": "address",
1801 "name": "token",
1802 "type": "address"
1803 },
1804 {
1805 "internalType": "uint256",
1806 "name": "liquidity",
1807 "type": "uint256"
1808 },
1809 {
1810 "internalType": "uint256",
1811 "name": "amountTokenMin",
1812 "type": "uint256"
1813 },
1814 {
1815 "internalType": "uint256",
1816 "name": "amountETHMin",
1817 "type": "uint256"
1818 },
1819 {
1820 "internalType": "address",
1821 "name": "to",
1822 "type": "address"
1823 },
1824 {
1825 "internalType": "uint256",
1826 "name": "deadline",
1827 "type": "uint256"
1828 },
1829 {
1830 "internalType": "bool",
1831 "name": "approveMax",
1832 "type": "bool"
1833 },
1834 {
1835 "internalType": "uint8",
1836 "name": "v",
1837 "type": "uint8"
1838 },
1839 {
1840 "internalType": "bytes32",
1841 "name": "r",
1842 "type": "bytes32"
1843 },
1844 {
1845 "internalType": "bytes32",
1846 "name": "s",
1847 "type": "bytes32"
1848 }
1849 ],
1850 "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
1851 "outputs": [
1852 {
1853 "internalType": "uint256",
1854 "name": "amountETH",
1855 "type": "uint256"
1856 }
1857 ],
1858 "stateMutability": "nonpayable",
1859 "type": "function"
1860 },
1861 {
1862 "inputs": [
1863 {
1864 "internalType": "address",
1865 "name": "tokenA",
1866 "type": "address"
1867 },
1868 {
1869 "internalType": "address",
1870 "name": "tokenB",
1871 "type": "address"
1872 },
1873 {
1874 "internalType": "uint256",
1875 "name": "liquidity",
1876 "type": "uint256"
1877 },
1878 {
1879 "internalType": "uint256",
1880 "name": "amountAMin",
1881 "type": "uint256"
1882 },
1883 {
1884 "internalType": "uint256",
1885 "name": "amountBMin",
1886 "type": "uint256"
1887 },
1888 {
1889 "internalType": "address",
1890 "name": "to",
1891 "type": "address"
1892 },
1893 {
1894 "internalType": "uint256",
1895 "name": "deadline",
1896 "type": "uint256"
1897 },
1898 {
1899 "internalType": "bool",
1900 "name": "approveMax",
1901 "type": "bool"
1902 },
1903 {
1904 "internalType": "uint8",
1905 "name": "v",
1906 "type": "uint8"
1907 },
1908 {
1909 "internalType": "bytes32",
1910 "name": "r",
1911 "type": "bytes32"
1912 },
1913 {
1914 "internalType": "bytes32",
1915 "name": "s",
1916 "type": "bytes32"
1917 }
1918 ],
1919 "name": "removeLiquidityWithPermit",
1920 "outputs": [
1921 {
1922 "internalType": "uint256",
1923 "name": "amountA",
1924 "type": "uint256"
1925 },
1926 {
1927 "internalType": "uint256",
1928 "name": "amountB",
1929 "type": "uint256"
1930 }
1931 ],
1932 "stateMutability": "nonpayable",
1933 "type": "function"
1934 },
1935 {
1936 "inputs": [
1937 {
1938 "internalType": "uint256",
1939 "name": "amountOut",
1940 "type": "uint256"
1941 },
1942 {
1943 "internalType": "address[]",
1944 "name": "path",
1945 "type": "address[]"
1946 },
1947 {
1948 "internalType": "address",
1949 "name": "to",
1950 "type": "address"
1951 },
1952 {
1953 "internalType": "uint256",
1954 "name": "deadline",
1955 "type": "uint256"
1956 }
1957 ],
1958 "name": "swapETHForExactTokens",
1959 "outputs": [
1960 {
1961 "internalType": "uint256[]",
1962 "name": "amounts",
1963 "type": "uint256[]"
1964 }
1965 ],
1966 "stateMutability": "payable",
1967 "type": "function"
1968 },
1969 {
1970 "inputs": [
1971 {
1972 "internalType": "uint256",
1973 "name": "amountOutMin",
1974 "type": "uint256"
1975 },
1976 {
1977 "internalType": "address[]",
1978 "name": "path",
1979 "type": "address[]"
1980 },
1981 {
1982 "internalType": "address",
1983 "name": "to",
1984 "type": "address"
1985 },
1986 {
1987 "internalType": "uint256",
1988 "name": "deadline",
1989 "type": "uint256"
1990 }
1991 ],
1992 "name": "swapExactETHForTokens",
1993 "outputs": [
1994 {
1995 "internalType": "uint256[]",
1996 "name": "amounts",
1997 "type": "uint256[]"
1998 }
1999 ],
2000 "stateMutability": "payable",
2001 "type": "function"
2002 },
2003 {
2004 "inputs": [
2005 {
2006 "internalType": "uint256",
2007 "name": "amountOutMin",
2008 "type": "uint256"
2009 },
2010 {
2011 "internalType": "address[]",
2012 "name": "path",
2013 "type": "address[]"
2014 },
2015 {
2016 "internalType": "address",
2017 "name": "to",
2018 "type": "address"
2019 },
2020 {
2021 "internalType": "uint256",
2022 "name": "deadline",
2023 "type": "uint256"
2024 }
2025 ],
2026 "name": "swapExactETHForTokensSupportingFeeOnTransferTokens",
2027 "outputs": [],
2028 "stateMutability": "payable",
2029 "type": "function"
2030 },
2031 {
2032 "inputs": [
2033 {
2034 "internalType": "uint256",
2035 "name": "amountIn",
2036 "type": "uint256"
2037 },
2038 {
2039 "internalType": "uint256",
2040 "name": "amountOutMin",
2041 "type": "uint256"
2042 },
2043 {
2044 "internalType": "address[]",
2045 "name": "path",
2046 "type": "address[]"
2047 },
2048 {
2049 "internalType": "address",
2050 "name": "to",
2051 "type": "address"
2052 },
2053 {
2054 "internalType": "uint256",
2055 "name": "deadline",
2056 "type": "uint256"
2057 }
2058 ],
2059 "name": "swapExactTokensForETH",
2060 "outputs": [
2061 {
2062 "internalType": "uint256[]",
2063 "name": "amounts",
2064 "type": "uint256[]"
2065 }
2066 ],
2067 "stateMutability": "nonpayable",
2068 "type": "function"
2069 },
2070 {
2071 "inputs": [
2072 {
2073 "internalType": "uint256",
2074 "name": "amountIn",
2075 "type": "uint256"
2076 },
2077 {
2078 "internalType": "uint256",
2079 "name": "amountOutMin",
2080 "type": "uint256"
2081 },
2082 {
2083 "internalType": "address[]",
2084 "name": "path",
2085 "type": "address[]"
2086 },
2087 {
2088 "internalType": "address",
2089 "name": "to",
2090 "type": "address"
2091 },
2092 {
2093 "internalType": "uint256",
2094 "name": "deadline",
2095 "type": "uint256"
2096 }
2097 ],
2098 "name": "swapExactTokensForETHSupportingFeeOnTransferTokens",
2099 "outputs": [],
2100 "stateMutability": "nonpayable",
2101 "type": "function"
2102 },
2103 {
2104 "inputs": [
2105 {
2106 "internalType": "uint256",
2107 "name": "amountIn",
2108 "type": "uint256"
2109 },
2110 {
2111 "internalType": "uint256",
2112 "name": "amountOutMin",
2113 "type": "uint256"
2114 },
2115 {
2116 "internalType": "address[]",
2117 "name": "path",
2118 "type": "address[]"
2119 },
2120 {
2121 "internalType": "address",
2122 "name": "to",
2123 "type": "address"
2124 },
2125 {
2126 "internalType": "uint256",
2127 "name": "deadline",
2128 "type": "uint256"
2129 }
2130 ],
2131 "name": "swapExactTokensForTokens",
2132 "outputs": [
2133 {
2134 "internalType": "uint256[]",
2135 "name": "amounts",
2136 "type": "uint256[]"
2137 }
2138 ],
2139 "stateMutability": "nonpayable",
2140 "type": "function"
2141 },
2142 {
2143 "inputs": [
2144 {
2145 "internalType": "uint256",
2146 "name": "amountIn",
2147 "type": "uint256"
2148 },
2149 {
2150 "internalType": "uint256",
2151 "name": "amountOutMin",
2152 "type": "uint256"
2153 },
2154 {
2155 "internalType": "address[]",
2156 "name": "path",
2157 "type": "address[]"
2158 },
2159 {
2160 "internalType": "address",
2161 "name": "to",
2162 "type": "address"
2163 },
2164 {
2165 "internalType": "uint256",
2166 "name": "deadline",
2167 "type": "uint256"
2168 }
2169 ],
2170 "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens",
2171 "outputs": [],
2172 "stateMutability": "nonpayable",
2173 "type": "function"
2174 },
2175 {
2176 "inputs": [
2177 {
2178 "internalType": "uint256",
2179 "name": "amountOut",
2180 "type": "uint256"
2181 },
2182 {
2183 "internalType": "uint256",
2184 "name": "amountInMax",
2185 "type": "uint256"
2186 },
2187 {
2188 "internalType": "address[]",
2189 "name": "path",
2190 "type": "address[]"
2191 },
2192 {
2193 "internalType": "address",
2194 "name": "to",
2195 "type": "address"
2196 },
2197 {
2198 "internalType": "uint256",
2199 "name": "deadline",
2200 "type": "uint256"
2201 }
2202 ],
2203 "name": "swapTokensForExactETH",
2204 "outputs": [
2205 {
2206 "internalType": "uint256[]",
2207 "name": "amounts",
2208 "type": "uint256[]"
2209 }
2210 ],
2211 "stateMutability": "nonpayable",
2212 "type": "function"
2213 },
2214 {
2215 "inputs": [
2216 {
2217 "internalType": "uint256",
2218 "name": "amountOut",
2219 "type": "uint256"
2220 },
2221 {
2222 "internalType": "uint256",
2223 "name": "amountInMax",
2224 "type": "uint256"
2225 },
2226 {
2227 "internalType": "address[]",
2228 "name": "path",
2229 "type": "address[]"
2230 },
2231 {
2232 "internalType": "address",
2233 "name": "to",
2234 "type": "address"
2235 },
2236 {
2237 "internalType": "uint256",
2238 "name": "deadline",
2239 "type": "uint256"
2240 }
2241 ],
2242 "name": "swapTokensForExactTokens",
2243 "outputs": [
2244 {
2245 "internalType": "uint256[]",
2246 "name": "amounts",
2247 "type": "uint256[]"
2248 }
2249 ],
2250 "stateMutability": "nonpayable",
2251 "type": "function"
2252 }
2253 ],
2254 "bytecode": ""
2255}
\No newline at end of file