You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current module is native Go instead of virtualized CosmWasm, leading to issues like coordinated upgrades whenever a change is made.
Limited to single denom transfers:
Inability to batch transfer packets.
Relayers must transfer 1:1 packet for each denom.
Users need to pay for an IBC packet for each denom.
Lack of atomic transfer capability for multiple denoms.
Inefficient JSON encoding (solidity is smilling).
Solution: Token Factory + UCS-01 Relay
To create a CosmWasm equivalent of the ICS20 native module, a solution was sought to allow contracts to create native denoms. This is where the Token Factory comes into play—a native Go module that implements the feature of creating arbitrary denoms for users and contracts.
The UCS-01 extension is not just a mere reimplementation of ICS20 but rather an enhancement. Considering the need to send/receive tokens from the Ethereum Virtual Machine (EVM), the ICS20 specification has several drawbacks (as previously mentioned). The JSON encoding of packets is suboptimal, but the most critical aspect is that in the EVM, the cost of submitting a packet is significantly higher than in Cosmos chains. Therefore, the ability to batch token transfers becomes essential.
The UCS-01 relay contract will implement both the ICS20 standard (for seamless communication with ICS20-compatible chains) and a custom ICS20 variant for use between Union and the EVM. This approach not only unlocks batch transfers but also facilitates easy upgrades through contract migration via governance, eliminating the need for coordinated upgrades by validators.
Furthermore, UCS-01 can be extended in the future to support other networks with different requirements.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
IBC - Token Transfer
ICS20 (TLDR: Broken)
Solution: Token Factory + UCS-01 Relay
To create a CosmWasm equivalent of the ICS20 native module, a solution was sought to allow contracts to create native denoms. This is where the Token Factory comes into play—a native Go module that implements the feature of creating arbitrary denoms for users and contracts.
The UCS-01 extension is not just a mere reimplementation of ICS20 but rather an enhancement. Considering the need to send/receive tokens from the Ethereum Virtual Machine (EVM), the ICS20 specification has several drawbacks (as previously mentioned). The JSON encoding of packets is suboptimal, but the most critical aspect is that in the EVM, the cost of submitting a packet is significantly higher than in Cosmos chains. Therefore, the ability to batch token transfers becomes essential.
The UCS-01 relay contract will implement both the ICS20 standard (for seamless communication with ICS20-compatible chains) and a custom ICS20 variant for use between Union and the EVM. This approach not only unlocks batch transfers but also facilitates easy upgrades through contract migration via governance, eliminating the need for coordinated upgrades by validators.
Furthermore, UCS-01 can be extended in the future to support other networks with different requirements.
Summary
Beta Was this translation helpful? Give feedback.
All reactions