To keep the community updated on my progress, I will be posting weekly in this thread. Here’s what I’ve been doing in week 1:
Node API: Don’t error on missing output. When the wallet queried a node to sync the status of its outputs, any output that aren’t confirmed (yet) would show up as an error in the logs. This alarmed users unnecessarily and had the side effect of suppressing real errors such as data corruption. This is now fixed.
Wallet: fix sending to https wallets. Unfortunately in v3.1.0 sending to any https listener would give errors. After some investigation it turned out that the underlying problem was caused by a dependency. A new version of the wallet, v3.1.1 will be released shortly which addresses this.
Wallet: detect and display reverted transactions. In short: any confirmed transactions that suddenly disappears due to a re-org will now show up as “reverted”. Running the “info” command will also show these funds. If the transaction is included in a block again it will also be updated in the wallet. For more information, see the pull request.
Grinscan: linking in/outputs. This work is not done on a public repostitory like the others but since it helps anyone in the Grin ecosystem I’m mentioning it anyway. Since this week Grinscan is performing a rudimentary analysis of mainnet block contents, by comparing the inputs/outputs/kernels with previously broadcasted transactions and grouping them accordingly. This will allow anyone to check if and how much pre-fluff aggregation occurred for their transaction. Here’s an example block without aggregation: https://grinscan.net/block/590958 and an example with aggregation: https://grinscan.net/block/591102
See you next week!