Code:
Name: LRP - Duddino
Term: 3 Cycles
Cycle Amount: 30,000
Total Amount: 90,000
Author: JSKitty, Duddino
Receiver: Duddino
Address: DShxa9sykpVUYBe2VKZfq9dzE8f2yBbtmg
Created: 13-2-2025
Status: Active
Vote Hash: 3bfb9b18974a68ff164c8a6bf4feaa270e1410898d67bb2000730c6a59db0ecf
This is a continuation of my previous proposals, the last one being here.
My PIVX Wallet
These past months were focused on resolving a large backlog of December Release MPW bugs, as well as adding new features like Multi-Masternode support, Ledger fixes, Governance fixes and CSV TX History Exports.
The PRs are as follows:
- Accept X-Content-length as fallback - https://github.com/PIVX-Labs/MyPIVXWallet/pull/485 - Allows displaying shield sync progress bar when the response is compressed
- Don't allow big txs on ledger - https://github.com/PIVX-Labs/MyPIVXWallet/pull/488 - If MPW tries to send a big tx on ledger, it will get stuck and not display any errors. To prevent this, large txs will automatically be rejected and the user will be warned
- Change bytes to num function - https://github.com/PIVX-Labs/MyPIVXWallet/pull/499 - This fixes a weird bug where the Firefox JS engine would sometimes give the result to the bytesToNum function.
- Fix unstake auto unlock - https://github.com/PIVX-Labs/MyPIVXWallet/pull/504
- Fix (Un)stake balance alert - https://github.com/PIVX-Labs/MyPIVXWallet/pull/510 - Fixed a misleading notification
- Add loading bar to shield params download - https://github.com/PIVX-Labs/MyPIVXWallet/pull/511 - For a smoother, clear Shield Params download process.
- Add restore wallet prompt when creating a proposal - https://github.com/PIVX-Labs/MyPIVXWallet/pull/512 - For a smoother proposal submission flow
- Lock mn collateral - https://github.com/PIVX-Labs/MyPIVXWallet/pull/513 - To prevent accidental spends of one's MN collateral
- Disallow non numeric inputs in transfer menus - https://github.com/PIVX-Labs/MyPIVXWallet/pull/514
- Fix bug where alerts would pop up again when manually dismissed - https://github.com/PIVX-Labs/MyPIVXWallet/pull/515 - For smoother notifications
- Add multi masternode - https://github.com/PIVX-Labs/MyPIVXWallet/pull/517) - Adds multi-masternode support to MPW
- Fix NaN field when omitting amount url param - https://github.com/PIVX-Labs/MyPIVXWallet/pull/518 - For a less confusing experience using MPW Payment Requests
- Fix shield balance not updating properly - https://github.com/PIVX-Labs/MyPIVXWallet/pull/519 - For faster Shield balance changes
- Do not delegate change when unstaking ledger - https://github.com/PIVX-Labs/MyPIVXWallet/pull/520) - Because Ledger can't actually delegate, unsupported at the firmware level
- Add popup for immature stakes - https://github.com/PIVX-Labs/MyPIVXWallet/pull/521 - To clarify when a balance portion is 'locked', aka, maturing, from a recent stake
- Fix proposals creation flow - https://github.com/PIVX-Labs/MyPIVXWallet/pull/523 - For consistent, stable proposal submissions
- Fix currency rounding - https://github.com/PIVX-Labs/MyPIVXWallet/pull/524 - For more accurate currency displays
- Add Koinly compatible CSV export - https://github.com/PIVX-Labs/MyPIVXWallet/pull/525 - For improved accounting and/or tax service integration.
- Ledger queue - https://github.com/PIVX-Labs/MyPIVXWallet/pull/527 - Add a queue for ledger commands send by MPW to avoid it getting multiple commands at a time.
PIVX Shield Library
The librustzcash backend was updated, and the PIVX/wasm changes were rebased again.
This is to allow us to update to the new dependencies and use the newer rust versions, since the old librustzcash capped that.
- pivx-shield update - https://github.com/PIVX-Labs/pivx-shield/pull/98
- librustzcash update - https://github.com/Duddino/librustpivx/pull/7
Additionally, the following PRs were made:
- Add other instances for downloading shield params - https://github.com/PIVX-Labs/pivx-shield/pull/94/
- Allow external sapling prover download - https://github.com/PIVX-Labs/pivx-shield/pull/97 - Also allow dependencies to use other instances, other than the ones coded in the library (This also allows for shield params loading bar to be possible in MPW)
MPW Tauri Full Node
MPW Tauri is now at the MVP stage for transparent MPW. This version of MPW is designed to operate independently of external services after the initial download.
A PIVX node runs in the background to support MPW, ensuring that even if all of Labs' services go offline, users can still recover their funds.
As of this proposal, this applies to transparent inputs, while Shielded transactions still require the node, for syncing.
- Improve syncing by adding gap - https://github.com/PIVX-Labs/MPW-Tauri/pull/23
- Add sync loading bar - https://github.com/PIVX-Labs/MPW-Tauri/pull/24
- Fix RPC tx serialization - https://github.com/PIVX-Labs/MPW-Tauri/pull/25
- Fix sqlite not inserting vins properly - https://github.com/PIVX-Labs/MPW-Tauri/pull/26
- Fix blockfile source and remove recursion - https://github.com/PIVX-Labs/MPW-Tauri/pull/27
- Improved Local Sync - https://github.com/PIVX-Labs/MPW-Tauri/pull/29
- Keep syncing after initial sync - https://github.com/PIVX-Labs/MPW-Tauri/pull/33
- Add topological sort for tauri network txs - https://github.com/PIVX-Labs/MPW-Tauri/pull/35 - basically if two txs are in the same block, and tx1 one spends tx2, tx1 should always go after tx2 (While this order is guaranteed in a block, the block order is not preserved in the index).
PIVX Core
As mentioned in the previous proposal, I am keeping up with backports for PIVX core:
- https://github.com/PIVX-Project/PIVX/pull/2956
- https://github.com/PIVX-Project/PIVX/pull/2960
- https://github.com/PIVX-Project/PIVX/pull/2961
- https://github.com/PIVX-Project/PIVX/pull/2962
- https://github.com/PIVX-Project/PIVX/pull/2963
Last edited: