ADD: Memoless transactions using YGG sub-addresses
Current
Users need special wallets in order to send memos for some chains. Almost no Bitcoin wallets access OP_RETURN, no Monero wallets access extra_data, Litecoin, Bitcoin Cash etc.
However it is trivial to add a memo to an ETH or BNB (or THOR) transaction.
Desired
Users can send memo-less transactions to interact with THORChain.
- They first send a memo on a chain that is easy (ETH, BNB, THOR) "I want to swap from BTC to XMR, here is my XMR address)
- The state machine delegates a ygg-node to prepare a subaddress (HD derivation, bump the index), single-use.
- The ygg-node publishes their subaddress
- Midgard indexes the event, interface refreshes, QR code can be displayed
- User can send funds to that address up to 30 days (when the ygg node is churned out). Any funds received are scanned, swaps processed.
- Deposits become part of that nodes' ygg funds, returned when churned out
This means --- any wallet can do any swap on any asset, no memos. User just needs to spend 15 seconds on a DApp (using Eth, RUNE or even a BNB tx, doesn't matter, it's just the memo), and get a deposit address they can use for around max 30 days to do memo-less swaps.
Security
- Asgard should choose a node with the highest spare security
- Ygg node makes a THOR tx publishing their address - if it is fake/bad, then they will be slashed if they can't move those funds back to asgard when churning out
- Midgard should display to user the maximum recommended deposit size - which is the spare security of the node)