This milestone implements the graphical user interface elements for SHIELD: adding shielded transactions and addresses (own addresses and contacts) creation and management visual workflows, and shielded balances presentation.
This also means that PIVX is ever closer now to releasing SHIELD and its new wallet (v5), which will occur after thorough testing has been performed.
The following points are covered in this massive PR (divided by areas):
Visual interface:
- Transaction record shielded types (shielded send, shielded receive, shielded send to self), shielded credit and debit amounts connected, shielded address decryption + cache.
- Dashboard transactions list and model modified to accept the new records types.
- Adding shielded balances to the model balances cache structure.
- Shielded balances connected to the topbar amounts.
- Bubble popup showing shielded and transparent amounts.
- Receive screen: shielded addresses generation, set/change label, copy and show wallet's shielded addresses list.
- Shielded addresses inputs validation.
- Contacts screen: creation, search and filter shielded address contacts.
- Contacts dropdown showing shielded addresses.
- Send screen shielded spend implemented.
- Transaction creation moved to a worker thread.
Wallet:
- IsMine for sapling addresses.
- GetAvailableBalance filtered by shielded amounts.
- GetUnconfirmedBalance filter for transparent and/or shielded.
- New shielded outpoint GetDebit, GetCredit methods.
- New GetAvailableShieldedBalance and GetUnconfirmedShieldedBalance.
- Decrypt only shielded address from note.
Addressbook:
- Shielded addresses capabilities.
- Shielded receive and shielded send new purposes.
- Variant CWDestination generalization to be able to store shielded and regular addresses.
RPC:
- getbalance added an includeShielded flag.
PIVX is a cutting edge User Data Protection oriented blockchain project and cryptocurrency. Launched in January 2016, it has delivered unparalleled transaction privacy and obfuscation algorithms deployed on a Proof of Stake blockchain, which allows users of PIVX to fully protect their sensitive data including personally identifiable data as well as financial data from floating around freely on the web. This protection comes through PIVX SHIELD, which is a highly customized anonymity protocol based on zk-SNARKs Sapling. PIVX is also an open-source and decentralized autonomously organized (DAO) project featuring community governance mechanisms and multi-purpose masternodes.