It was observed there was a bug in which our Astroport simulation queries can return results that are not able to be executed at the swap stage due to having a max_spread limit at swap which isn't taken into account on Astroport's queries.
Relatedly, on the swap side we do not set a max_spread when we call the Astroport router contract, which defaults to a slippage limit of .005. This was decided to be changed to the max (.50) allowed on Astroport to reduce the amount of errors received from the Astroport contracts since our entry point handles the slippage we care about.
This PR
Swap Side
Adds a max_spread amount of .50 (50%) to the Astroport router swaps, which is the max limit that can be set (Previously without setting this param, the max_spread defaulted to Astroport's default of .005)
Query Side:
Asserts the max spread limit is not crossed in both swap exact in and swap exact out simulation query for Astroport
Changes/refactors swap exact in simulation to call simulation query on each pool instead of the router (since the router doesn't return back enough info to assert the max spread limit calculation enforcement) for Astroport
And deploys the contracts to terra
Testing
Tested the new swap in query gives back the same result as the astroport router:
Background
This PR
Swap Side
Query Side:
Testing