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
Number: SIP-0002
Title: SIP EVM IBC Transfer Proposal
Type: Informational
Status: Living
Authors: Bohdan Kurinnyi <[email protected]>
Created: 2024-01-05
Abstract
IBC Transfers allow to execution of transactions across different cosmos networks, mostly with the supported tokens inside of the blockchain. The proposal extends an opportunity for this type of transfer to use them more and in a more easy way, without a deeper understanding of internals.
Motivation
From the implementation for the prepay, we have an opportunity to support IBC transfers with corresponding opcode and perform as execution of IBC transfers via smart contracts. This will extend smart contract capabilities to bridge native STOS via different cosmos networks through the DApps.
Rational
EVM IBC Transfers provides an opportunity to interact with a single method through another smart contract in case of bridging assets to other cosmos chains. Currently, IBC is only available via standard cosmos functionality, but it is more complicated for th ddaps to be integrated because of:
No atomic execution (should be done on server checks);
Could not be executed via smart contracts (as there is no interaction between evm tx with cosmos tx as different handling)
Gas prediction stability
I assume that some of the executions should be redone and used with a new evm.StateDB.GetKeestateDB() to have a snapshot revert in case of some step failure.
SIP-0002 : SIP EVM IBC Transfer proposal
Abstract
IBC Transfers allow to execution of transactions across different cosmos networks, mostly with the supported tokens inside of the blockchain. The proposal extends an opportunity for this type of transfer to use them more and in a more easy way, without a deeper understanding of internals.
Motivation
From the implementation for the prepay, we have an opportunity to support IBC transfers with corresponding
opcode
and perform as execution of IBC transfers via smart contracts. This will extend smart contract capabilities to bridge native STOS via different cosmos networks through the DApps.Rational
EVM IBC Transfers provides an opportunity to interact with a single method through another smart contract in case of bridging assets to other cosmos chains. Currently, IBC is only available via standard cosmos functionality, but it is more complicated for th ddaps to be integrated because of:
I assume that some of the executions should be redone and used with a new
evm.StateDB.GetKeestateDB()
to have a snapshot revert in case of some step failure.Body
NOTE: Not a final, so some params from these specs should be taken into account:
https://github.com/cosmos/ibc/blob/main/spec/app/ics-020-fungible-token-transfer/README.md
https://github.com/cosmos/ibc/blob/main/spec/app/ics-721-nft-transfer/README.md
One of the short examples that could be used to interact with IBC via solidity:
In
keeper_amplifier.go
also corresponding opcode should be registeredopcodes.go
in
jump_table.go
:and implementation
instructions.go
References
In continuation with: stratosnet/stratos-chain#337
The text was updated successfully, but these errors were encountered: