-
Notifications
You must be signed in to change notification settings - Fork 90
Description
Now that Veil has had (for a while) non-core wallets or third-party wallets that operate with RingCT-only we have realised an issue where a RingCT wallet may not be able to handle incoming CT.
A third party wallet (such as Zelcore) may decide to implement additional code to handle CT, and presumably complete the progression to RingCT, something that was raised (for another reason) with issue #1033 where the suggestion was posed to automate CT to RingCT spends.
It seems a reasonable assumption that not all third party wallets might implement the code to automatically send any CT to RingCT, so it may be worth thinking about a workaround for the core wallet where one's own stealth addresses in a core wallet are marked as being CT-capable, and other addresses assumed to be RingCT-only, unless advised otherwise by the intended recipient.
With this in mind, you may send CT to your own core wallet and it could stay in CT, and if sent further it would automatically be sent as RingCT.
If you are an exchange (such as NonKYC) that is known to send RingCT there are no worries for the RingCT-only user, but those depositing to the exchange currently need to be aware that spends from zerocoins or basecoin will arrive as CT, and will therefore be split into two transactions, one or both of which may not equal the exchange's minimum deposit size!
Having the core wallet automating the follow-up spend to RingCT of ALL incoming CT may be the cleanest solution.
An alternative, allowing CT utxos not to be automatically spent to RingCT may be possible when addresses, such as in one's own core wallet, are known to be able to handle CT utxos. This would require all other spends to a stealth address (sv…) to be internally sent to RingCT on an internal (your own) address, and then to be sent to the recipient's stealth address as RingCT.
This alternative would make spends of funds not yet in RingCT to take a little longer to reach the recipient than if all incoming CT would be already sent to your own RingCT balance when received. This way all balances received on a stealth address would be quickly ready to send to any RingCT-only wallet user.
Any solution must target CLI wallet users as well as GUI wallet users.
The original inspiration for Issue #1033 must also be addressed, that is, it should no longer be possible or appropriate for people to send RingCT backward to CT.
Please discuss.