diff --git a/contracts/juno_contracts.json b/contracts/juno_contracts.json index ed3d101..84962a0 100644 --- a/contracts/juno_contracts.json +++ b/contracts/juno_contracts.json @@ -4,8 +4,8 @@ "protocol": "loop", "token1_denom": "juno1qsrercqegvs4ye0yqg93knv73ye5dc3prqwd6jcdcuj8ggp6w0us66deup", "token2_denom": "ujuno", - "token1_reserves": 1731118869328, - "token2_reserves": 12577533979, + "token1_reserves": 2088185530475, + "token2_reserves": 10334522545, "lp_fee": 0.00145, "protocol_fee": 0.00145, "fee_from_input": false, @@ -20,16 +20,31 @@ "juno1dl8zdygs57lcwm3e9tnq4pdmmp8nhhf08jcne72nsjkf7qntfz3s0e99x3", "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh" ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1dl8zdygs57lcwm3e9tnq4pdmmp8nhhf08jcne72nsjkf7qntfz3s0e99x3", + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3" + ], [ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno1utkr0ep06rkxgsesq6uryug93daklyd6wneesmtvxjkz0xjlte9qdj2s8q", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1utkr0ep06rkxgsesq6uryug93daklyd6wneesmtvxjkz0xjlte9qdj2s8q", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], [ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno1mz8yzrgyp9mmq9aksxgpy83vmu8p4j8h3qyf9waxcd2epchqx5ps0ekj27", "juno1jz50fj5zkcv3h6hmcfr3nr6eer7rj5pmsry5qj5jc8rfvpeavyzsgknm83" ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1mz8yzrgyp9mmq9aksxgpy83vmu8p4j8h3qyf9waxcd2epchqx5ps0ekj27", + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y" + ], [ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno16sljr0c7fj00s8dnhe0ql8nn40ca9v3fyuga3svnq860fzal5s2qw02j0t", @@ -39,6 +54,11 @@ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno16sljr0c7fj00s8dnhe0ql8nn40ca9v3fyuga3svnq860fzal5s2qw02j0t", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" + ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno16sljr0c7fj00s8dnhe0ql8nn40ca9v3fyuga3svnq860fzal5s2qw02j0t", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" ] ], "input_reserves": 0, @@ -60,8 +80,8 @@ "protocol": "junoswap", "token1_denom": "juno1qsrercqegvs4ye0yqg93knv73ye5dc3prqwd6jcdcuj8ggp6w0us66deup", "token2_denom": "juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g", - "token1_reserves": 676491809, - "token2_reserves": 13700722142, + "token1_reserves": 215492790, + "token2_reserves": 31564048731, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -85,8 +105,8 @@ "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 1134531610715, - "token2_reserves": 117059478778, + "token1_reserves": 79184009467, + "token2_reserves": 9132021400, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -106,6 +126,11 @@ "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], [ "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", @@ -126,15 +151,45 @@ "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], [ "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], [ "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" ] ], "input_reserves": 0, @@ -156,8 +211,8 @@ "protocol": "loop", "token1_denom": "juno1wwnhkagvcd3tjz6f8vsdsw5plqnw8qy2aj3rrhqr2axvktzv9q2qz8jxn3", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 7976361250, - "token2_reserves": 796977063, + "token1_reserves": 5224984556, + "token2_reserves": 562861029, "lp_fee": 0.00145, "protocol_fee": 0.00145, "fee_from_input": false, @@ -172,6 +227,11 @@ "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", @@ -181,6 +241,26 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno17v2d2993me50e6dgzx50ckuuah0vmfyanl0segxsdcg3s4qzqersyrvu8n" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" ] ], "input_reserves": 0, @@ -202,8 +282,8 @@ "protocol": "junoswap", "token1_denom": "juno1wwnhkagvcd3tjz6f8vsdsw5plqnw8qy2aj3rrhqr2axvktzv9q2qz8jxn3", "token2_denom": "ujuno", - "token1_reserves": 5677032394, - "token2_reserves": 5511067512, + "token1_reserves": 193301025, + "token2_reserves": 181847136, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -222,6 +302,11 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", "juno17v2d2993me50e6dgzx50ckuuah0vmfyanl0segxsdcg3s4qzqersyrvu8n" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno17v2d2993me50e6dgzx50ckuuah0vmfyanl0segxsdcg3s4qzqersyrvu8n" ] ], "input_reserves": 0, @@ -243,8 +328,8 @@ "protocol": "loop", "token1_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", "token2_denom": "ujuno", - "token1_reserves": 3018638209, - "token2_reserves": 3463759042, + "token1_reserves": 2166762433, + "token2_reserves": 2464074747, "lp_fee": 0.002175, "protocol_fee": 0.000725, "fee_from_input": false, @@ -254,10 +339,35 @@ "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" ] ], "input_reserves": 0, @@ -279,8 +389,8 @@ "protocol": "junoswap", "token1_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", "token2_denom": "juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g", - "token1_reserves": 39380, - "token2_reserves": 188955221, + "token1_reserves": 39242, + "token2_reserves": 196335499, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -304,8 +414,8 @@ "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "ibc/2DA4136457810BCB9DAAB620CA67BC342B17C3C70151CA70490A170DF7C9CB27", - "token1_reserves": 2956939289, - "token2_reserves": 172318524892, + "token1_reserves": 2712551571, + "token2_reserves": 187189891589, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -335,8 +445,8 @@ "protocol": "junoswap", "token1_denom": "juno17c7zyezg3m8p2tf9hqgue9jhahvle70d59e8j9nmrvhw9anrpk8qxlrghx", "token2_denom": "ibc/2DA4136457810BCB9DAAB620CA67BC342B17C3C70151CA70490A170DF7C9CB27", - "token1_reserves": 3678931261128253, - "token2_reserves": 68010887386, + "token1_reserves": 3571052179286468, + "token2_reserves": 70300915885, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -366,8 +476,8 @@ "protocol": "junoswap", "token1_denom": "juno17c7zyezg3m8p2tf9hqgue9jhahvle70d59e8j9nmrvhw9anrpk8qxlrghx", "token2_denom": "ujuno", - "token1_reserves": 3564086585847826, - "token2_reserves": 1138749647, + "token1_reserves": 3717673380840907, + "token2_reserves": 1064196854, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -382,6 +492,11 @@ "juno1wjpdhpv7x5cusg028xglazr8ldxr7cnm0tss8sd9pg4r959rlgtqjkf70x", "juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm" ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1wjpdhpv7x5cusg028xglazr8ldxr7cnm0tss8sd9pg4r959rlgtqjkf70x", + "juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm" + ], [ "juno1hue3dnrtgf9ly2frnnvf8z5u7e224ctc4hk7wks2xumeu3arj6rs9vgzec", "juno1qg9m2zdqaxx4udxxyun4cjq5myazlldymdmhkuy7fmvretyxz92q89zdvv", @@ -412,8 +527,8 @@ "protocol": "junoswap", "token1_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", "token2_denom": "ujuno", - "token1_reserves": 3685804587, - "token2_reserves": 4229154950, + "token1_reserves": 9414625, + "token2_reserves": 10642699, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -423,10 +538,35 @@ "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" ] ], "input_reserves": 0, @@ -448,8 +588,8 @@ "protocol": "loop", "token1_denom": "juno1qsrercqegvs4ye0yqg93knv73ye5dc3prqwd6jcdcuj8ggp6w0us66deup", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 1637474396318, - "token2_reserves": 1228079438, + "token1_reserves": 1522411451224, + "token2_reserves": 862918213, "lp_fee": 0.002175, "protocol_fee": 0.000725, "fee_from_input": false, @@ -463,6 +603,11 @@ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno1dl8zdygs57lcwm3e9tnq4pdmmp8nhhf08jcne72nsjkf7qntfz3s0e99x3", "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh" + ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1dl8zdygs57lcwm3e9tnq4pdmmp8nhhf08jcne72nsjkf7qntfz3s0e99x3", + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3" ] ], "input_reserves": 0, @@ -484,8 +629,8 @@ "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034", - "token1_reserves": 305558063399, - "token2_reserves": 401749763118, + "token1_reserves": 5256060841, + "token2_reserves": 8296195876, "lp_fee": 0.002, "protocol_fee": 0.002, "fee_from_input": true, @@ -505,10 +650,20 @@ "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" + ], [ "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642", "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642", + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" ] ], "input_reserves": 0, @@ -530,8 +685,8 @@ "protocol": "loop", "token1_denom": "juno1qsrercqegvs4ye0yqg93knv73ye5dc3prqwd6jcdcuj8ggp6w0us66deup", "token2_denom": "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034", - "token1_reserves": 2516190516201, - "token2_reserves": 24020014155, + "token1_reserves": 2751111063655, + "token2_reserves": 21460956741, "lp_fee": 0.00145, "protocol_fee": 0.00145, "fee_from_input": false, @@ -540,6 +695,11 @@ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno1utkr0ep06rkxgsesq6uryug93daklyd6wneesmtvxjkz0xjlte9qdj2s8q", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" + ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1utkr0ep06rkxgsesq6uryug93daklyd6wneesmtvxjkz0xjlte9qdj2s8q", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" ] ], "input_reserves": 0, @@ -561,8 +721,8 @@ "protocol": "junoswap", "token1_denom": "juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq", "token2_denom": "ujuno", - "token1_reserves": 112767441369334, - "token2_reserves": 3101487832, + "token1_reserves": 122336929911300, + "token2_reserves": 2925027950, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -577,6 +737,11 @@ "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", "juno1xf32js0lc6v7quxj5twuna97hwff7dhkz6psujavvknh2yzty5uq6wut8j" ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", + "juno1xf32js0lc6v7quxj5twuna97hwff7dhkz6psujavvknh2yzty5uq6wut8j" + ], [ "juno1xf32js0lc6v7quxj5twuna97hwff7dhkz6psujavvknh2yzty5uq6wut8j", "juno180jzqh7vefwuks6eyvf0lkecdl2mp8u08d844245faunja969p3s8w3t3q", @@ -602,8 +767,8 @@ "protocol": "junoswap", "token1_denom": "juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 49673319557731, - "token2_reserves": 141064376, + "token1_reserves": 50942364556824, + "token2_reserves": 139323446, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -617,6 +782,11 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", "juno1xf32js0lc6v7quxj5twuna97hwff7dhkz6psujavvknh2yzty5uq6wut8j" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", + "juno1xf32js0lc6v7quxj5twuna97hwff7dhkz6psujavvknh2yzty5uq6wut8j" ] ], "input_reserves": 0, @@ -638,8 +808,8 @@ "protocol": "junoswap", "token1_denom": "juno17c7zyezg3m8p2tf9hqgue9jhahvle70d59e8j9nmrvhw9anrpk8qxlrghx", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 6769068068817540, - "token2_reserves": 222719818, + "token1_reserves": 6703467223786559, + "token2_reserves": 219081004, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -653,6 +823,11 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1wjpdhpv7x5cusg028xglazr8ldxr7cnm0tss8sd9pg4r959rlgtqjkf70x", "juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1wjpdhpv7x5cusg028xglazr8ldxr7cnm0tss8sd9pg4r959rlgtqjkf70x", + "juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm" ] ], "input_reserves": 0, @@ -674,8 +849,8 @@ "protocol": "junoswap", "token1_denom": "juno17c7zyezg3m8p2tf9hqgue9jhahvle70d59e8j9nmrvhw9anrpk8qxlrghx", "token2_denom": "juno1vaeuky9hqacenay9nmuualugvv54tdhyt2wsvhnjasx9s946hhmqaq3kh7", - "token1_reserves": 1094782513887915, - "token2_reserves": 291760094883274455, + "token1_reserves": 1012382475667310, + "token2_reserves": 316308448743814615, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -705,8 +880,8 @@ "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "juno1vaeuky9hqacenay9nmuualugvv54tdhyt2wsvhnjasx9s946hhmqaq3kh7", - "token1_reserves": 126777869, - "token2_reserves": 106691020699634148, + "token1_reserves": 106809352, + "token2_reserves": 115701446620432737, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -736,8 +911,8 @@ "protocol": "junoswap", "token1_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 6438908688, - "token2_reserves": 763083795, + "token1_reserves": 10254870, + "token2_reserves": 1323518, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -752,6 +927,11 @@ "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", @@ -761,6 +941,26 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" ] ], "input_reserves": 0, @@ -782,8 +982,8 @@ "protocol": "junoswap", "token1_denom": "juno1y9rf7ql6ffwkv02hsgd4yruz23pn4w97p75e2slsnkm0mnamhzysvqnxaq", "token2_denom": "juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl", - "token1_reserves": 46886285596085, - "token2_reserves": 657744, + "token1_reserves": 42958263551094, + "token2_reserves": 757676, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -813,8 +1013,8 @@ "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "juno1g2g7ucurum66d42g8k5twk34yegdq8c82858gz0tq2fc75zy7khssgnhjl", - "token1_reserves": 953567290, - "token2_reserves": 487849, + "token1_reserves": 717304159, + "token2_reserves": 526050, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -844,8 +1044,8 @@ "protocol": "junoswap", "token1_denom": "juno1wwnhkagvcd3tjz6f8vsdsw5plqnw8qy2aj3rrhqr2axvktzv9q2qz8jxn3", "token2_denom": "ujuno", - "token1_reserves": 2949418, - "token2_reserves": 2902898, + "token1_reserves": 3043351, + "token2_reserves": 2813564, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -864,6 +1064,11 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" ] ], "input_reserves": 0, @@ -885,8 +1090,8 @@ "protocol": "loop", "token1_denom": "juno1qsrercqegvs4ye0yqg93knv73ye5dc3prqwd6jcdcuj8ggp6w0us66deup", "token2_denom": "juno14lycavan8gvpjn97aapzvwmsj8kyrvf644p05r0hu79namyj3ens87650k", - "token1_reserves": 55319107615, - "token2_reserves": 52748946536, + "token1_reserves": 68342283966, + "token2_reserves": 42069110127, "lp_fee": 0.002175, "protocol_fee": 0.000725, "fee_from_input": false, @@ -895,6 +1100,11 @@ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno1mz8yzrgyp9mmq9aksxgpy83vmu8p4j8h3qyf9waxcd2epchqx5ps0ekj27", "juno1jz50fj5zkcv3h6hmcfr3nr6eer7rj5pmsry5qj5jc8rfvpeavyzsgknm83" + ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1mz8yzrgyp9mmq9aksxgpy83vmu8p4j8h3qyf9waxcd2epchqx5ps0ekj27", + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y" ] ], "input_reserves": 0, @@ -916,8 +1126,8 @@ "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "juno14lycavan8gvpjn97aapzvwmsj8kyrvf644p05r0hu79namyj3ens87650k", - "token1_reserves": 1892080764, - "token2_reserves": 249273079163, + "token1_reserves": 45024087, + "token2_reserves": 5552998130, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, @@ -926,6 +1136,11 @@ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno1mz8yzrgyp9mmq9aksxgpy83vmu8p4j8h3qyf9waxcd2epchqx5ps0ekj27", "juno1jz50fj5zkcv3h6hmcfr3nr6eer7rj5pmsry5qj5jc8rfvpeavyzsgknm83" + ], + [ + "juno1jz50fj5zkcv3h6hmcfr3nr6eer7rj5pmsry5qj5jc8rfvpeavyzsgknm83", + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" ] ], "input_reserves": 0, @@ -942,42 +1157,28 @@ "token1_type": "native", "token2_type": "cw20" }, - "juno17h4sgpaksygdnswpx74szv98hggddc08ny4zv5ca63jv53qptxrshacvku": { - "contract_address": "juno17h4sgpaksygdnswpx74szv98hggddc08ny4zv5ca63jv53qptxrshacvku", - "protocol": "junoswap", - "token1_denom": "juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g", - "token2_denom": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", - "token1_reserves": 9354952906075, - "token2_reserves": 15298129111, - "lp_fee": 0.002, - "protocol_fee": 0.002, - "fee_from_input": true, - "routes": [], - "input_reserves": 0, - "output_reserves": 0, - "input_token": "", - "output_token": "", - "input_denom": "", - "output_denom": "", - "amount_in": 0, - "amount_out": 0, - "DEFAULT_LP_FEE": 0.003, - "DEFAULT_PROTOCOL_FEE": 0.0, - "DEFAULT_FEE_FROM_INPUT": true, - "token1_type": "cw20", - "token2_type": "native" - }, "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v": { "contract_address": "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", "protocol": "junoswap", "token1_denom": "ujuno", "token2_denom": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", - "token1_reserves": 134371156155, - "token2_reserves": 207683351303, + "token1_reserves": 6905160154, + "token2_reserves": 10389719530, "lp_fee": 0.003, "protocol_fee": 0.0, "fee_from_input": true, - "routes": [], + "routes": [ + [ + "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], "input_reserves": 0, "output_reserves": 0, "input_token": "", @@ -997,8 +1198,8 @@ "protocol": "white_whale", "token1_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", "token2_denom": "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034", - "token1_reserves": 43427722, - "token2_reserves": 555957025, + "token1_reserves": 64638189, + "token2_reserves": 885244184, "lp_fee": 0.002, "protocol_fee": 0.001, "fee_from_input": false, @@ -1008,10 +1209,30 @@ "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" ] ], "input_reserves": 0, @@ -1033,8 +1254,8 @@ "protocol": "loop", "token1_denom": "juno1wwnhkagvcd3tjz6f8vsdsw5plqnw8qy2aj3rrhqr2axvktzv9q2qz8jxn3", "token2_denom": "juno1qsrercqegvs4ye0yqg93knv73ye5dc3prqwd6jcdcuj8ggp6w0us66deup", - "token1_reserves": 4497787900, - "token2_reserves": 599360128401, + "token1_reserves": 3507988999, + "token2_reserves": 663792570369, "lp_fee": 0.00145, "protocol_fee": 0.00145, "fee_from_input": false, @@ -1048,6 +1269,11 @@ "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", "juno16sljr0c7fj00s8dnhe0ql8nn40ca9v3fyuga3svnq860fzal5s2qw02j0t", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" + ], + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno16sljr0c7fj00s8dnhe0ql8nn40ca9v3fyuga3svnq860fzal5s2qw02j0t", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" ] ], "input_reserves": 0, @@ -1069,8 +1295,8 @@ "protocol": "white_whale", "token1_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", "token2_denom": "ujuno", - "token1_reserves": 34292844, - "token2_reserves": 331695532, + "token1_reserves": 36643913, + "token2_reserves": 320904635, "lp_fee": 0.002, "protocol_fee": 0.001, "fee_from_input": false, @@ -1090,6 +1316,11 @@ "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", @@ -1110,15 +1341,45 @@ "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], [ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" ] ], "input_reserves": 0, @@ -1143,7 +1404,7 @@ "token1_reserves": 11425, "token2_reserves": 17508, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [], "input_reserves": 0, @@ -1155,7 +1416,7 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "cw20" @@ -1165,10 +1426,10 @@ "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "ibc/D836B191CDAE8EDACDEBE7B64B504C5E06CC17C6A072DAF278F9A96DF66F6241", - "token1_reserves": 3711414051, - "token2_reserves": 10751519089918, + "token1_reserves": 16017548163, + "token2_reserves": 71720333149662, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [], "input_reserves": 0, @@ -1180,7 +1441,7 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "native" @@ -1190,10 +1451,10 @@ "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", - "token1_reserves": 13589787772, - "token2_reserves": 261267593, + "token1_reserves": 57966218096, + "token2_reserves": 2087717657, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [ [ @@ -1205,6 +1466,11 @@ "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" ] ], "input_reserves": 0, @@ -1216,7 +1482,7 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "native" @@ -1226,10 +1492,10 @@ "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z", - "token1_reserves": 8912577227, - "token2_reserves": 576437024, + "token1_reserves": 48499164873, + "token2_reserves": 2148722105, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [ [ @@ -1247,7 +1513,7 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "cw20" @@ -1257,12 +1523,18 @@ "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr", - "token1_reserves": 4485242611, - "token2_reserves": 30687639, + "token1_reserves": 25615479459, + "token2_reserves": 254170225, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, - "routes": [], + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno19kfk94nqz7ehdmkk5a9hcl8qxq9kksupqzurz9gsgs4tk5xlgqqqrr067a", + "juno1h6x5jlvn6jhpnu63ufe4sgv4utyk8hsfl5rqnrpg2cvp6ccuq4lqwqnzra" + ] + ], "input_reserves": 0, "output_reserves": 0, "input_token": "", @@ -1272,41 +1544,162 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "cw20" }, - "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25": { - "contract_address": "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1d7tz6q4ky06stcrquyuge6rujp9gsa6y4v7qzaa02rm0cj8gzznszc5ftj": { + "contract_address": "juno1d7tz6q4ky06stcrquyuge6rujp9gsa6y4v7qzaa02rm0cj8gzznszc5ftj", "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", - "token2_denom": "ujuno", - "token1_reserves": 17769174847, - "token2_reserves": 3262582388, + "token2_denom": "juno1g647t78y2ulqlm3lss8rs3d0spzd0teuwhdvnqn92tr79yltk9dq2h24za", + "token1_reserves": 411664646, + "token2_reserves": 50576992422, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, - "routes": [ - [ - "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", - "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", - "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" - ], - [ - "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", - "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", - "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1f6hyczl2yn6gwrh0yqwr0mjpzqywcy5p80ntn40cn7ha0etqtl3qs6xfv3": { + "contract_address": "juno1f6hyczl2yn6gwrh0yqwr0mjpzqywcy5p80ntn40cn7ha0etqtl3qs6xfv3", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1vn38rzq0wc7zczp4dhy0h5y5kxh2jjzeahwe30c9cc6dw3lkyk5qn5rmfa", + "token1_reserves": 1503904024, + "token2_reserves": 14843510, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1f6hyczl2yn6gwrh0yqwr0mjpzqywcy5p80ntn40cn7ha0etqtl3qs6xfv3", + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25": { + "contract_address": "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "ujuno", + "token1_reserves": 91840683158, + "token2_reserves": 28856611263, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" ], [ "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642", "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" ], + [ + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1jz50fj5zkcv3h6hmcfr3nr6eer7rj5pmsry5qj5jc8rfvpeavyzsgknm83", + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y", + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], [ "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", "juno185jw0uh2v9zn8zfhulu2akxxplcd7fjnkvmp84tkjgtadyuxruzsjnexnw", "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno19kfk94nqz7ehdmkk5a9hcl8qxq9kksupqzurz9gsgs4tk5xlgqqqrr067a", + "juno1h6x5jlvn6jhpnu63ufe4sgv4utyk8hsfl5rqnrpg2cvp6ccuq4lqwqnzra" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1f6hyczl2yn6gwrh0yqwr0mjpzqywcy5p80ntn40cn7ha0etqtl3qs6xfv3", + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1hmt7nw863s2alr5efnnj8tmxprdlvzcepna4htaujq74zgmm25ksyl9u4h", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno10r6qwpxjs4g0zmdxpmj0dqhj3dmj3pzm9wp8q3mm3utzlqzptagq4vf6l2", + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1qxajeku5f0qxyl2vcush475r62um20v7aqzhvr0sgv2m00ela9qsw5sn85", + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1x4eck8gaphsk97cm78glc5jqarqe7492l4wwegqavlmzf5e3n4qqmjvtvq", + "juno1mz5uz38h89dxj6c8w69rg7l060p8vq8pfetykk2gvrrxhjcsa5yqru9g7v" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1y5adnxk64ggdhckdhc56gss6696qr2y30pzmjydyhh8r53pqerdsq6aky6", + "juno1ptdt6dg7ke6rn5k8xr8kh87zjnxhp832l5q07y3c9htz8z88cptqlthu5f" ] ], "input_reserves": 0, @@ -1318,7 +1711,7 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "native" @@ -1328,10 +1721,10 @@ "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "juno13926947pmrjly5p9hf5juey65c6rget0gqrnx3us3r6pvnpf4hwqm8mchy", - "token1_reserves": 8182704629, - "token2_reserves": 2053873607846, + "token1_reserves": 46613496613, + "token2_reserves": 5834969007088, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [], "input_reserves": 0, @@ -1343,7 +1736,38 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1hmt7nw863s2alr5efnnj8tmxprdlvzcepna4htaujq74zgmm25ksyl9u4h": { + "contract_address": "juno1hmt7nw863s2alr5efnnj8tmxprdlvzcepna4htaujq74zgmm25ksyl9u4h", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token1_reserves": 463013447, + "token2_reserves": 859231939, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1hmt7nw863s2alr5efnnj8tmxprdlvzcepna4htaujq74zgmm25ksyl9u4h", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "cw20" @@ -1356,7 +1780,7 @@ "token1_reserves": 8570, "token2_reserves": 11670, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [], "input_reserves": 0, @@ -1368,26 +1792,56 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "native", "token2_type": "cw20" }, + "juno1pdal0fr38tfjuslpq3ne68242zsfs30t6rda2dnmfmjv2skk8z6qgmrrer": { + "contract_address": "juno1pdal0fr38tfjuslpq3ne68242zsfs30t6rda2dnmfmjv2skk8z6qgmrrer", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno14q8kk464fafql2fwmlsgvgcdl6h2csqpzv4hr025fmcvgjahpess32k0j7", + "token1_reserves": 303188277, + "token2_reserves": 49479820199, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a": { "contract_address": "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034", - "token1_reserves": 9481788628, - "token2_reserves": 2305235632, + "token1_reserves": 53462415536, + "token2_reserves": 25815172143, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [ [ "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642", "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" ] ], "input_reserves": 0, @@ -1399,7 +1853,7 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "native" @@ -1409,10 +1863,10 @@ "protocol": "hopers", "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", "token2_denom": "juno15u3dt79t6sxxa3x3kpkhzsy56edaa5a66wvt3kxmukqjz2sx0hes5sn38g", - "token1_reserves": 25882827, - "token2_reserves": 13223889369, + "token1_reserves": 10912573, + "token2_reserves": 107974174940, "lp_fee": 0.0, - "protocol_fee": 0.005, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [], "input_reserves": 0, @@ -1424,26 +1878,26 @@ "amount_in": 0, "amount_out": 0, "DEFAULT_LP_FEE": 0.0, - "DEFAULT_PROTOCOL_FEE": 0.005, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, "token1_type": "cw20", "token2_type": "cw20" }, - "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu": { - "contract_address": "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu", - "protocol": "junoswap", - "token1_denom": "ujuno", - "token2_denom": "juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z", - "token1_reserves": 800863181, - "token2_reserves": 281818928, - "lp_fee": 0.003, - "protocol_fee": 0.0, + "juno10r6qwpxjs4g0zmdxpmj0dqhj3dmj3pzm9wp8q3mm3utzlqzptagq4vf6l2": { + "contract_address": "juno10r6qwpxjs4g0zmdxpmj0dqhj3dmj3pzm9wp8q3mm3utzlqzptagq4vf6l2", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1hnftys64ectjfynm6qjk9my8jd3f6l9dq9utcd3dy8ehwrsx9q4q7n9uxt", + "token1_reserves": 14370624, + "token2_reserves": 1120668948, + "lp_fee": 0.0, + "protocol_fee": 0.01, "fee_from_input": true, "routes": [ [ "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", - "juno185jw0uh2v9zn8zfhulu2akxxplcd7fjnkvmp84tkjgtadyuxruzsjnexnw", - "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu" + "juno10r6qwpxjs4g0zmdxpmj0dqhj3dmj3pzm9wp8q3mm3utzlqzptagq4vf6l2", + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475" ] ], "input_reserves": 0, @@ -1454,10 +1908,1317 @@ "output_denom": "", "amount_in": 0, "amount_out": 0, - "DEFAULT_LP_FEE": 0.003, - "DEFAULT_PROTOCOL_FEE": 0.0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, "DEFAULT_FEE_FROM_INPUT": true, - "token1_type": "native", + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1anhnfk68epxhj59s3qghv9duudkulkyjthqz8x08d0nm289y8y2svrcchc": { + "contract_address": "juno1anhnfk68epxhj59s3qghv9duudkulkyjthqz8x08d0nm289y8y2svrcchc", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno147t4fd3tny6hws6rha9xs5gah9qa6g7hrjv9tuvv6ce6m25sy39sq6yv52", + "token1_reserves": 3488826616, + "token2_reserves": 169663190011, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr": { + "contract_address": "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno14lycavan8gvpjn97aapzvwmsj8kyrvf644p05r0hu79namyj3ens87650k", + "token1_reserves": 740343870, + "token2_reserves": 28545928193, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1jz50fj5zkcv3h6hmcfr3nr6eer7rj5pmsry5qj5jc8rfvpeavyzsgknm83", + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y", + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1qxajeku5f0qxyl2vcush475r62um20v7aqzhvr0sgv2m00ela9qsw5sn85": { + "contract_address": "juno1qxajeku5f0qxyl2vcush475r62um20v7aqzhvr0sgv2m00ela9qsw5sn85", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1x02k67asfmjawgc96dj8nxq6se3fmx36gedgs5hvkjegdhfy97rs3jgj2h", + "token1_reserves": 18679031, + "token2_reserves": 53636896, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1qxajeku5f0qxyl2vcush475r62um20v7aqzhvr0sgv2m00ela9qsw5sn85", + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1slsy2j7u7hq2l02yasczamy40d6n7qv7n4mtpwddx9cmsrf0lv2sywpweh": { + "contract_address": "juno1slsy2j7u7hq2l02yasczamy40d6n7qv7n4mtpwddx9cmsrf0lv2sywpweh", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1s2dp05rspeuzzpzyzdchk262szehrtfpz847uvf98cnwh53ulx4qg20qwj", + "token1_reserves": 1685929821, + "token2_reserves": 1007777217, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", "token2_type": "cw20" + }, + "juno1x4eck8gaphsk97cm78glc5jqarqe7492l4wwegqavlmzf5e3n4qqmjvtvq": { + "contract_address": "juno1x4eck8gaphsk97cm78glc5jqarqe7492l4wwegqavlmzf5e3n4qqmjvtvq", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa", + "token1_reserves": 6654854593, + "token2_reserves": 14502972642, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1x4eck8gaphsk97cm78glc5jqarqe7492l4wwegqavlmzf5e3n4qqmjvtvq", + "juno1mz5uz38h89dxj6c8w69rg7l060p8vq8pfetykk2gvrrxhjcsa5yqru9g7v" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee": { + "contract_address": "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", + "token1_reserves": 30633555182, + "token2_reserves": 14319284141, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "native" + }, + "juno1y5adnxk64ggdhckdhc56gss6696qr2y30pzmjydyhh8r53pqerdsq6aky6": { + "contract_address": "juno1y5adnxk64ggdhckdhc56gss6696qr2y30pzmjydyhh8r53pqerdsq6aky6", + "protocol": "hopers", + "token1_denom": "juno1u45shlp0q4gcckvsj06ss4xuvsu0z24a0d0vr9ce6r24pht4e5xq7q995n", + "token2_denom": "juno1j0a9ymgngasfn3l5me8qpd53l5zlm9wurfdk7r65s5mg6tkxal3qpgf5se", + "token1_reserves": 10890740, + "token2_reserves": 6916177662, + "lp_fee": 0.0, + "protocol_fee": 0.01, + "fee_from_input": true, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1y5adnxk64ggdhckdhc56gss6696qr2y30pzmjydyhh8r53pqerdsq6aky6", + "juno1ptdt6dg7ke6rn5k8xr8kh87zjnxhp832l5q07y3c9htz8z88cptqlthu5f" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.0, + "DEFAULT_PROTOCOL_FEE": 0.01, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "cw20", + "token2_type": "cw20" + }, + "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu": { + "contract_address": "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu", + "protocol": "junoswap", + "token1_denom": "ujuno", + "token2_denom": "juno1re3x67ppxap48ygndmrc7har2cnc7tcxtm9nplcas4v0gc3wnmvs3s807z", + "token1_reserves": 394015875, + "token2_reserves": 56937601, + "lp_fee": 0.003, + "protocol_fee": 0.0, + "fee_from_input": true, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno185jw0uh2v9zn8zfhulu2akxxplcd7fjnkvmp84tkjgtadyuxruzsjnexnw", + "juno18nflutunkth2smnh257sxtxn9p5tq6632kqgsw6h0c02wzpnq9rq927heu" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.003, + "DEFAULT_PROTOCOL_FEE": 0.0, + "DEFAULT_FEE_FROM_INPUT": true, + "token1_type": "native", + "token2_type": "cw20" + }, + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z": { + "contract_address": "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "protocol": "wyndex", + "token1_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", + "token2_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", + "token1_reserves": 692972217, + "token2_reserves": 5339242831, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5": { + "contract_address": "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", + "token1_reserves": 2444048892, + "token2_reserves": 47007612, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "native" + }, + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3": { + "contract_address": "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", + "token1_reserves": 958503751748, + "token2_reserves": 110210886466, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1dl8zdygs57lcwm3e9tnq4pdmmp8nhhf08jcne72nsjkf7qntfz3s0e99x3", + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno17v2d2993me50e6dgzx50ckuuah0vmfyanl0segxsdcg3s4qzqersyrvu8n" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1maj5xlggctfwm6ct6x2e3456zxm8chadq9prqxl9kjxzzs9edalsk5wzwh" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1nljy8gst5agtc0zstfjytf2hrnj8vcxgcdzrp4qj7k2dcnrfz4wsu6ty4f", + "juno1xf32js0lc6v7quxj5twuna97hwff7dhkz6psujavvknh2yzty5uq6wut8j" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1wjpdhpv7x5cusg028xglazr8ldxr7cnm0tss8sd9pg4r959rlgtqjkf70x", + "juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno17estllyc6qyq6tlxg9hv4xwcy069fuu0rmytvkw6xskchcq9czxsd5fd98", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "native" + }, + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve": { + "contract_address": "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034", + "token1_reserves": 6695809204, + "token2_reserves": 1768073322, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642", + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "native" + }, + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj": { + "contract_address": "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034", + "token1_reserves": 260404761935, + "token2_reserves": 412212633629, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1utkr0ep06rkxgsesq6uryug93daklyd6wneesmtvxjkz0xjlte9qdj2s8q", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1v6stcdrvwrthfvcwvlmmzht32ft9g9nw85tthcjqer242xg3nvdq8fjasx", + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj" + ], + [ + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "native" + }, + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl": { + "contract_address": "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", + "token1_reserves": 253336103274, + "token2_reserves": 64771573067, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "native" + }, + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt": { + "contract_address": "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", + "token1_reserves": 122392763110, + "token2_reserves": 184719755213, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno1xw9a3zsrulhf2gvq9ed9zjjzl22hp2r5wqq3yp7s5vuleqmg7jrqtyq0ee", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ], + [ + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "native" + }, + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y": { + "contract_address": "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno14lycavan8gvpjn97aapzvwmsj8kyrvf644p05r0hu79namyj3ens87650k", + "token1_reserves": 1883316030, + "token2_reserves": 233036736750, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno1mz8yzrgyp9mmq9aksxgpy83vmu8p4j8h3qyf9waxcd2epchqx5ps0ekj27", + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y" + ], + [ + "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y", + "juno1n620wt5rct3vaxd8ewxkuyrlyhh2wuwjj8cj2jmus2ea56wphfwsk4zytr", + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1h6x5jlvn6jhpnu63ufe4sgv4utyk8hsfl5rqnrpg2cvp6ccuq4lqwqnzra": { + "contract_address": "juno1h6x5jlvn6jhpnu63ufe4sgv4utyk8hsfl5rqnrpg2cvp6ccuq4lqwqnzra", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr", + "token1_reserves": 68950626615, + "token2_reserves": 2202477467, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno19kfk94nqz7ehdmkk5a9hcl8qxq9kksupqzurz9gsgs4tk5xlgqqqrr067a", + "juno1h6x5jlvn6jhpnu63ufe4sgv4utyk8hsfl5rqnrpg2cvp6ccuq4lqwqnzra" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno16vvu2fjrgg6rnddrcvtaeukzl3weau63gc3d3c7mvq05ygnzklvs3peqmt": { + "contract_address": "juno16vvu2fjrgg6rnddrcvtaeukzl3weau63gc3d3c7mvq05ygnzklvs3peqmt", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno19rqljkh95gh40s7qdx40ksx3zq5tm4qsmsrdz9smw668x9zdr3lqtg33mf", + "token1_reserves": 989979877, + "token2_reserves": 86954935979, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq": { + "contract_address": "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", + "token1_reserves": 7888787491, + "token2_reserves": 1183601137, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "token" + }, + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9": { + "contract_address": "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv", + "token1_reserves": 4911398353, + "token2_reserves": 4333367734, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1fha0ux5k6xxzzknhwk0j2rtwxtczlp8kzk6w9g383lzjhu337k9swvjdlv", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9" + ], + [ + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno14ke9xn3qfmnjsrh9lh6rfu7zmm90duvj4lpkcrrnzemh0tjpwarqfk97n6": { + "contract_address": "juno14ke9xn3qfmnjsrh9lh6rfu7zmm90duvj4lpkcrrnzemh0tjpwarqfk97n6", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "juno1hnftys64ectjfynm6qjk9my8jd3f6l9dq9utcd3dy8ehwrsx9q4q7n9uxt", + "token1_reserves": 8019922994, + "token2_reserves": 345006854503, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475", + "juno14ke9xn3qfmnjsrh9lh6rfu7zmm90duvj4lpkcrrnzemh0tjpwarqfk97n6", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "token" + }, + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475": { + "contract_address": "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1hnftys64ectjfynm6qjk9my8jd3f6l9dq9utcd3dy8ehwrsx9q4q7n9uxt", + "token1_reserves": 803792756, + "token2_reserves": 203695084384, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno10r6qwpxjs4g0zmdxpmj0dqhj3dmj3pzm9wp8q3mm3utzlqzptagq4vf6l2", + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475" + ], + [ + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475", + "juno14ke9xn3qfmnjsrh9lh6rfu7zmm90duvj4lpkcrrnzemh0tjpwarqfk97n6", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1ptdt6dg7ke6rn5k8xr8kh87zjnxhp832l5q07y3c9htz8z88cptqlthu5f": { + "contract_address": "juno1ptdt6dg7ke6rn5k8xr8kh87zjnxhp832l5q07y3c9htz8z88cptqlthu5f", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1j0a9ymgngasfn3l5me8qpd53l5zlm9wurfdk7r65s5mg6tkxal3qpgf5se", + "token1_reserves": 12370308103, + "token2_reserves": 24559951786835, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1y5adnxk64ggdhckdhc56gss6696qr2y30pzmjydyhh8r53pqerdsq6aky6", + "juno1ptdt6dg7ke6rn5k8xr8kh87zjnxhp832l5q07y3c9htz8z88cptqlthu5f" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1ls5un4a8zyn4f05k0ekq5aa9uhn88y8362ww38elqfpcwllme0jqelamke": { + "contract_address": "juno1ls5un4a8zyn4f05k0ekq5aa9uhn88y8362ww38elqfpcwllme0jqelamke", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "juno1vn38rzq0wc7zczp4dhy0h5y5kxh2jjzeahwe30c9cc6dw3lkyk5qn5rmfa", + "token1_reserves": 4030863026, + "token2_reserves": 21884175, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1ls5un4a8zyn4f05k0ekq5aa9uhn88y8362ww38elqfpcwllme0jqelamke", + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "token" + }, + "juno1q0f3nlghr350e7lhmxej3ev0j25m5caws5y4kyr5huawwr24hfkq74fsnq": { + "contract_address": "juno1q0f3nlghr350e7lhmxej3ev0j25m5caws5y4kyr5huawwr24hfkq74fsnq", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "juno1x02k67asfmjawgc96dj8nxq6se3fmx36gedgs5hvkjegdhfy97rs3jgj2h", + "token1_reserves": 11866516467, + "token2_reserves": 18747285951, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1q0f3nlghr350e7lhmxej3ev0j25m5caws5y4kyr5huawwr24hfkq74fsnq", + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "token" + }, + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf": { + "contract_address": "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "protocol": "wyndex", + "token1_denom": "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9", + "token2_denom": "ujuno", + "token1_reserves": 960285476995, + "token2_reserves": 162923294280, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1aagw3m89ze94v6e56k0eeemldrk8ajmtccmwer9ffrzduw3zuwds0w58xk", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1d04vn4t3cw494md0xleyqk6hxt8ctn5gmr353h06uvnudlvk5chq93vmjq", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9", + "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1ctsmp54v79x7ea970zejlyws50cj9pkrmw49x46085fn80znjmpqz2n642", + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1el6rfmz6h9pwpdlf6k2qf4dwt3y5wqd7k3xpyvytklsnkt9uv2aqe8aq4v", + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1hmt7nw863s2alr5efnnj8tmxprdlvzcepna4htaujq74zgmm25ksyl9u4h", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475", + "juno14ke9xn3qfmnjsrh9lh6rfu7zmm90duvj4lpkcrrnzemh0tjpwarqfk97n6", + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf" + ], + [ + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1ls5un4a8zyn4f05k0ekq5aa9uhn88y8362ww38elqfpcwllme0jqelamke", + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh" + ], + [ + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1q0f3nlghr350e7lhmxej3ev0j25m5caws5y4kyr5huawwr24hfkq74fsnq", + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "token", + "token2_type": "native" + }, + "juno1rcssjyqgr6vzalss77d43v30c2qpyzzg607ua8gte2shqgtvu24sg8gs8r": { + "contract_address": "juno1rcssjyqgr6vzalss77d43v30c2qpyzzg607ua8gte2shqgtvu24sg8gs8r", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1p8x807f6h222ur0vssqy3qk6mcpa40gw2pchquz5atl935t7kvyq894ne3", + "token1_reserves": 7734035651, + "token2_reserves": 461001489284, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1mz5uz38h89dxj6c8w69rg7l060p8vq8pfetykk2gvrrxhjcsa5yqru9g7v": { + "contract_address": "juno1mz5uz38h89dxj6c8w69rg7l060p8vq8pfetykk2gvrrxhjcsa5yqru9g7v", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0pa", + "token1_reserves": 7456528518, + "token2_reserves": 52281430108, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1x4eck8gaphsk97cm78glc5jqarqe7492l4wwegqavlmzf5e3n4qqmjvtvq", + "juno1mz5uz38h89dxj6c8w69rg7l060p8vq8pfetykk2gvrrxhjcsa5yqru9g7v" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno17jv00cm4f3twr548jzayu57g9txvd4zdh54mdg9qpjs7samlphjsykylsq": { + "contract_address": "juno17jv00cm4f3twr548jzayu57g9txvd4zdh54mdg9qpjs7samlphjsykylsq", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1rws84uz7969aaa7pej303udhlkt3j9ca0l3egpcae98jwak9quzq8szn2l", + "token1_reserves": 33904390712, + "token2_reserves": 1503631843, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh": { + "contract_address": "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1vn38rzq0wc7zczp4dhy0h5y5kxh2jjzeahwe30c9cc6dw3lkyk5qn5rmfa", + "token1_reserves": 2507692030, + "token2_reserves": 79892565, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1f6hyczl2yn6gwrh0yqwr0mjpzqywcy5p80ntn40cn7ha0etqtl3qs6xfv3", + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh" + ], + [ + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1ls5un4a8zyn4f05k0ekq5aa9uhn88y8362ww38elqfpcwllme0jqelamke", + "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy": { + "contract_address": "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1wwnhkagvcd3tjz6f8vsdsw5plqnw8qy2aj3rrhqr2axvktzv9q2qz8jxn3", + "token1_reserves": 6342903205, + "token2_reserves": 6730772002, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1qc8mrs3hmxm0genzrd92akja5r0v7mfm6uuwhktvzphhz9ygkp8ssl4q07", + "juno16sljr0c7fj00s8dnhe0ql8nn40ca9v3fyuga3svnq860fzal5s2qw02j0t", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], + [ + "juno1sg6chmktuhyj4lsrxrrdflem7gsnk4ejv6zkcc4d3vcqulzp55wsf4l4gl", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], + [ + "juno1p9z8xe96fyvg3h5gtvnpjjv2u47q6l7sdhg6asmyfgc6q8l8ttgqfvxnxh", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ], + [ + "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "juno1rw5cdwl6cxw882czan4x2ysp30zsm94l6jcqealg82vm2dl989ns63veh8", + "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h": { + "contract_address": "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h", + "protocol": "wyndex", + "token1_denom": "ujuno", + "token2_denom": "juno1x02k67asfmjawgc96dj8nxq6se3fmx36gedgs5hvkjegdhfy97rs3jgj2h", + "token1_reserves": 1531210042, + "token2_reserves": 14140796199, + "lp_fee": 0.002, + "protocol_fee": 0.001, + "fee_from_input": false, + "routes": [ + [ + "juno1g5j9vd76cqt7fsq22ne7jqfkz4v9ptkvh4jknsvwchpj753atwfs942a25", + "juno1qxajeku5f0qxyl2vcush475r62um20v7aqzhvr0sgv2m00ela9qsw5sn85", + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + ], + [ + "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1q0f3nlghr350e7lhmxej3ev0j25m5caws5y4kyr5huawwr24hfkq74fsnq", + "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + ] + ], + "input_reserves": 0, + "output_reserves": 0, + "input_token": "", + "output_token": "", + "input_denom": "", + "output_denom": "", + "amount_in": 0, + "amount_out": 0, + "DEFAULT_LP_FEE": 0.002, + "DEFAULT_PROTOCOL_FEE": 0.001, + "DEFAULT_FEE_FROM_INPUT": false, + "token1_type": "native", + "token2_type": "token" + }, + "juno1pctfpv9k03v0ff538pz8kkw5ujlptntzkwjg6c0lrtqv87s9k28qdtl50w": { + "contract_address": "juno1pctfpv9k03v0ff538pz8kkw5ujlptntzkwjg6c0lrtqv87s9k28qdtl50w", + "protocol": "wyndex", + "pair_pool_mapping": { + "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gv": "juno13lulw8mm9w8ww99dvr35tfaw5tdmwvc7xn6nsn28pnlre8uw7j6srce67z", + "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9": "juno16r20f55kp59l0v5ne6hzell3qu27jhuzrqmu59w2nxzcsnj90y0sh2m6p5", + "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9ujuno": "juno17uv02azt545ag23xq7whw6z3r3chw7jwztnr9lypugy62drq3caqeyd2r3", + "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9": "juno18zk9xqj9xjm0ry39jjam8qsysj7qh49xwt4qdfp9lgtrk08sd58s2n54ve", + "ibc/EAC38D55372F38F1AFD68DF7FE9EF762DCF69F26520643CF3F9D292A738D8034ujuno": "juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj", + "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9": "juno1s00g9axpxgmwcrlc6xqcxzcjmaqpxhftkx62xfh64xends8ls5dqyyjnnl", + "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518ujuno": "juno1u2pl8ql778655wakqmnhpln65q9pughd6jnrp93xwf4zakqjdh6qx3y9yt", + "juno14lycavan8gvpjn97aapzvwmsj8kyrvf644p05r0hu79namyj3ens87650kujuno": "juno1p3eed298qx3nyhs3grld07jrf9vjsjsmdd2kmmh3crk87emjcx5stp409y", + "juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awrujuno": "juno1h6x5jlvn6jhpnu63ufe4sgv4utyk8hsfl5rqnrpg2cvp6ccuq4lqwqnzra", + "juno19rqljkh95gh40s7qdx40ksx3zq5tm4qsmsrdz9smw668x9zdr3lqtg33mfujuno": "juno16vvu2fjrgg6rnddrcvtaeukzl3weau63gc3d3c7mvq05ygnzklvs3peqmt", + "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gvjuno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9": "juno1tndfgq4kfgm6wwvfem3uwqcpf4ac3cqfcf5df4efagucm32ywaasugr9mq", + "juno1dd0k0um5rqncfueza62w9sentdfh3ec4nw4aq4lk5hkjl63vljqscth9gvujuno": "juno177xtcl6dax47kg3xptr5n48kd7twmzm49ltugfxuc76x9v05qq6q63hsm9", + "juno1hnftys64ectjfynm6qjk9my8jd3f6l9dq9utcd3dy8ehwrsx9q4q7n9uxtjuno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9": "juno14ke9xn3qfmnjsrh9lh6rfu7zmm90duvj4lpkcrrnzemh0tjpwarqfk97n6", + "juno1hnftys64ectjfynm6qjk9my8jd3f6l9dq9utcd3dy8ehwrsx9q4q7n9uxtujuno": "juno1x9r54vejw4hnxe7xm4haaf0ymf825frm30xqf9cud6cmnrgkx9lsxpj475", + "juno1j0a9ymgngasfn3l5me8qpd53l5zlm9wurfdk7r65s5mg6tkxal3qpgf5seujuno": "juno1ptdt6dg7ke6rn5k8xr8kh87zjnxhp832l5q07y3c9htz8z88cptqlthu5f", + "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9juno1vn38rzq0wc7zczp4dhy0h5y5kxh2jjzeahwe30c9cc6dw3lkyk5qn5rmfa": "juno1ls5un4a8zyn4f05k0ekq5aa9uhn88y8362ww38elqfpcwllme0jqelamke", + "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9juno1x02k67asfmjawgc96dj8nxq6se3fmx36gedgs5hvkjegdhfy97rs3jgj2h": "juno1q0f3nlghr350e7lhmxej3ev0j25m5caws5y4kyr5huawwr24hfkq74fsnq", + "juno1mkw83sv6c7sjdvsaplrzc8yaes9l42p4mhy0ssuxjnyzl87c9eps7ce3m9ujuno": "juno1a7lmc8e04hcs4y2275cultvg83u636ult4pmnwktr6l9nhrh2e8qzxfdwf", + "juno1p8x807f6h222ur0vssqy3qk6mcpa40gw2pchquz5atl935t7kvyq894ne3ujuno": "juno1rcssjyqgr6vzalss77d43v30c2qpyzzg607ua8gte2shqgtvu24sg8gs8r", + "juno1r4pzw8f9z0sypct5l9j906d47z998ulwvhvqe5xdwgy8wf84583sxwh0paujuno": "juno1mz5uz38h89dxj6c8w69rg7l060p8vq8pfetykk2gvrrxhjcsa5yqru9g7v", + "juno1rws84uz7969aaa7pej303udhlkt3j9ca0l3egpcae98jwak9quzq8szn2lujuno": "juno17jv00cm4f3twr548jzayu57g9txvd4zdh54mdg9qpjs7samlphjsykylsq", + "juno1vn38rzq0wc7zczp4dhy0h5y5kxh2jjzeahwe30c9cc6dw3lkyk5qn5rmfaujuno": "juno17ckp36lmgtt7jtuggdv2j39eh4alcnl35szu6quh747nujags07swwq0nh", + "juno1wwnhkagvcd3tjz6f8vsdsw5plqnw8qy2aj3rrhqr2axvktzv9q2qz8jxn3ujuno": "juno1syxlvk6pjpuxplqxwxr6n6fveqaz069dzya0ass9vrfwn9qxpvpqhq7msy", + "juno1x02k67asfmjawgc96dj8nxq6se3fmx36gedgs5hvkjegdhfy97rs3jgj2hujuno": "juno1ndw52eaajcn8wpx7e503ly3j07666hhufx6cyp0s9v703rvzrpksfujv3h" + } } } \ No newline at end of file diff --git a/envs/juno.env b/envs/juno.env index cf77738..f993735 100644 --- a/envs/juno.env +++ b/envs/juno.env @@ -10,6 +10,7 @@ MNEMONIC = "" # RPC URL to stream mempool and query contract state from RPC_URL = "https://rpc-juno-ia.cosmosia.notional.ventures/" +#RPC_URL = "https://juno-rpc.reece.sh/" # Rest URL to use to get a network client from cosmpy REST_URL = "https://api-juno-ia.cosmosia.notional.ventures/" @@ -50,8 +51,8 @@ AUCTION_HOUSE_ADDRESS = "juno10g0l3hd9sau3vnjrayjhergcpxemucxcspgnn4" # 0.5 represents 50% of the profit, 1 represents 100% of the profit AUCTION_BID_PROFIT_PERCENTAGE = 0.50 -FACTORY_CONTRACTS = "{}" -ROUTER_CONTRACTS = "{}" +FACTORY_CONTRACTS = "{'wyndex': 'juno16adshp473hd9sruwztdqrtsfckgtd69glqm6sqk0hc4q40c296qsxl3u3s'}" +ROUTER_CONTRACTS = "{'wyndex': 'juno1pctfpv9k03v0ff538pz8kkw5ujlptntzkwjg6c0lrtqv87s9k28qdtl50w'}" DECODER = "cosmwasm" QUERIER = "cosmwasm" diff --git a/src/bot.py b/src/bot.py index 9f9c790..d4bfe2c 100644 --- a/src/bot.py +++ b/src/bot.py @@ -102,6 +102,7 @@ async def init(self): print("Updating all pool contracts in state...") await self.state.set_all_pool_contracts( init_contracts=self.init_contracts, + router_contracts=self.router_contracts, querier=self.querier, creator=self.creator, factory_contracts=self.factory_contracts, @@ -302,7 +303,7 @@ def _retry(self, base64_encoded_bundle, bundle_signature) -> bool: try: # Continue sending bundles if we get a Not a Skip Validator error if response.json()["result"]["code"] == NOT_A_SKIP_VAL_CODE: - logging.info("Not a skip val, retyring...") + logging.info("Not a skip val, retrying...") time.sleep(DELAY_BETWEEN_SENDS) return None # If we get a 0 error code, we move on to the next transaction diff --git a/src/contract/factory/factories/terraswap.py b/src/contract/factory/factories/terraswap.py index 1ef094e..1cb6f83 100644 --- a/src/contract/factory/factories/terraswap.py +++ b/src/contract/factory/factories/terraswap.py @@ -1,6 +1,9 @@ +from dataclasses import dataclass + from src.contract import Factory from src.querier import Querier +@dataclass class Terraswap(Factory): """ This class is a factory contract for TerraSwap.""" @@ -27,8 +30,9 @@ async def get_all_pairs(self, querier: Querier) -> list: continue if 'xyk' in pair['pair_type']: filtered_pairs.append(pair) - - return filtered_pairs + + pair_addresses = [pair["contract_addr"] for pair in filtered_pairs] + return pair_addresses async def _query_terraswap_factory(self, querier: Querier, diff --git a/src/contract/pool/pools/__init__.py b/src/contract/pool/pools/__init__.py index 957bd0c..afcf82b 100644 --- a/src/contract/pool/pools/__init__.py +++ b/src/contract/pool/pools/__init__.py @@ -4,4 +4,5 @@ from .whitewhale import Whitewhale from .astroport import Astroport from .phoenix import Phoenix -from .hopers import Hopers \ No newline at end of file +from .hopers import Hopers +from .wyndex import Wyndex \ No newline at end of file diff --git a/src/contract/pool/pools/hopers.py b/src/contract/pool/pools/hopers.py index f16be50..89f5b45 100644 --- a/src/contract/pool/pools/hopers.py +++ b/src/contract/pool/pools/hopers.py @@ -6,23 +6,11 @@ @dataclass class Hopers(Junoswap): DEFAULT_LP_FEE: float = 0.0 - DEFAULT_PROTOCOL_FEE: float = 0.005 + DEFAULT_PROTOCOL_FEE: float = 0.01 DEFAULT_FEE_FROM_INPUT: bool = True async def update_fees(self, querier: Querier) -> None: - """ Updates the lp and protocol fees for the pool.""" - payload = self.get_query_fees_payload( - contract_address=self.contract_address, - querier=querier) - try: - fee_info = await querier.query_node_and_return_response( - payload=payload, - decoded=True - ) - protocol_fee = float(fee_info['total_fee_percent']) - except: - protocol_fee = self.DEFAULT_PROTOCOL_FEE - + """ Updates the lp and protocol fees for the pool.""" self.lp_fee = self.DEFAULT_LP_FEE - self.protocol_fee = protocol_fee + self.protocol_fee = self.DEFAULT_PROTOCOL_FEE self.fee_from_input = self.DEFAULT_FEE_FROM_INPUT \ No newline at end of file diff --git a/src/contract/pool/pools/wyndex.py b/src/contract/pool/pools/wyndex.py new file mode 100644 index 0000000..7922675 --- /dev/null +++ b/src/contract/pool/pools/wyndex.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from src.contract.pool.pools.terraswap import Terraswap +from src.querier.queriers.cosmwasm import CosmWasmQuerier +from src.contract.pool.pool import Pool +from src.transaction import Swap + +from cosmpy.aerial.contract import create_cosmwasm_execute_msg +from cosmpy.protos.cosmos.base.v1beta1.coin_pb2 import Coin +from cosmpy.protos.cosmwasm.wasm.v1.tx_pb2 import MsgExecuteContract + + +@dataclass +class Wyndex(Terraswap): + DEFAULT_LP_FEE: float = 0.002 + DEFAULT_PROTOCOL_FEE: float = 0.001 + DEFAULT_FEE_FROM_INPUT: float = False + + async def update_tokens(self, + querier: CosmWasmQuerier) -> None: + """ Update the tokens in the pool.""" + payload = self.get_query_tokens_payload( + contract_address=self.contract_address, + querier=querier) + pool_info = await querier.query_node_and_return_response( + payload=payload, + decoded=True + ) + self.token1_type = list(pool_info['assets'][0]['info'].keys())[0] + if self.token1_type == "token": + self.token1_denom = pool_info['assets'][0]['info'][self.token1_type] + elif self.token1_type == "native": + self.token1_denom = pool_info['assets'][0]['info'][self.token1_type] + + self.token2_type = list(pool_info['assets'][1]['info'].keys())[0] + if self.token2_type == "token": + self.token2_denom = pool_info['assets'][1]['info'][self.token2_type] + elif self.token2_type == "native": + self.token2_denom = pool_info['assets'][1]['info'][self.token2_type] + + def get_swaps_from_message(self, + msg, + message_value, + contracts: dict[str, Pool] = {}) -> list[Swap]: + """ Return list of Swaps from the message. + Expects that the pool object has already been chosen for send messages. + See: get_relevant_contract method in cosmwasm decoder. + """ + if "swap" in msg: + input_denom = msg['swap']['offer_asset']['info']['native'] + return [Swap(sender=message_value.sender, + contract_address=self.contract_address, + input_denom=input_denom, + input_amount=int(msg['swap']['offer_asset']['amount']), + output_denom=self.get_other_denom(input_denom))] + elif "send" in msg: + input_denom=message_value.contract + return [Swap(sender=message_value.sender, + contract_address=self.contract_address, + input_denom=input_denom, + input_amount=int(msg['send']['amount']), + output_denom=self.get_other_denom(input_denom))] + else: + return [] + + def _get_swap_msg(self, + address: str, + input_amount: int) -> MsgExecuteContract: + """ Creates a MsgExecuteContract for JunoSwap's swap function.""" + msg = create_cosmwasm_execute_msg( + sender_address=address, + contract_address=self.contract_address, + args={"swap": { + "offer_asset": { + "amount": str(input_amount), + "info": { + "native": self.input_denom + }}}} + ) + msg.funds.append(Coin(amount=str(input_amount), + denom=self.input_denom)) + + return msg \ No newline at end of file diff --git a/src/contract/router/__init__.py b/src/contract/router/__init__.py index 661b002..ac83e21 100644 --- a/src/contract/router/__init__.py +++ b/src/contract/router/__init__.py @@ -1,2 +1,2 @@ from src.contract.router.router import Router -from src.contract.router.routers import TerraswapRouter, AstroportRouter, PhoenixRouter, WhiteWhaleRouter \ No newline at end of file +from src.contract.router.routers import TerraswapRouter \ No newline at end of file diff --git a/src/contract/router/router.py b/src/contract/router/router.py index 26b3c9a..3d1b2ab 100644 --- a/src/contract/router/router.py +++ b/src/contract/router/router.py @@ -15,4 +15,9 @@ def get_swaps_from_message(self, message_value, contracts: dict) -> list[Swap]: """ This method returns a list of swaps from a message. - """ \ No newline at end of file + """ + + @staticmethod + def _sort_and_combine_strings(str1: str, str2: str) -> str: + """ Sorts and combines 2 strings.""" + return str1 + str2 if str1 < str2 else str2 + str1 \ No newline at end of file diff --git a/src/contract/router/routers/__init__.py b/src/contract/router/routers/__init__.py index 74b368f..5a52088 100644 --- a/src/contract/router/routers/__init__.py +++ b/src/contract/router/routers/__init__.py @@ -1,4 +1 @@ -from .terraswap import TerraswapRouter -from .astroport import AstroportRouter -from .phoenix import PhoenixRouter -from .whitewhale import WhiteWhaleRouter \ No newline at end of file +from .terraswap import TerraswapRouter \ No newline at end of file diff --git a/src/contract/router/routers/astroport.py b/src/contract/router/routers/astroport.py deleted file mode 100644 index a1838ed..0000000 --- a/src/contract/router/routers/astroport.py +++ /dev/null @@ -1,15 +0,0 @@ -from dataclasses import dataclass - -from src.contract.router.router import Router -from src.swap import Swap - - -@dataclass -class AstroportRouter(Router): - - def get_swaps_from_message(self, - msg, - message_value, - contracts: dict) -> list[Swap]: - pass - \ No newline at end of file diff --git a/src/contract/router/routers/phoenix.py b/src/contract/router/routers/phoenix.py deleted file mode 100644 index ef298e7..0000000 --- a/src/contract/router/routers/phoenix.py +++ /dev/null @@ -1,14 +0,0 @@ -from dataclasses import dataclass - -from src.contract.router.router import Router -from src.swap import Swap - - -@dataclass -class PhoenixRouter(Router): - - def get_swaps_from_message(self, - msg, - message_value, - contracts: dict) -> list[Swap]: - pass \ No newline at end of file diff --git a/src/contract/router/routers/terraswap.py b/src/contract/router/routers/terraswap.py index d55eb39..c6ad9c1 100644 --- a/src/contract/router/routers/terraswap.py +++ b/src/contract/router/routers/terraswap.py @@ -1,4 +1,7 @@ -from dataclasses import dataclass +import json +from base64 import b64decode +from dataclasses import dataclass, InitVar +from src.contract.pool.pool import Pool from src.contract.router.router import Router from src.swap import Swap @@ -6,9 +9,52 @@ @dataclass class TerraswapRouter(Router): + contracts: InitVar[dict] + + def __post_init__(self, contracts: dict): + """ Loads the ABI for the contract, and creates a contract object.""" + + router_pools: dict[str, Pool] = {address: contracts[address] + for address + in contracts + if contracts[address].protocol == self.protocol + and isinstance(contracts[address], Pool) + } + + self.pair_pool_mapping = {self._sort_and_combine_strings(pool.token1_denom, pool.token2_denom): pool.contract_address + for pool + in router_pools.values() + } def get_swaps_from_message(self, msg, message_value, contracts: dict) -> list[Swap]: - pass \ No newline at end of file + swaps = [] + + if "execute_swap_operations" in msg: + operations = msg["execute_swap_operations"]["operations"] + first_input_amount = int(message_value.funds[0].amount) if message_value.funds else 0 + elif "send" in msg: + operations_msg = json.loads(b64decode(msg['send']['msg']).decode('utf-8')) + first_input_amount = int(msg["send"]["amount"]) + if "execute_swap_operations" in operations_msg: + operations = operations_msg["execute_swap_operations"]["operations"] + else: + return swaps + + for index, operation in enumerate(operations): + input_amount = first_input_amount if index == 0 else 0 + swap_info = list(operation.values())[0] + input_denom = list(swap_info['offer_asset_info'].values())[0] + output_denom = list(swap_info['ask_asset_info'].values())[0] + contract_address = self.pair_pool_mapping[self._sort_and_combine_strings(input_denom, output_denom)] + swaps.append( + Swap(sender=message_value.sender, + contract_address=contract_address, + input_denom=input_denom, + input_amount=input_amount, + output_denom=output_denom) + ) + + return swaps \ No newline at end of file diff --git a/src/contract/router/routers/whitewhale.py b/src/contract/router/routers/whitewhale.py deleted file mode 100644 index 9b0be84..0000000 --- a/src/contract/router/routers/whitewhale.py +++ /dev/null @@ -1,14 +0,0 @@ -from dataclasses import dataclass - -from src.contract.router.router import Router -from src.swap import Swap - - -@dataclass -class WhiteWhaleRouter(Router): - - def get_swaps_from_message(self, - msg, - message_value, - contracts: dict) -> list[Swap]: - pass \ No newline at end of file diff --git a/src/creator/creator.py b/src/creator/creator.py index a0a8d6f..0e8ae9f 100644 --- a/src/creator/creator.py +++ b/src/creator/creator.py @@ -20,12 +20,7 @@ import src.contract.factory.factories as factories from src.contract.router.router import Router -from src.contract.router.routers import ( - TerraswapRouter, - AstroportRouter, - PhoenixRouter, - WhiteWhaleRouter - ) +from src.contract.router.routers import TerraswapRouter class Creator: @@ -86,7 +81,8 @@ def create_pool(contract_address: str, pool: str) -> Pool: "loop": pools.Loop, "phoenix": pools.Phoenix, "white_whale": pools.Whitewhale, - "hopers": pools.Hopers + "hopers": pools.Hopers, + "wyndex": pools.Wyndex, } return protocols[pool](contract_address, pool) @@ -99,19 +95,21 @@ def create_factory(contract_address: str, protocol: str) -> Factory: "terraswap": factories.Terraswap, "astroport": factories.Terraswap, "phoenix": factories.Terraswap, - "white_whale": factories.Terraswap + "white_whale": factories.Terraswap, + "wyndex": factories.Terraswap } return protocols[protocol](contract_address, protocol) @staticmethod - def create_router(contract_address: str, router: str) -> Router: + def create_router(contract_address: str, router: str, contracts: dict) -> Router: """ Factory function to create router contracts. @DEV TODO: Add more router contracts here. """ routers = { "terraswap": TerraswapRouter, - "astroport": AstroportRouter, - "phoenix": PhoenixRouter, - "white_whale": WhiteWhaleRouter + "astroport": TerraswapRouter, + "phoenix": TerraswapRouter, + "white_whale": TerraswapRouter, + "wyndex": TerraswapRouter } - return routers[router](contract_address, router) \ No newline at end of file + return routers[router](contract_address, router, contracts) \ No newline at end of file diff --git a/src/state.py b/src/state.py index 1468ba9..bcd238b 100644 --- a/src/state.py +++ b/src/state.py @@ -27,6 +27,7 @@ class State: async def set_all_pool_contracts(self, init_contracts: dict, + router_contracts: dict, querier: Querier, creator: Creator, factory_contracts: dict, @@ -44,7 +45,8 @@ async def set_all_pool_contracts(self, await self.set_all_factory_contracts( factory_contracts=factory_contracts, querier=querier, - creator=creator + creator=creator, + router_contracts=router_contracts ) self.contracts_dict = {contract: @@ -64,6 +66,11 @@ async def set_all_pool_contracts(self, print("Setting cyclic routes...") self.set_cyclic_routes(arb_denom=arb_denom) + print("Setting all router contracts...") + self.set_all_router_contracts(router_contracts=router_contracts, + creator=creator, + contracts=self.contracts) + def set_all_init_contracts(self, init_contracts: dict, creator: Creator) -> None: @@ -79,11 +86,13 @@ def set_all_init_contracts(self, async def set_all_factory_contracts(self, factory_contracts: dict, querier: Querier, - creator: Creator) -> None: + creator: Creator, + router_contracts: dict) -> None: """ This method is used to set all the pools created by the factory contracts. This is preferred method for any pools that implements a factory. """ + router_addresses = list(router_contracts.values()) for protocol in factory_contracts: factory: Factory = creator.create_factory( contract_address=factory_contracts[protocol], @@ -91,11 +100,30 @@ async def set_all_factory_contracts(self, ) print(f"Getting all pairs for {protocol}...") all_pairs = await factory.get_all_pairs(querier=querier) - self.contracts.update({pair['contract_addr']: - creator.create_pool(contract_address=pair['contract_addr'], + self.contracts.update({pair: + creator.create_pool(contract_address=pair, pool=protocol) for pair - in all_pairs}) + in all_pairs + if pair not in router_addresses}) + + # @DEV TODO: Consider deleting if never called + for address in router_addresses: + if address in self.contracts: + print("Actually deleting something!!") + self.contracts.pop(address) + + def set_all_router_contracts(self, + router_contracts: dict, + creator: Creator, + contracts: dict) -> None: + self.contracts.update({address: + creator.create_router( + contract_address=address, + router=router, + contracts=contracts) + for router, address + in router_contracts.items()}) def set_all_jobs(self, querier: Querier) -> None: """ This function is used to set all the jobs""" diff --git a/tests/test_transaction.py b/tests/test_transaction.py index 4cfa06f..7fdbca3 100644 --- a/tests/test_transaction.py +++ b/tests/test_transaction.py @@ -5,6 +5,7 @@ from src.transaction import Transaction from src.decoder import Decoder, CosmWasmDecoder from src.state import State +from src.contract.pool.pool import Pool """ @pytest.fixture(scope="session") @@ -49,7 +50,7 @@ class TestJunoTransaction: @pytest.mark.asyncio async def test_transaction_6481511(): """ Tests that the Transaction class can be instantiated.""" - bot = Bot() + bot = Bot(env_file_path='envs/juno.env') await bot.init() bot.account_balance, _ = bot.querier.update_account_balance( @@ -64,8 +65,12 @@ async def test_transaction_6481511(): # Mainnet backran user tx, Juno Block: 6440035 #tx_0 = 'CrkDCrYDCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QSjQMKK2p1bm8xczllbWtlNjdmOHR0cG44am1obHA3ajcycHFsZDZteTh1c3h5dHMSP2p1bm8xc2c2Y2hta3R1aHlqNGxzcnhycmRmbGVtN2dzbms0ZWp2NnprY2M0ZDN2Y3F1bHpwNTV3c2Y0bDRnbBrLAXsicGFzc190aHJvdWdoX3N3YXAiOnsib3V0cHV0X21pbl90b2tlbiI6IjMxMTM1OTYyMTY3NDYzMjkwIiwiaW5wdXRfdG9rZW4iOiJUb2tlbjIiLCJpbnB1dF90b2tlbl9hbW91bnQiOiI1MzAwMDAwIiwib3V0cHV0X2FtbV9hZGRyZXNzIjoianVubzE5ODU5bTV4OGtnZXB3YWZjM2gwbjM2a3o1NDVuZ2MydmxxbnF4eDdneDN0MmtndXY2ZndzOTNjdTI1In19Kk8KRGliYy9DNENGRjQ2RkQ2REUzNUNBNENGNENFMDMxRTY0M0M4RkRDOUJBNEI5OUFFNTk4RTlCMEVEOThGRTNBMjMxOUY5Egc1MzAwMDAwEmcKUQpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQL29Lq2zbUYMdZe1lMHOH8Q2YeGsqB6iznFKJSF2gIgIBIECgIIARiWBxISCgwKBXVqdW5vEgM0MTIQ+o0ZGkAkme4k+3EPGpTJJgtcuyaXZZzoUHC5WXRpHtKhmQDyM3lZVn7XthaxKBLevxr1Qi8Xuyv+S11c39zhumuvdOc0' #height: str = "6440034" - tx_0 = 'Co0ECpYCCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QS7QEKK2p1bm8xeG03bGF1MHZhczdlbHl4dXl4OWU2cTRwZzB1aDNmd3lkNHF5Z20SP2p1bm8xeTlyZjdxbDZmZndrdjAyaHNnZDR5cnV6MjNwbjR3OTdwNzVlMnNsc25rbTBtbmFtaHp5c3ZxbnhhcRp9eyJpbmNyZWFzZV9hbGxvd2FuY2UiOnsiYW1vdW50IjoiMTM5Njg1NjU4MzQxNCIsInNwZW5kZXIiOiJqdW5vMXhmMzJqczBsYzZ2N3F1eGo1dHd1bmE5N2h3ZmY3ZGhrejZwc3VqYXZ2a25oMnl6dHk1dXE2d3V0OGoifX0K8QEKJC9jb3Ntd2FzbS53YXNtLnYxLk1zZ0V4ZWN1dGVDb250cmFjdBLIAQoranVubzF4bTdsYXUwdmFzN2VseXh1eXg5ZTZxNHBnMHVoM2Z3eWQ0cXlnbRI/anVubzF4ZjMyanMwbGM2djdxdXhqNXR3dW5hOTdod2ZmN2Roa3o2cHN1amF2dmtuaDJ5enR5NXVxNnd1dDhqGlh7InN3YXAiOnsiaW5wdXRfdG9rZW4iOiJUb2tlbjEiLCJpbnB1dF9hbW91bnQiOiIxMzk2ODU2NTgzNDE0IiwibWluX291dHB1dCI6IjM3NTU4MDkyIn19EmcKUQpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQLEaFyo6cN0vZoMxy7d4D88dy0RI8gXMLO2pQfykUAEHxIECgIIARjnExISCgwKBXVqdW5vEgM1MDAQoMIeGkCwGwNvFKzpM+UXuIhi+1T60KEOb4WoAvIwnzS4tNnZsDb0n8KIEZ7NqvPNQ/pAcc5gLdyrF2LYz3Sq6DvuHeu4' - height: str = "6314039" + + #tx_0 = 'Co0ECpYCCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QS7QEKK2p1bm8xeG03bGF1MHZhczdlbHl4dXl4OWU2cTRwZzB1aDNmd3lkNHF5Z20SP2p1bm8xeTlyZjdxbDZmZndrdjAyaHNnZDR5cnV6MjNwbjR3OTdwNzVlMnNsc25rbTBtbmFtaHp5c3ZxbnhhcRp9eyJpbmNyZWFzZV9hbGxvd2FuY2UiOnsiYW1vdW50IjoiMTM5Njg1NjU4MzQxNCIsInNwZW5kZXIiOiJqdW5vMXhmMzJqczBsYzZ2N3F1eGo1dHd1bmE5N2h3ZmY3ZGhrejZwc3VqYXZ2a25oMnl6dHk1dXE2d3V0OGoifX0K8QEKJC9jb3Ntd2FzbS53YXNtLnYxLk1zZ0V4ZWN1dGVDb250cmFjdBLIAQoranVubzF4bTdsYXUwdmFzN2VseXh1eXg5ZTZxNHBnMHVoM2Z3eWQ0cXlnbRI/anVubzF4ZjMyanMwbGM2djdxdXhqNXR3dW5hOTdod2ZmN2Roa3o2cHN1amF2dmtuaDJ5enR5NXVxNnd1dDhqGlh7InN3YXAiOnsiaW5wdXRfdG9rZW4iOiJUb2tlbjEiLCJpbnB1dF9hbW91bnQiOiIxMzk2ODU2NTgzNDE0IiwibWluX291dHB1dCI6IjM3NTU4MDkyIn19EmcKUQpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQLEaFyo6cN0vZoMxy7d4D88dy0RI8gXMLO2pQfykUAEHxIECgIIARjnExISCgwKBXVqdW5vEgM1MDAQoMIeGkCwGwNvFKzpM+UXuIhi+1T60KEOb4WoAvIwnzS4tNnZsDb0n8KIEZ7NqvPNQ/pAcc5gLdyrF2LYz3Sq6DvuHeu4' + #height: str = "6314039" + + tx_0 = 'Cv4DCpICCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QS6QEKK2p1bm8xanZ4YzhoZmQyeDdzNm1yczJqOHFhMGw3ZXJ1ejhuZGR6ZDRtZmUSP2p1bm8xdTQ1c2hscDBxNGdjY2t2c2owNnNzNHh1dnN1MHoyNGEwZDB2cjljZTZyMjRwaHQ0ZTV4cTdxOTk1bhp5eyJpbmNyZWFzZV9hbGxvd2FuY2UiOnsic3BlbmRlciI6Imp1bm8xcHVnZzYyM3pzZzJ4YW52dXVtbmE2eTRjYTQ4dDBsYTdweGd0dDk2ZWQ1NXJjdGVhNDdsc3F4dTM2YSIsImFtb3VudCI6Ijc3MzEyMzk4NSJ9fQrmAQokL2Nvc213YXNtLndhc20udjEuTXNnRXhlY3V0ZUNvbnRyYWN0Er0BCitqdW5vMWp2eGM4aGZkMng3czZtcnMyajhxYTBsN2VydXo4bmRkemQ0bWZlEj9qdW5vMXB1Z2c2MjN6c2cyeGFudnV1bW5hNnk0Y2E0OHQwbGE3cHhndHQ5NmVkNTVyY3RlYTQ3bHNxeHUzNmEaTXsic3dhcCI6eyJpbnB1dF90b2tlbiI6IlRva2VuMSIsImlucHV0X2Ftb3VudCI6Ijc3MzEyMzk4NSIsIm1pbl9vdXRwdXQiOiIwIn19EmgKUQpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQJPD7W8Xm9XD6rRVvQb2WmOvUnffLq+C9UqqTdgmaBuAhIECgIIARiKBBITCg0KBXVqdW5vEgQzMDE2ELLOSRpAKklgN5LAuYooWoZgIHRlk/Gj56Z2KMhzdYdLvTdu9LsJYSDH9XKfLhjkkm3M+LQBqiCBKa1FPunHxiwgOJBpkw==' + height: str = "6761575" update_all_reserves_jobs = [functools.partial( contract.update_reserves, @@ -73,21 +78,25 @@ async def test_transaction_6481511(): height ) for contract - in bot.state.contracts.values()] + in bot.state.contracts.values() + if isinstance(contract, Pool)] #print("Updating reserves for single pool") #await update_all_reserves_jobs[0]() #print("Finished updating reserves for single pool") - bot.rpc_url = "https://rpc-archive.junonetwork.io/" + #bot.rpc_url = "https://rpc-archive.junonetwork.io/" + bot.rpc_url = "https://rpc-juno-ia.cosmosia.notional.ventures/" print("Updating reserves for historical block") await bot.state.update_all(update_all_reserves_jobs) print("Finished updating reserves for historical block") - print(bot.state.contracts["juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm"].__dict__) - print(bot.state.contracts["juno1dug89d22vtu7v27ee9gg4xq5seu2tu705d6eh3kmvh0uvy7depaqg45qdj"].__dict__) - print(bot.state.contracts["juno19859m5x8kgepwafc3h0n36kz545ngc2vlqnqxx7gx3t2kguv6fws93cu25"].__dict__) + #print(bot.state.contracts["juno1wuu8nwr37kmg0njg6p3ag7j4qcm08vs6z9e9j28aendnfnuxmd3sc4yrhm"].__dict__) + #print(bot.state.contracts["juno1dug89d22vtu7v27ee9gg4xq5seu2tu705d6eh3kmvh0uvy7depaqg45qdj"].__dict__) + #print(bot.state.contracts["juno19859m5x8kgepwafc3h0n36kz545ngc2vlqnqxx7gx3t2kguv6fws93cu25"].__dict__) + + print(bot.state.contracts["juno1pugg623zsg2xanvuumna6y4ca48t0la7pxgtt96ed55rctea47lsqxu36a"].__dict__) transaction = Transaction( contracts=bot.state.contracts, @@ -117,7 +126,13 @@ async def test_transaction_6481511(): contracts=contracts_copy, ) + + route = transaction.routes[0] print(transaction.routes[0].__dict__) + print(f"Route: {route.pools[0].contract_address, route.pools[1].contract_address, route.pools[2].contract_address}") + print(f"""Route Reserves: {route.pools[0].input_reserves, route.pools[0].output_reserves, + route.pools[1].input_reserves, route.pools[1].output_reserves, + route.pools[2].input_reserves, route.pools[2].output_reserves}""") assert bundle != []