Weekly Dev Update #30
THORChain Weekly Dev Update for Week 11–17 Feb 2020
Overview
The team spent the week building out a complete THORChain implementation in python, called Heimdall. This will allow the team to test and validate all outputs of THORChain in order to ensure the state machine is operating as designed.
With recent news of FCoin Exchange becoming insolvent due to what appears was a backend accounting error that allowed users to withdraw more than what they should, testing and validating for 100% funds accounting is a top priority for the project.
The team are also still implementing a solution to improve THORChain TSS reliability.
Heimdall
As discussed, this implementation is primarily to mock a complete THORNode in python so that funds accounting can be validated. The week’s merges are below.
- Do 1 transaction and compare its correct
- Adds “add” handler
- add rest of the swap runs
- add unstake transactions
- refactor and cleaning up
- Add smoke tests to a live thorchain
- Add integration tests
- reorder withdraw transactions
- fix linting errors
- Add health checks
- Use logging instead of print
- [refactor] remove expected num of outs
- [refactor] Breakpoint cleanup
THORNode
Work for the week on THORNode include on-going bug fixes, as well as more enhancements to the Observer.
- [bugfix] fix gas event from not emitting
- [testing] remove tx 20, testing GSL
- Fix CI mixing env
- Fix tss flag removed
- [refactor] use custom asset json
- [Testing] Drop smoke tests for Heimdall implementation
- Resolve “[FIX] Double swap events wrong”
- [FIX] Use tradeTarget of 0 on first swap of double swap
- Multi-chain observer
- GetAccount multi-chain
- Refactor observer
BEPSwap
The team spent the week working on the typescript refactor, as well as ongoing QA fixes and tweaks. BEPSwap is a maturing codebase and is mostly complete, pending testnet release.
- Resolve “Switch swap util.js into typescript and add test”
- Migrate `getCreatePoolTokens` to TypeScript
- Migrate `basePriceSelector` into TypeScript
- Migrate `TradeDetail` into TypeScript
- Resolve “Refactor `stringHelper` from js to ts”
- Resolve “Update to latest json structure of `asset`”
- Resolve “Remove sources of `src/containers/Trade`”
- Fix names of icons + routes
- Resolve “Fix navigation to Pools page”
- Resolve “switch withdraw token from BNB to RUNE”
- Fix: Loading state of `WalletView` never finish
- Quick fix: Don’t re-assign `target` from `symbol` again
- MIgrate `PoolCreate` into TypeScript
- Resolve: “Cannot add stake to pools”
- Resolve “Update: Migrate color, format, memoHelpers to typescript”
- PoolView: Wallet has to be connected
- Remove slider for tuning pool price
- Resolve “Fix: Swap invalid — Slip is too high”
- Resolve “REMOVE: Advanced tab on pool/stake screen”
- Resolve “FIX: Exchange rate incorrect (zero) on swap page”
Asgard Wallet
Asgard Wallet is now fully open-source and can be built by anyone. The team are preparing for a Beta release this week.
- Resolve “Update to Meteor 1.9 + fix dependencies”
- Improvements to ui: #3 #2 #16 #17 #12 #26
- Feat/ui improvements #1 #6 #19 #37 #38 #39 #42
- Feat/add asset select #9
- fix Issue 21
- Feat/view improvements #19 #36 #48 #49
- Feat/release prep
Bounty Program

The team announced the THORChain Developer Bounty Program and have placed a number of bounties on the Asgard Wallet codebase:
More bounties will be placed soon.
Audit
Code Review: 3/4 Review Complete
Economic Review: Commenced
TSS Audit: delayed pending TSS re-design
Next Milestones
The updated testnet is in the final stages of testing. The current blocker to release is the re-design of THORChain TSS to achieve the reliability metrics the team want. A solution is being implemented for this.
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