Proposal Details

Proposal #783

Passed

Proposal title

Upload Transmuter v3

Submit time

Deposit end time

Voting start time

Voting end time

Tally result

98.67%

Proposal #783 description

Transmuter is a CosmWasm contract that allows 1:1 conversion of one asset to another by establishing a new CosmWasm pool type.

Transmuter V3 adds to the functionality of Transmuter V2 pools by adding:

  • A scaling factor that accounts for when multiple tokens that represent the same pre-bridge token at different levels of accuracy within the alloy.
  • The ability for the Admin of a Transmuter pool to add and remove tokens from an Alloyed asset while retaining the same factory token to remove the need for migrations.

User Flow

The full launch of Alloyed Assets using V3 of the Transmuter Contract will allow users to deposit any constituent of an Alloyed Asset to Osmosis and receive a token backed by their deposit usable throughout the Osmosis ecosystem. This results in a user flow similar to major CEXs, which accept deposits from multiple chains and increase a user’s balance, but with an entirely decentralized, on-chain mechanism.

The intended user flow will be that when depositing or withdrawing to Osmosis, a regular user will only see that they are interacting with the Canonical Alloyed Asset and be provided a choice of bridging options to withdraw or deposit via, with the cheapest or most unrestricted one offered first. On initiating a transaction, IBC hooks are used to transfer the asset along the selected bridge and join or exit the Transmuter pool.

As this flow will be frontend only, advanced users or those interacting with frontends that have not integrated the IBC hooks will be able to retain the un-alloyed asset on Osmosis.

From there a swap would route through the Transmuter pool as usual, not stranding these users if they arrive on Osmosis via a frontend without this full integration.

Tokenization of Transmuter pools as Alloyed Assets

Transmuter pool shares are represented by a minted factory token. This allows them to be used in all Osmosis applications in the same way as any other token.

As native Osmosis tokens, the representative token may be IBC transferred to another chain, allowing these to be used by other interchain DeFi applications if desired.

While this represents a proliferation of standards by creating another derivative, this deposit and withdrawal flow intends to solve the composability problem on Osmosis.

Other chains may implement a similar system, causing assets to exit the alloy, cross a bridge, and enter a similar grouping on the destination chain.

They can also use Osmosis' solution by automatically transferring bridged assets to Osmosis, entering the transmuter pool, and returning the alloyed asset to the originally intended chain. This is similar to the IBC unwinding mechanism that chains currently use when transferring an asset between two chains, neither of which is the original source of the asset.

Security

The Transmuter pool has built-in rate limitation settings, which can prevent the ratio of tokens from changing excessively in a set period. These rate limits minimize any issue with one constituent from draining the liquidity of the paired assets in the alloy.

There are two types of limiters in place.

  • Change Limiter determines the maximum percentage of an asset permitted to exit the pools based on the moving average of the asset’s relative weighting over a specified period.
  • Static Limiter determines the maximum percentage of the pool allowed to be a specific asset, preventing extreme imbalance from occurring and minimizing the exposure of the Alloyed Asset to a particular constituent.

Example: The allFOO pool is composed of 50% FOO.Bridge1 and 50% FOO.Bridge2.

FOO.Bridge1 is compromised, and the respective token supply on Osmosis suddenly increases.

The allFOO pool has a Change Limiter in place of 10%/Day, 30%/Week, and a Static Limiter in place of 0.6.

On Day 1, the Change Limiter is hit, freezing the imbalance at 0.55 FOO.Bridge1 and 0.45 FOO.Bridge2.

On Day 2, the Change Limiter would trigger at 0.605. However, the Static Limiter caps the imbalance at 0.6, effectively freezing the pool even if the Moderator or Admin has not yet acted.

These limiters limit the amount of compromised FOO.Bridge1 that can be disposed of on Osmosis, allowing the cause of the issue and a path to resolution to become more apparent through recovering or resupplying the underlying funds.

Admin Role

The Admin Role can perform the following tasks:

Delegate Set Active Status This allows the Admin to delegate a Moderator address to disable the underlying Transmuter pool of the Alloyed Asset temporarily in an emergency. Disabling will freeze the pool's contents, as no internal messages can be run apart from enabling the Active Status again. This delegation allows either the wider Osmosis DAO or a large subDAO to handle Metadata and Limiter settings while retaining rapid response by a smaller subDAO in an emergency.

Set Alloyed Metadata This allows the on-chain metadata for how the Alloyed Asset is displayed to be adjusted, such as the displayed denomination, description, and symbol.

