From this phase everyone can contribute to the development of the Gulden Wallet. Progress and code: https://github.com/Gulden/gulden-official/tree/2.3_development
The new wallet interface will use Electron. This means that our backend must be able to connect to all functions on the frontend. All those connections need to be built. A new system always brings bugs and they have to be fixed. There is a known bug where windows wallets crash during mining and holding (witnessing). Unfortunately, there is still too little information to fix this bug. This means monitoring and testing, which takes quite a lot of time.
The iOS app has been completely rebuilt. The interface is completely new and there are several improvements in terms of ease of use and performance.
Since the last unity version, the wallet for iOS had synchronization problems. We have been able to find out what caused this and make adjustments.
CORE: Fix a crash in SIGMA verification code that could be triggered in some (relatively rare) instances
RPC: Hide various “hidden” developer RPC commands from the autocomplete
RPC: Introduce a new command “repairwitnessaddress” that can be used to repair a wallet if the witness key for a witness address is not available while wallet is locked (which is required for witnessing)
RPC: Extend “validateaddress” command to give more information for witness addresses
CORE: Minor improvement when renewing witness accounts; check for and repair any instances of missing witness key when doing a renewal
There has been a lot of testing and trying to get information about the wallet crash in the Windows version. Eventually we were able to find out what caused it and solve it. The problem turned out to be for all operating systems, but with Windows this came up faster.
Gulden used a checkpoint system to increase the security of the network. The implementation of PoW2 makes this system unnecessary. The Gulden Advisory Board decided that the checkpoint system could be removed. This required a change in the software and a hard fork.
Bittrex required a special functionality in the Gulden Wallet. This was developed and we provided support for its implementation. The Gulden wallet was in maintenance mode at Bittrex during this period. As a result, we prioritized this development and were able to realize it within a few days.
With the full implementation of Phase 5, the code had to be cleaned up and stripped of parts aimed at the transition and previous phases. Various optimizations were also implemented.
DELTA was changed to using witness timestamps (which are more accurate than PoW timestamps) for difficulty adjustment, as per the original PoW2 whitepaper. Also better accounting for difficulty drop in previous long blocks when calculating difficulty and to soften up some of the rules that were necessary to counteract jump pools. This makes difficulty adjustment smoother.