Weekly Dev Update #18
THORChain Weekly Dev Update for Week 12–18 Nov 2019
Overview
Since the Feature Freeze last week, the team have been trimming any feature that hasn’t yet been implemented and isn’t critical for the success of ChaosNet:
- Asymmetrical Withdrawals
- Internal Arbitrage
- Fee-based Transaction Ordering
Tests
The team are investing heavily into building out a strong test framework. The following tests are done on the codebase:
- Unit tests on individual functions
- Integration tests that test across the system
- Smoke tests using a mock Binance Node
- Smoke tests using a real Binance Node on testnet
The Smoke Tests (where there is smoke, there is fire) go through 36 different transactions and test for exact balances at each step:
- Wallet and Vault Balances on Binance Chain
- Pool Balances in state on THORChain
- Pool and Bond rewards
- Fees collected
This ensures that THORChain is processing all transactions, down to the smallest unit, exactly as planned. The complexity around gas handling is even tracked.
More information will be shared soon on the full extent on the Smoke Tests.
THORChain Development
The team are working on 4 parallel streams of effort. Cross-chain infrastructure has now been merged into a single repo called “THORNode”.
- THORChain
- Midgard Public API
- Threshold Signature Scheme implementation
- Front-end Integration for BEPSwap
THORChain
More work to clean up Yggdrasil edge cases, shift from admin config to global constants, add an ability to fund the Reserve as well as refactoring how Gas is tracked. The new method lets the Signer module choose how to send the transaction (multi-send or single). The observer then follows up with a gas observation, which is then deducted from the BNB pool. The deficit is then paid for by the Pool Rewards, depositing Rune into the BNB pool and buying it back off the market so BNB Stakers are penalised. This method is nicely abstracted to handle future PoW chains where gas fees are harder to reason about.
- 202-issue Don’t fund yggdrasil pool if we have less than MinimumNodesForYggdrasil
- 205-issue remove validator related setting from admin config, use const instead
- [ADD] add reserve memo
- add pool address to pool pub keys
- [ADD] Different emission curve and gas calculation
Midgard Public API
Midgard team have been very busy, rapidly building out the remainder of the endpoints:
- Add: Support for the BEPSwap endpoint.
- Add: Feature/v1/pools
- Add: Feature/ginkgo
- Updated: The name of the global stats endpoint.
- Add: TX Endpoint for viewing transaction data.
- Add: Feature/v1/assets
- Added: QA
- Add: Return the date a staker first staked.
- Add: Previously missing implementations for pool data (24hr and 12m).
- Add: Filtering implementation for TxID and Asset.
- Add: Missing Staker methods for ROI and earnings.
Threshold Signature Scheme
The TSS team have successfully re-implemented the TSS using the Binance Go-TSS library:
Frontend Implementation
More bug-fixes and tweaks from community feedback. Implementation with the latest Midgard API has begun.
- Resolve “Update token dropdown component”
- Resolve “Update slip limit from 30 to 3 percent”
- Resolve “Fix swap page UI”
- Resolve “Fix token card style in the stake page”
- Resolve “Update stake page share panel”
- Resolve “UPDATE: Network Dropdown Titles”
- Resolve “ADD: Sorting of columns in pool list”
- Resolve “ADD: Sorting of columns in pool list”
- Resolve “FIX: Close token selection drop down when clicking outside”
Timelines
The team are working for these milestones:
- Feature Freeze: 20 November 2019
delivered
- Internal Audit: 20 December 2019
on-time
- ChaosNet: 03 January 2020
on-time
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