Manage Limiters This allows the limiters above to be created, removed, or modified. These must be set appropriately so that normal trading is not impacted and a security issue in any of the constituent assets is minimized.

Add New Assets Added in V3; this allows the admin to add a new constituent asset to a pool, which can then be used as an underlying token for the Alloyed Asset. Further administrative action can then be taken to add any limiters. This allows the Alloyed Asset to grow as more bridges become available without fragmenting liquidity by having multiple Alloyed Assets for the same token in circulation.

Administrator for Canonical Alloyed Assets should be claimed by the Osmosis DAO.

Moderator Role

Set Active Status In an emergency, the Moderator can temporarily disable the underlying pool of the Alloyed Asset. This allows time for any information about an incident to become available and a path forward to be decided without exposing the Alloyed Asset to losses beyond those incurred by the backing at the time of the freeze.

Mark Corrupted Assets By marking an asset as corrupted, the Moderator signals that it should be removed from the Alloyed Asset. No new deposits will be allowed, but withdrawals are allowed. This will allow the Alloyed Asset to restore its peg, particularly when paired with any intervention approved by governance, such as Insurance, which can deposit an uncorrupted asset and withdraw the corrupted component

Contract information

Release: V3.0.0 Compiler Version: cosmwasm/optimizer:0.15.0 Checksum: a40e832bddf4ce49f4c0fba9f8fe3f8acadebd0f85d925e90944263c36d8d96e Code repository: https://github.com/osmosis-labs/transmuter

Forum Thread:https://forum.osmosis.zone/t/upload-transmuter-v3-as-cw-pool/2720

Proposal #783 overview

Total votes
14,768
Voters
14,731
Total deposit
1,600 OSMO

Proposal #783 votes

#

Validator

Account Address

Options
1Stakewolle.com |100% InsuranceYes
201nodeYes
3Cypher CoreYes
4Silk NodesYes
5AllnodesYes
6Kalia NetworkYes
7EverstakeYes
8Nodes.GuruYes
9DAO DAOYes
10Informal SystemsYes
11TessellatedYes
12HFA X Defi DojoYes
13Mad ScientistsYes
14Coinage x DAICYes
15Booga BerasYes
16Swiss StakingYes
17Hathor NodeYes
18S16 Research VenturesYes
19ValidatusYes
200base.vcYes
21PRYZM | StakeDropYes
22Bro_n_BroYes
23BlockHunters 🎯Yes
24Notional.VenturesYes
25Chorus OneYes
26PRO DelegatorsYes
27CosmostationYes
28coinhall.orgYes
29Interstellar Lounge 🍸Yes
30PingYes
31CrosnestYes
32CryptoDungeonYes
33Uncle EdYes
34POSTHUMAN 🧬 StakeDropYes
35bryanlabsYes
36White WhaleYes
37NFTSwitch.xyz | Delegate for $SOUL Claim DropYes
38Trust NodesAbstain
39InteropAbstain
40BlockdaemonYes
41#decentralizehk - DHK daoYes
42MendelYes
43Binary BuildersYes
44Citadel.oneYes
45Tedcrypto.io 🧸 | TedLottoYes
46Frens (🤝,🤝)Yes
47Stakely.ioYes
48Nocturnal LabsYes
49OldcatYes
50KomikuriYes
51DSRVYes
52PoS NodeYes
53ObiYes
54ElectricYes
55SHUTDOWN_SOONYes
56AlphaNodes🛸Yes
57WhisperNode 🤐Yes
58Lavender.Five Nodes 🐝Yes
59FreshSTAKINGYes
60CryptoCrew Validators ✅Yes
61Oni ⛩️Yes
62KalpaTechYes
63CoverletYes
64[Beehive_Official]Yes
65Margined ProtocolYes
66blockscapeYes
67ProvalidatorYes
68Node GuardiansYes
69in3s.comYes
70Active NodesYes
71MeriaYes
72Vitwit (Previously Witval)Yes
73OmniFlix NetworkYes
74IcyCRO 🧊Yes
75SpectrumXYes
76NansenYes
77polkachu.comYes
78ztake.orgYes
79GATA HUBYes
80Smart Stake 📈📊Yes
81Imperator.coYes
82InterblocYes
83Leonoor's CryptomanYes
84CommunityStakingAbstain
85QuebecYes
86ushakovYes
87ECO Stake 🌱Yes
88ChihuahuaYes
89Kintsugi NodesYes
90AutoStake 🛡️ Slash ProtectedYes

View: