Weekly Dev Update #33
THORChain Weekly Dev Update for Week 03— 09 Mar 2020
Overview
The team have spent the week integrating the new TSS module (as well as pulling in changes from Binance TSS-LIB which fixed a vulnerability) and feel quite happy with the reliability of the new software. They have successfully tested the system in a variety of environments.
The team anticipate the TSS will be ready for its audit in the next few weeks.
THORNode
Work for the week was in fixing issues found in tests and from integration of the new TSS module:
- [refactor] Embed tss keysign
- remove code coverage
- Pubkey manager tests
- Force smoke test in docker image
- Probabilistic churn in selection
- check outhash before attempting a sign
- [refactor] remove tx search from the observer
- Fix binance tx hash generation
- dependency update
- update go-tss version
- Build faster
- Binance testnet compose
- add code coverage report and go report card badges for gitlab-ci
- [refactor] more consistent TSS signer selection
- Turn off retryable logger in bifrost
- Signer tests
- [bug] lock process transactions
- fix marking migrate tx with an outhas
- [bug] retrying a tx shouldn’t take transaction fee again
- improve signer list sorting
- [feature] support storing acct/seqnum for multiple binance accounts
- update go-tss version
- update ragnarok event details
- [bugfix] txs into non-asgard or inactive vaults should be ignored
- update the preparam , the one generate with new tss-lib is much longer
THORChain TSS
THORChain TSS work was spiked to finish the new build and was successful in fully implementing it. Support for Parallel Signing was also built.
- Resolve “Ceremony struct optimization”
- 49-issue avoid passing peers and threshold across the wire
- Resolve “Panic, slice out of range”
- 59-issue add a line to print out the key sign request
- Resolve “Log msg ID”
- 40-issue Add a component that can notify the TSS nodes who are not part of key sign party
- if not enough signers, quit the keysign
- Resolve “get blame schem in coordination needs to be improved”
- Resolve “move joinparty to tss.go as both keygen/keysign use this function”
- 57-issue add MessageIDSubscribers to fix map concurrent access cause panic
- Resolve “Wire up signature notification with key sign”
- Resolve “panic: runtime error: invalid memory address or nil pointer dereference”
- 66-issue enable parallel key sign
- 65-issue update tss-lib to 1.3.0
BEPSwap
BEPSwap iterates to
- Fix handling of `CoinList` selected property
- Select assets / pools in wallet view depending on current route
- Add tests for `getCreatePoolCalc`
- Migrate `TokenCard` + `Trend` into TypeScript (incl. other fixes)
- Fix asynchronous handling of Binance client incl. migration to TypeScript
- Resolve “ADD: Core components for transaction page”
- Migrate more Pool utility functions to TypeScript (incl. tests)
BEPSwap now has a Transaction Page:

Asgard Wallet
A large part of the work for the week was finishing the conversion to Typescript and updating the codebase to use React.
The wallet now supports Freeze/Unfreeze Transactions, which is necessary for RUNEVault:

Work will begin soon to prepare the wallet for Mainnet release.
Bounty Program
There are currently open bounties on Asgard Wallet codebase:
Issues · THORChain / Asgard WalletAsgard WalletAsgard Walletgitlab.com
Audit
Code Review: Complete
Economic Review: Commenced
TSS Audit: expected to begin soon
Next Milestones
The updated testnet is in the final stages of testing. Chaosnet is expected once testnet has been fully-validated in several environments. There currently isn’t any known blockers to Chaosnet release.
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