osmosis

Prop 454: Upload Cross-Chain Swap Contract

Passing this proposal will upload the Crosschain Swaps contract to the Osmosis chain.

## Details
The Crosschain Swaps contract enables trades on Osmosis to be carried out remotely from another chain connected to Osmosis by IBC.

The contract receives a token transfer from chain A, interacts with the Swap Router contract to exchange the received token for a different token and then forwards it to a destination address specified in the original transaction.

On receipt of tokens from Chain A, the contract parses a memo field, enabled by IBC v3.4.0 in Osmosis v13. This contains information set by the sender identifying the instance of the Crosschain Swaps contract to interact with and the intention.

This Crosschain Swaps instance is linked to an instance of the SwapRouter contract uploaded in Proposal 411 and carries out the exchange using liquidity on Osmosis.

The resultant tokens are then forwarded to the address originally specified in the memo, be that a return to the address on Chain A or forwarding to an address on Chain C.

Full Documentation: https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts/crosschain-swaps

## Git Commit ID
https://github.com/osmosis-labs/osmosis/commit/d98d3d31acb2c686dbf954fdec1db8add7f81525

## Version of Compiler used
cosmwasm/workspace-optimizer:0.12.10

## Checksum
7bb5ccefe1ce4d90e9951899e0b841808b445ec3ae118991bf80b9abcdae4a26

Commonwealth Thread: https://commonwealth.im/osmosis/discussion/10198-crosschain-swap-contract-deployment