Weekly Dev Update #25
THORChain Weekly Dev Update for Week 06–13 Jan 2020
Changes
No significant changes to report.
THORChain
Binary Work
Work was done to clean up the way messages are passed up to the console to better help with debugging. Pool status was also moved from an admin config setting to the constant file, since it is unlikely to be changed. A CLI command for operators to query the latest constants was also added.
- [ADD] Add more accurate refund messages
- [ADD] provide more descriptive message to refund for stake and unstake
- [ADD] provide better refund message for memo
- switch DefaultPoolStatus from admin config to constant
- cli command to get constants
Bug Fixes
The main bug handled during the week was how the network handles sequence numbers (nonces) on BinanceChain. If the sequence numbers ever get out of sync the outgoing transactions can fail and effectively lock up funds. More logic was built in caching sequence numbers to prevent this from happening.
ChaosNet
Since ChoasNet has some differences to Main-net, to prevent divergence occuring on the binary build flags are now used to set the required ChaosNet parameters.
TSS
Work has commenced on building out the necessary code to detect blame on key-generation and key-signing routines. With blame in place, if a ceremony is ever aborted, the party-at-fault can be identified and reported. If consensus is reached on who to blame, they can then be penalised and removed. Blame will remove an attack vector where colluding nodes can halt churn.
BEPSwap Interface
More work that comes out from the QA process is being addressed to ensure BEPSwap is error-free and very elegant to work with. Although BEPSwap is a simple interface, it deals with multiple sources of information in an asynchronous setting and there is a lot of logic to make this as seamless as possible.
- Resolve “Update cypress test”
- Resolve “Update price calc logic based on the selected token”
- Resolve “Responsive issues on pool screen”
- Resolve “FIX: Staking modal doesn’t appear when adding pool”
- Resolve “FIX: Suggested staking ratio”
- Resolve “Update base price token selector”
Churn Testing
A lot of testing and validation has gone into testing the churn logic of THORChain. Difficulties arose from the original plan to have a 4-node genesis cluster deployed by docker due to the way docker shields IP addresses from the p2p network. The solution has been to use docker to deploy a single-node network, then begin churning in genesis nodes 2–4 to get it into the BFT state. At this point, external nodes can churn in and take over the network.
Audit
Code Review: Commenced
Economic Review: in discovery
TSS Audit: early discussion
Next Milestones
The updated testnet is in the final stages of testing.
Community
To keep up to date, please monitor community channels, particularly Telegram and Twitter:
- Twitter: https://twitter.com/thorchain_org
- Telegram Community: https://t.me/thorchain_org
- Telegram Announcements: https://t.me/thorchain
- Reddit: https://reddit.com/r/thorchain
- Github: https://github.com/thorchain
- Medium: https://medium.com/thorchain