Direct IBC deposit
This merge request enables users to directly send assets via IBC into a cosmos vault (on gaia) by additionally observing MsgRecvPacket messages for FungibleTokenPacketData, which saves one transaction.
Bifrost converts the senders original source chain address to gaia native cosmos1... addresses which are used for pairing and withdrawals.
Example deposits on Gaia and Neutron public testnet:
- Deposit 0.1 NTRN via IBC (create pool):
- Deposit 0.03 & 0.07 NTRN via IBC from different addresses in the same block on gaia:
- Ragnarok, sending 0.2 NTRN back to depositors
cosmos1...addresses on gaia:
Summary by CodeRabbit
-
New Features
- Added support for additional Cosmos SDK message types, including IBC-related messages, enabling comprehensive handling of IBC fungible token transfers.
-
Improvements
- Enhanced transaction processing logic for improved robustness and clarity, including better error logging and unique identification for multiple deposits in a single transaction.
- Updated transaction ID handling to support Cosmos hashes with appended identifiers.
Edited by Ghost User