# Upload XCS v2 Contracts

**URL:** <https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335>\
**Category:** DApps / Tooling\
**Tags:** passed\
**Created:** [September 14, 2023, 3:28pm UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335 "2023-09-14T15:28:39Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![JohnnyWyles](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/johnnywyles/32/3114_2.png) [@JohnnyWyles](https://forum.osmosis.zone/u/JohnnyWyles)\
**Post date:** [September 14, 2023, 3:28pm UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/1 "2023-09-14T15:28:39Z")

</div>

# Upload CrossChain Registry Contract V1

Passing this proposal will upload V1 of the Crosschain Registry contract to the Osmosis chain.

## Details

The set of contracts within the XCS bundle enables trades on Osmosis to be carried out remotely from another chain connected to Osmosis by IBC.

Version two of the contracts simplifies the usage of crosschain swaps by keeping registries with information about IBC channels used, denoms used on Osmosis, and when to use packet forward middleware vs. callbacks.

The Crosschain Swaps contract receives a token transfer from chain A, looks up the required information from the Crosschain Registry contract, 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.

This instance then looks up the correct information to use from the linked instance of the Crosschain Registry contract and, using this, interacts with the Swap Router contract to exchange the received token for the desired token.

The resultant tokens are then forwarded to the address initially 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](https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts/crosschain-swaps)

## Contract information

**Release** : V1

**Compiler Version** : cosmwasm/workspace-optimizer:0.12.10

**Checksum** : 5780a3358cd917fcf05d9f181c56f26904ae45fa68cc355738a75ad263458390

**Code repository** : [https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts](https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts)

**Commit ID** : b90dfad7f2ab8ecdd2806cb51dfa9a72fb80a469

**On Chain date** : 21st September 2023

* * *

# Upload Swaprouter Contract V2

Passing this proposal will upload an updated version of the Swaprouter contract to the Osmosis chain.

## Details

The set of contracts within the XCS bundle enables trades on Osmosis to be carried out remotely from another chain connected to Osmosis by IBC.

Version two of the contracts simplifies the usage of crosschain swaps by keeping registries with information about IBC channels used, denoms used on Osmosis, and when to use packet forward middleware vs. callbacks.

The Crosschain Swaps contract receives a token transfer from chain A, looks up the required information from the Crosschain Registry contract, 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.

This instance then looks up the correct information to use from the linked instance of the Crosschain Registry contract and, using this, interacts with the Swap Router contract to exchange the received token for the desired token.

The resultant tokens are then forwarded to the address initially 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](https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts/crosschain-swaps)

## Contract information

**Release** : V2

**Compiler Version** : cosmwasm/workspace-optimizer:0.12.10

**Checksum** : f8fca2b93dcd4cf0b41b964ba4c6523094dd3097c3269bc88c87f68edc0a9c00

**Code repository** : [https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts](https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts)

**Commit ID** : b90dfad7f2ab8ecdd2806cb51dfa9a72fb80a469

**On Chain date** : 21st September 2023

* * *

# Upload Crosschain Swaps Contract V2

Passing this proposal will upload an updated version of the Crosschain Swaps contract to the Osmosis chain.

## Details

The set of contracts within the XCS bundle enables trades on Osmosis to be carried out remotely from another chain connected to Osmosis by IBC.

Version two of the contracts simplifies the usage of crosschain swaps by keeping registries with information about IBC channels used, denoms used on Osmosis, and when to use packet forward middleware vs. callbacks.

The Crosschain Swaps contract receives a token transfer from chain A, looks up the required information from the Crosschain Registry contract, 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.

This instance then looks up the correct information to use from the linked instance of the Crosschain Registry contract and, using this, interacts with the Swap Router contract to exchange the received token for the desired token.

The resultant tokens are then forwarded to the address initially 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](https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts/crosschain-swaps)

## Contract information

**Release** : V2

**Compiler Version** : cosmwasm/workspace-optimizer:0.12.10

**Checksum** : 3839d7281088f0152f643d57854e0625fd709db151e6dfe12da02f00efc3477e

**Code repository** : [https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts](https://github.com/osmosis-labs/osmosis/tree/main/cosmwasm/contracts)

**Commit ID** : b90dfad7f2ab8ecdd2806cb51dfa9a72fb80a469

**On Chain date** : 21st September 2023

---

<div class="post-metadata">

**Author:** ![LeonoorsCryptoman](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/leonoorscryptoman/32/208_2.png) [@LeonoorsCryptoman](https://forum.osmosis.zone/u/LeonoorsCryptoman)\
**Post date:** [September 14, 2023, 6:21pm UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/2 "2023-09-14T18:21:21Z")

</div>

This one is a bit confusing. What will we be voting on?  
V1, V2 with checksum A, V2 with checksum B?

Or will there be 3 proposals on chain?

So many questions 😅

---

<div class="post-metadata">

**Author:** ![JohnnyWyles](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/johnnywyles/32/3114_2.png) [@JohnnyWyles](https://forum.osmosis.zone/u/JohnnyWyles)\
**Post date:** [September 15, 2023, 8:14am UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/3 "2023-09-15T08:14:26Z")

</div>

3 props, can only add 1 contract per proposal and Osmosis Labs doesn’t have an upload address.  
Just bundled into one thread since they are all part of the same tool.

---

<div class="post-metadata">

**Author:** ![LeonoorsCryptoman](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/leonoorscryptoman/32/208_2.png) [@LeonoorsCryptoman](https://forum.osmosis.zone/u/LeonoorsCryptoman)\
**Post date:** [September 18, 2023, 6:30pm UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/4 "2023-09-18T18:30:32Z")

</div>

Clear.

Kinda confusion though that we are uploading V1 and 2x V2 in the same run. I read that they are different contracts, but for the community they will all be the first live version.

So maybe good to leave the versions out of it. And add a small text of all 3 contracts belonging together.

I assume they have been tested on the testnet as well as with other chains to prove it works with IBC?

---

<div class="post-metadata">

**Author:** ![JohnnyWyles](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/johnnywyles/32/3114_2.png) [@JohnnyWyles](https://forum.osmosis.zone/u/JohnnyWyles)\
**Post date:** [September 19, 2023, 8:57am UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/5 "2023-09-19T08:57:38Z")

</div>

Cause one is a new contract, but the other two have been on chain before - just not used in a production frontend yet. You can technically do XCS on most tokens right now.

There’s a line about then all being part of the XCS bundle.

Yes, these have been worked on for a while and tested on testnet. Of course Mainnet might come with edge cases that haven’t been foreseen (as with the original XCS v1 needing a patch) but impossible to tell at the moment.

---

<div class="post-metadata">

**Author:** ![Madshib](https://avatars.discourse-cdn.com/v4/letter/m/91b2a8/32.png) [@Madshib](https://forum.osmosis.zone/u/Madshib)\
**Post date:** [October 10, 2023, 3:59am UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/6 "2023-10-10T03:59:05Z")

</div>

Hi Johnny,

Is the XCS v2 Contract Live on the Mainnet?

---

<div class="post-metadata">

**Author:** ![JohnnyWyles](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/johnnywyles/32/3114_2.png) [@JohnnyWyles](https://forum.osmosis.zone/u/JohnnyWyles)\
**Post date:** [October 10, 2023, 8:34am UTC](https://forum.osmosis.zone/t/upload-xcs-v2-contracts/335/7 "2023-10-10T08:34:24Z")

</div>

Yes, they are these contracts:

> **[Explorer | Celatone Explorer for Cosmos chain](https://celatone.osmosis.zone/osmosis-1/codes/182)**
>
> A smart contract powered explorer for the Cosmos.

> **[Explorer | Celatone Explorer for Cosmos chain](https://celatone.osmosis.zone/osmosis-1/codes/183)**
>
> A smart contract powered explorer for the Cosmos.

> **[Explorer | Celatone Explorer for Cosmos chain](https://celatone.osmosis.zone/osmosis-1/codes/184)**
>
> A smart contract powered explorer for the Cosmos.
