What's new

Active LRP - Duddino


Staff member
Name: LRP - Duddino
Term: 3 Cycles
Cycle Amount: 30,000
Total Amount: 90,000
Author: Duddino, Mirela
Receiver: Duddino
Address: DShxa9sykpVUYBe2VKZfq9dzE8f2yBbtmg
Created: 03-03-2024
Status: Active
Vote Hash: 522a4c8102bd75d3d49ff2d21e647bbbd2f38c0d8d0befdeb1b71e2168e61fc8

This is a continuation of my previous proposals, the last one being here.

MPW Shield

MPW Shield support was merged into master and is now available in the 1.5 version of MPW!
A big UI overhaul is in development and will mark the 2.0 release, but I will not be personally involved in this.

Nevertheless, I will keep working on improving the 'backend' shield experience, this includes:
- Memo support.
- Improve transaction history (Activity) with shield transactions.
- Improve the way the pivx shield library is compiled to ensure that no single person can inject malicious code in the webassembly. As of right now, wasm binaries are taken from the Github Actions builder, and anyone can check that I uploaded those binaries, and not some other malicious code. However, it is potentially possible, even if not at all likely, that Github itself may tamper with those binaries.
- Fix any bugs.

In the past 3 cycle, the following Shield PRs were submitted or worked on:
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/244 - Shield support itself, of the 116 commits, around 35 were made in the past 3 cycles by me.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/295 - Add shield data in MPW transactions. This means that MPW deserializes shield data transactions correctly.
- https://github.com/PIVX-Labs/pivx-shield/pull/78 - Add memo support to transactions, this is in the library, and a subsequent PR on MPW is required.
- https://github.com/PIVX-Labs/pivx-shield/pull/75 - Fix an issue with the vite build system requiring a main option in the package.json.
- https://github.com/PIVX-Labs/pivx-shield/pull/77 - Improvement to the Makefile.

MPW Work

I am continuing the work on improving the MPW test suite. Many of the critical areas of the code have been fully covered, like transactions, database and wallet.

Now that the Shield work is mostly done, in the next cycles, I will focus my work on:
- Continuing the Vue port.
- Refactor the masternode system, to be less prone to breaking and support multiple masternodes.
- Implement an account system, in order to be able to add more accounts, by deriving them according to BIP32, or by simply adding other, extended or not, private keys. This will also allow the generation of shield accounts without having to regenerate the wallet in case of legacy wallets.

Other improvements to MPW were made:
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/284 - Refactor the transaction system by unifying the way transaction are made and signed across shield/ledger/transparent txs. This system was needed in shield to avoid writing spaghetti code.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/285 - add database tests.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/286 - Fix vitest occasioanal segfault.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/287 - Move chain_params to an external json file. This is needed for Docker build, and is useful if one wants to use a custom version of MPW (i.e. different explorers, different coin, etc) without editing the source code.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/288 - Build a docker network for MPW in a regtest, complete with pivx node, explorer and RPC node.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/290 - (Work in progress) This adds e2e tests using the cypress framework. These tests use the whole site as opposed to parts of it, with minimal mocking. This is marked as a work in progress, as I had a few issues with the blockbook explorer not being reliable enough to do automated tests with. I will likely proceed by mocking the network requests.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/291 - Mempool refactor, aiming to simplify the mempool relationship with the wallet class.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/292 - Enable undelegation in hardware wallets.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/293 - Bump github actions to v4.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/294 - (Work in progress) Add a transaction description box when clicking it in the activity.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/297 - Add exchange address support, as per 5.6 PIVX upgrade.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/299 - Update to protocol version 50927, as per 5.6 PIVX upgrade.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/301 - Fix UTXO detection in masternodes.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/302 - Cache transaction id for faster loading in bigger wallets.
- https://github.com/PIVX-Labs/MyPIVXWallet/pull/303 - Use union merge driver for .toml files.


I helped release the 5.6 PIVX update by fixing some last minute bugs, specifically:
- https://github.com/PIVX-Project/PIVX/pull/2904 - Fix uninitialized booleans.
- https://github.com/PIVX-Project/PIVX/pull/2906 - Fix a crash due to optional memo not being checked.
- https://github.com/PIVX-Project/PIVX/pull/2908 - Fix exchange address activation.
- https://github.com/PIVX-Project/gitian.sigs/pull/116 - (see also #111, #113) 5.6.0 & 5.6.1 Gitian signatures.
Last edited: